.announcement-page-header { margin-bottom: 1.5rem; }
.announcement-page-header .admin-page-header__copy { max-width: 72ch; }
.announcement-alert, .announcement-error-summary { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-lg); background: var(--lms-surface); }
.announcement-alert--success { border-color: var(--lms-action-success-border); background: var(--lms-action-success-soft); }
.announcement-alert--danger, .announcement-error-summary { border-color: var(--lms-action-danger-border); background: var(--lms-action-danger-soft); }
.announcement-panel { margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-lg); background: var(--lms-surface); }
.announcement-panel--primary { border-left: .3rem solid var(--lms-action-primary); box-shadow: var(--lms-shadow-xs); }
.announcement-workbench { margin-top: 1.25rem; }
.announcement-panel h2 { margin: 0 0 1rem; }
.announcement-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.announcement-section-heading h2, .announcement-section-heading p { margin: 0; }
.announcement-section-heading span, .announcement-badge, .announcement-meta { font-size: .875rem; }
.announcement-step { margin: 0 0 .2rem !important; color: var(--lms-action-primary); font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.announcement-required { color: var(--lms-action-danger); font-size: .85rem; font-weight: 700; }
.announcement-empty { padding: 2rem; text-align: center; background: var(--lms-surface-muted); border-radius: var(--lms-radius-md); }
.announcement-table-wrap { overflow-x: auto; }
.announcement-table { width: 100%; border-collapse: collapse; }
.announcement-table th, .announcement-table td { padding: .875rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--lms-border-subtle); }
.announcement-table th { color: var(--lms-neutral-700); font-size: .875rem; }
.announcement-table td strong, .announcement-table td small, .announcement-table td span { display: block; }
.announcement-table td small, .announcement-meta { margin-top: .25rem; color: var(--lms-neutral-700); }
.announcement-actions { min-width: 12rem; }
.announcement-badge { display: inline-flex !important; width: max-content; padding: .25rem .625rem; border-radius: 999px; background: var(--lms-action-info-soft); color: var(--lms-neutral-900); font-weight: 700; }
.announcement-badge--archived { background: var(--lms-action-neutral-soft); color: var(--lms-neutral-700); }
.announcement-button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--lms-hit-target); padding: .625rem 1rem; border: 1px solid transparent; border-radius: var(--lms-radius-md); font-weight: 700; text-decoration: none; cursor: pointer; }
.announcement-button--primary { background: var(--lms-action-primary); color: var(--lms-action-on-solid); }
.announcement-button--secondary { border-color: var(--lms-action-neutral-border); background: var(--lms-surface); color: var(--lms-neutral-900); }
.announcement-button--danger { background: var(--lms-action-danger); color: var(--lms-action-on-solid); }
.announcement-button:focus-visible, .announcement-form :focus-visible, .announcement-action-details summary:focus-visible { outline: var(--lms-focus-ring); outline-offset: 2px; }
.announcement-action-details { margin-top: .5rem; }
.announcement-action-details summary { min-height: var(--lms-hit-target); display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.announcement-action-details form { display: grid; gap: .75rem; padding: .75rem; background: var(--lms-surface-muted); border-radius: var(--lms-radius-md); }
.announcement-form { max-width: 1100px; }
.announcement-field { display: grid; gap: .4rem; margin-bottom: 1rem; }
.announcement-field label, .announcement-role-targets legend { font-weight: 700; }
.announcement-field input, .announcement-field select, .announcement-field textarea, .announcement-editor__toolbar select, .announcement-editor__link input { width: 100%; min-height: var(--lms-hit-target); padding: .625rem .75rem; border: 1px solid var(--lms-border-strong); border-radius: var(--lms-radius-md); font: inherit; background: var(--lms-surface); color: var(--lms-neutral-900); }
.announcement-field textarea { min-height: 7rem; resize: vertical; }
.announcement-field small { color: var(--lms-neutral-700); }
.announcement-field-error { margin: 0; color: var(--lms-action-danger); font-weight: 700; }
.announcement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.announcement-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.announcement-check, .announcement-role-targets label { display: flex; align-items: start; gap: .625rem; min-height: var(--lms-hit-target); }
.announcement-role-targets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; padding: 1rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-md); }
.announcement-role-targets legend { padding: 0 .4rem; }
.announcement-form-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.announcement-optional { padding: 0; }
.announcement-optional > summary { display: flex; min-height: var(--lms-hit-target); padding: 1rem 1.25rem; align-items: center; cursor: pointer; }
.announcement-optional > summary span { display: grid; gap: .2rem; }
.announcement-optional > summary small { color: var(--lms-neutral-700); font-weight: 400; }
.announcement-optional__body { padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--lms-border-subtle); }
.announcement-optional__body .announcement-grid { padding-top: 1rem; }
.announcement-editor__toolbar { display: flex; flex-wrap: wrap; gap: .5rem; padding: .625rem; border: 1px solid var(--lms-border-subtle); border-bottom: 0; border-radius: var(--lms-radius-md) var(--lms-radius-md) 0 0; background: var(--lms-surface-muted); }
.announcement-editor__toolbar button, .announcement-editor__link button { min-height: var(--lms-hit-target); padding: .5rem .75rem; border: 1px solid var(--lms-border-strong); border-radius: var(--lms-radius-sm); background: var(--lms-surface); color: var(--lms-neutral-900); font: inherit; cursor: pointer; }
.announcement-editor__toolbar select { width: auto; }
.announcement-editor__link { display: grid; grid-template-columns: 1fr auto auto auto; gap: .5rem; padding: .75rem; border: 1px solid var(--lms-border-subtle); background: var(--lms-action-info-soft); }
.announcement-editor__link label { grid-column: 1 / -1; }
.announcement-editor [data-editor-surface] { min-height: 18rem; border: 1px solid var(--lms-border-subtle); background: var(--lms-surface); }
.announcement-editor--enhanced [data-editor-source] { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.announcement-editor .ql-editor { min-height: 18rem; font-size: 1rem; line-height: 1.65; }
.announcement-editor [data-editor-status] { min-height: 1.5rem; margin: .4rem 0; color: var(--lms-neutral-700); }
@media (max-width: 900px) { .announcement-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); } .announcement-editor__link { grid-template-columns: 1fr 1fr; } .announcement-editor__link label, .announcement-editor__link input { grid-column: 1 / -1; } }
@media (max-width: 680px) { .announcement-page-header .admin-page-header__actions, .announcement-page-header .admin-action, .announcement-section-heading, .announcement-grid, .announcement-grid--four { width: 100%; grid-template-columns: 1fr; display: grid; } .announcement-role-targets { grid-template-columns: 1fr; } .announcement-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .announcement-table, .announcement-table tbody, .announcement-table tr, .announcement-table td { display: block; } .announcement-table tr { margin-bottom: 1rem; padding: .75rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-md); } .announcement-table td { display: grid; grid-template-columns: minmax(7rem, 35%) 1fr; gap: .75rem; border: 0; } .announcement-table td::before { content: attr(data-label); font-weight: 700; color: var(--lms-neutral-700); } .announcement-actions .admin-action, .announcement-form-actions > * { width: 100%; } .announcement-editor__link { grid-template-columns: 1fr; } .announcement-editor__link > * { grid-column: 1 !important; } }
@media (prefers-reduced-motion: reduce) { .announcement-button { transition: none; } }

.announcement-public-hero { padding: clamp(2.5rem, 6vw, 5rem) 0; color: #fff; background: linear-gradient(118deg, #082f49, #0d5269 68%, #0f766e); }
.announcement-public-hero .eyebrow { color: #bff5ee; }
.announcement-public-hero h1 { max-width: 16ch; margin: .5rem 0 1rem; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.05; }
.announcement-public-hero p:last-child { max-width: 64ch; font-size: 1.125rem; }
.announcement-public-content { padding: clamp(2rem, 5vw, 4.5rem) 0; background: linear-gradient(180deg, #f4f9ff 0%, #f8fbfe 14rem, #f7fafc 100%); }
.announcement-public-filter { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(13rem, 1fr) auto; align-items: end; gap: 1rem; margin-bottom: 2rem; padding: 1.35rem; border: 1px solid #c9dbea; border-radius: 1rem; background: rgb(255 255 255 / 92%); box-shadow: 0 .75rem 1.75rem rgb(8 59 116 / 8%); }
.announcement-public-filter div { display: grid; gap: .4rem; }
.announcement-public-filter label { font-weight: 700; color: #17324d; }
.announcement-public-filter input, .announcement-public-filter select { width: 100%; min-height: 44px; padding: .625rem .75rem; border: 1px solid #8ca1af; border-radius: .5rem; background: #fff; color: #102a43; font: inherit; }
.announcement-public-filter :focus-visible, .announcement-public-card a:focus-visible, .announcement-detail a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.announcement-public-heading { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); overflow: hidden; border: 1px solid #c9dbea; border-left: .4rem solid var(--lms-account-accent-mark); border-radius: 1rem; background: linear-gradient(120deg, #fff 0%, #eef6ff 100%); box-shadow: 0 .6rem 1.5rem rgb(8 59 116 / 7%); }
.announcement-public-heading::after { position: absolute; top: -4rem; right: -3rem; width: 10rem; height: 10rem; border: 1.25rem solid rgb(20 121 184 / 9%); border-radius: 50%; content: ""; pointer-events: none; }
.announcement-public-heading > * { position: relative; z-index: 1; }
.announcement-public-heading h2, .announcement-public-heading p { margin: 0; }
.announcement-home { position: relative; overflow: hidden; background: var(--lms-surface-muted); border-block: 1px solid var(--lms-border-subtle); }
.announcement-home::before { position: absolute; top: -12rem; right: -9rem; width: 28rem; height: 28rem; border: 3.5rem solid var(--lms-border-subtle); border-radius: 50%; content: ""; opacity: .35; pointer-events: none; }
.announcement-home .container { position: relative; }
.announcement-home__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) repeat(2, minmax(13rem, .85fr)); gap: 1rem; }
.announcement-home__card { position: relative; display: flex; min-height: 100%; flex-direction: column; gap: .75rem; padding: 1.35rem 1.35rem 1.35rem 1.6rem; border: 1px solid #c9dbea; border-radius: 1rem; background: rgb(255 255 255 / 92%); box-shadow: 0 .75rem 1.75rem rgb(8 59 116 / 8%); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.announcement-home__card:first-child { min-height: 17.5rem; padding: clamp(1.5rem, 3vw, 2.4rem); color: #fff; background: linear-gradient(135deg, #082f5e 0%, #0d5a9d 66%, #1479b8 100%); border-color: transparent; box-shadow: 0 1rem 2.5rem rgb(8 59 116 / 24%); }
.announcement-home__card:first-child::after { position: absolute; right: -3.5rem; bottom: -4rem; width: 13rem; height: 13rem; border: 1.6rem solid rgb(255 255 255 / 13%); border-radius: 50%; content: ""; }
.announcement-home__card::before { position: absolute; inset: 0 auto 0 0; width: .3rem; border-radius: .875rem 0 0 .875rem; background: #0f766e; content: ""; }
.announcement-home__card--important::before { background: #b7791f; }
.announcement-home__card--urgent::before { background: #b42318; }
.announcement-home__card > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: #526777; font-size: .85rem; font-weight: 700; }
.announcement-home__card:first-child > div, .announcement-home__card:first-child p, .announcement-home__card:first-child time { position: relative; z-index: 1; color: rgb(255 255 255 / 84%); }
.announcement-home__card > div span { padding: .2rem .55rem; border-radius: 999px; background: #dff7f2; color: #075e54; }
.announcement-home__card:first-child > div span { color: #082f5e; background: #f7d56a; }
.announcement-home__card:first-child > div small { color: #fff; }
.announcement-home__card h3, .announcement-home__card p { margin: 0; }
.announcement-home__card h3 { color: #102a43; font-size: 1.2rem; line-height: 1.35; }
.announcement-home__card:first-child h3 { position: relative; z-index: 1; max-width: 24ch; color: #fff; font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.announcement-home__card h3 a { color: inherit; text-decoration: none; }
.announcement-home__card h3 a:hover { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.announcement-home__card time { margin-top: auto; color: #526777; font-size: .875rem; }
@media (hover: hover) { .announcement-home__card:hover { border-color: #8db9dd; box-shadow: 0 1rem 2.25rem rgb(8 59 116 / 14%); transform: translateY(-3px); } .announcement-home__card:first-child:hover { border-color: transparent; } }
.announcement-public-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.announcement-public-card { position: relative; display: grid; grid-template-columns: 1fr; align-content: start; gap: .8rem; padding: 1.35rem 1.35rem 1.35rem 1.65rem; border: 1px solid #d7e1e7; border-radius: 1rem; background: #fff; box-shadow: 0 .5rem 1.4rem rgb(15 23 42 / 6%); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.announcement-public-card:first-child { grid-column: 1 / -1; grid-template-areas: "meta date" "title date" "summary action"; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: .75rem 2rem; min-height: 12rem; color: #fff; background: linear-gradient(130deg, #082f5e 0%, #0d5a9d 66%, #1479b8 100%); border-color: transparent; box-shadow: 0 1rem 2.25rem rgb(8 59 116 / 23%); }
.announcement-public-card:first-child::after { position: absolute; right: -2.75rem; bottom: -5rem; width: 12rem; height: 12rem; border: 1.5rem solid rgb(255 255 255 / 11%); border-radius: 50%; content: ""; pointer-events: none; }
.announcement-public-card::before { position: absolute; inset: 0 auto 0 0; width: .35rem; border-radius: .875rem 0 0 .875rem; background: #0f766e; content: ""; }
.announcement-public-card--important::before { background: #b7791f; }
.announcement-public-card--urgent::before { background: #b42318; }
.announcement-public-card__meta { display: flex; flex-wrap: wrap; gap: .5rem; color: #526777; font-size: .875rem; font-weight: 700; }
.announcement-public-category { display: inline-flex; padding: .25rem .6rem; border-radius: 999px; background: #dff7f2; color: #075e54; }
.announcement-public-card h3, .announcement-public-card p { margin: 0; }
.announcement-public-card h3 { font-size: 1.2rem; line-height: 1.3; }
.announcement-public-card h3 a { color: #102a43; text-decoration: none; }
.announcement-public-card:first-child h3 { position: relative; z-index: 1; font-size: clamp(1.3rem, 2.25vw, 1.85rem); }
.announcement-public-card:first-child .announcement-public-card__meta { grid-area: meta; }
.announcement-public-card:first-child h3 { grid-area: title; }
.announcement-public-card:first-child p { grid-area: summary; max-width: 68ch; }
.announcement-public-card:first-child time { grid-area: date; align-self: start; text-align: right; white-space: nowrap; }
.announcement-public-card:first-child .action-link { grid-area: action; align-self: end; justify-self: end; }
.announcement-public-card:first-child h3 a, .announcement-public-card:first-child p, .announcement-public-card:first-child time, .announcement-public-card:first-child .action-link { position: relative; z-index: 1; color: #fff; }
.announcement-public-card:first-child p, .announcement-public-card:first-child time { color: rgb(255 255 255 / 82%); }
.announcement-public-card:first-child .announcement-public-category { color: #082f5e; background: #f7d56a; }
.announcement-public-card:first-child .announcement-public-card__meta { position: relative; z-index: 1; color: rgb(255 255 255 / 86%); }
.announcement-public-card h3 a:hover { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.announcement-public-card time { color: #526777; font-size: .9rem; }
@media (hover: hover) { .announcement-public-card:hover { border-color: #8db9dd; box-shadow: 0 .9rem 2rem rgb(8 59 116 / 13%); transform: translateY(-3px); } .announcement-public-card:first-child:hover { border-color: transparent; } }
.announcement-detail-page { padding: 2rem 0 4rem; background: #f7fafc; }
.announcement-detail-shell { max-width: none; }
.announcement-detail { overflow: hidden; margin-top: 1.5rem; border: 1px solid #d7e1e7; border-radius: 1rem; background: #fff; box-shadow: 0 12px 36px rgb(15 23 42 / 8%); }
.announcement-detail__header { padding: clamp(1.5rem, 5vw, 3.5rem); border-bottom: 1px solid #d7e1e7; background: linear-gradient(150deg, #eefaf8, #fff 62%); }
.announcement-detail__header h1 { max-width: 20ch; margin: 1rem 0; color: #102a43; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.08; }
.announcement-detail__summary { max-width: 66ch; color: #334e68; font-size: 1.15rem; line-height: 1.7; }
.announcement-detail__header time { display: block; margin-top: 1.25rem; color: #526777; }
.announcement-rich-text { padding: clamp(1.5rem, 5vw, 3.5rem); color: #243b53; font-size: 1.0625rem; line-height: 1.75; }
.announcement-rich-text > * { max-width: 72ch; }
.announcement-rich-text > :first-child { margin-top: 0; }
.announcement-rich-text > :last-child { margin-bottom: 0; }
.announcement-rich-text h2, .announcement-rich-text h3 { margin: 2rem 0 .75rem; color: #102a43; line-height: 1.25; }
.announcement-rich-text a { overflow-wrap: anywhere; color: #075985; }
.announcement-rich-text blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: .3rem solid #0f766e; color: #334e68; }
.announcement-detail__action { padding: 0 clamp(1.5rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 3.5rem); }
.announcement-detail__back { margin-top: 1.5rem; }
@media (max-width: 900px) { .announcement-home__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .announcement-home__card:first-child { grid-column: 1 / -1; min-height: auto; } }
@media (max-width: 680px) { .announcement-home__grid, .announcement-public-filter, .announcement-public-list, .announcement-public-card, .announcement-public-card:first-child { grid-template-columns: 1fr; } .announcement-public-filter .button { width: 100%; } .announcement-public-heading { align-items: start; flex-direction: column; } .announcement-public-card:first-child { grid-template-areas: "meta" "title" "summary" "date" "action"; gap: .8rem; } .announcement-public-card:first-child time { text-align: left; } .announcement-public-card:first-child .action-link { justify-self: start; } }

/* Public information hierarchy: one strong gradient, calm supporting surfaces. */
.announcement-public-hero { background: linear-gradient(135deg, #082f5e 0%, #0d5a9d 66%, #1479b8 100%); }
.announcement-public-hero .eyebrow { color: var(--lms-account-accent-mark); }
.announcement-public-content { background: var(--lms-neutral-50); }
.announcement-public-filter { background: var(--lms-surface); border-color: var(--lms-neutral-200); box-shadow: var(--lms-shadow-xs); }
.announcement-public-heading { margin-bottom: 2rem; padding: .35rem 0 .35rem 1.15rem; border: 0; border-left: .3rem solid var(--lms-account-accent-mark); border-radius: 0; background: transparent; box-shadow: none; }
.announcement-public-heading::after { display: none; }
.announcement-public-list { grid-template-columns: minmax(0, 1.65fr) repeat(2, minmax(13rem, .85fr)); gap: 1rem; }
.announcement-public-card { min-height: 100%; box-shadow: var(--lms-shadow-xs); }
.announcement-public-card:first-child { grid-column: auto; grid-template-areas: "meta" "title" "summary" "date"; grid-template-columns: 1fr; min-height: 17.5rem; gap: .8rem; }
.announcement-public-card:first-child time { align-self: auto; text-align: left; white-space: normal; }
.announcement-public-list .action-link { display: none; }
.announcement-detail-page { background: var(--lms-neutral-50); }
.announcement-detail-shell { max-width: 64rem; }
.announcement-detail { margin-top: 1.25rem; }
.announcement-detail__header { padding: clamp(1.5rem, 4vw, 3rem); border-left: .3rem solid var(--lms-account-accent-mark); background: linear-gradient(150deg, var(--lms-brand-50), var(--lms-surface) 62%); }
.announcement-detail__header > * { max-width: 52ch; }
.announcement-detail__summary { font-size: 1.0625rem; }
.announcement-rich-text { padding: clamp(1.5rem, 4vw, 3rem); }
.announcement-detail__action { padding: 0 clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem); }
.announcement-detail__back { margin-top: 1.25rem; }

@media (max-width: 900px) {
    .announcement-public-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .announcement-public-card:first-child { grid-column: 1 / -1; min-height: auto; }
}

@media (max-width: 680px) {
    .announcement-public-list { grid-template-columns: 1fr; }
}

.announcement-inbox-page { min-height: 100vh; margin: 0; background: var(--lms-neutral-50); color: var(--lms-neutral-950); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
.announcement-inbox-page *, .announcement-inbox-page *::before, .announcement-inbox-page *::after { box-sizing: border-box; }
.announcement-skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; transform: translateY(-150%); padding: .75rem 1rem; border-radius: var(--lms-radius-sm); background: var(--lms-neutral-950); color: var(--lms-action-on-solid); }
.announcement-skip-link:focus { transform: translateY(0); }
.announcement-inbox-container { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.announcement-inbox-header { border-bottom: 1px solid var(--lms-primary-800); background: var(--lms-primary-950); color: var(--lms-action-on-solid); }
.announcement-inbox-header__inner { display: flex; min-height: 4.75rem; align-items: center; justify-content: space-between; gap: 1rem; }
.announcement-inbox-brand { display: inline-flex; align-items: center; gap: .75rem; min-height: var(--lms-hit-target); color: inherit; text-decoration: none; }
.announcement-inbox-brand img { width: 36px; height: 50px; object-fit: contain; }
.announcement-inbox-brand span, .announcement-inbox-brand strong, .announcement-inbox-brand small { display: block; }
.announcement-inbox-brand small { color: var(--lms-primary-200); }
.announcement-inbox-account { display: flex; align-items: center; gap: 1rem; }
.announcement-inbox-account > span { overflow: hidden; max-width: 18rem; text-overflow: ellipsis; white-space: nowrap; }
.announcement-inbox-account form { margin: 0; }
.announcement-inbox-account button { min-height: var(--lms-hit-target); padding: .55rem .9rem; border: 1px solid var(--lms-primary-200); border-radius: var(--lms-radius-sm); background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.announcement-inbox-main { padding: 1.5rem 0 4rem; }
.announcement-inbox-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.25rem; color: var(--lms-neutral-700); font-size: .9rem; }
.announcement-inbox-breadcrumb a, .announcement-inbox-section-heading a, .announcement-inbox-item a, .announcement-inbox-back a { color: var(--lms-action-info); text-underline-offset: .18em; }
.announcement-inbox-title { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; padding: 1.5rem; border-left: .35rem solid var(--lms-action-primary); border-radius: var(--lms-radius-lg); background: var(--lms-action-primary-soft); }
.announcement-inbox-title p { margin: 0 0 .25rem; color: var(--lms-action-primary); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.announcement-inbox-title h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.15; }
.announcement-inbox-title span { display: block; max-width: 65ch; margin-top: .5rem; color: var(--lms-neutral-700); }
.announcement-inbox-title form { flex: 0 0 auto; margin: 0; }
.announcement-inbox-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: 2rem; }
.announcement-inbox-summary a { display: flex; min-height: var(--lms-hit-target); align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-md); background: var(--lms-surface-raised); color: var(--lms-neutral-900); text-decoration: none; }
.announcement-inbox-summary a[aria-current="page"] { border-color: var(--lms-action-primary-border); background: var(--lms-action-primary-soft); box-shadow: inset .25rem 0 0 var(--lms-action-primary); }
.announcement-inbox-summary strong { font-size: 1.25rem; }
.announcement-inbox-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.announcement-inbox-section-heading h2, .announcement-inbox-section-heading p { margin: 0; }
.announcement-inbox-list { display: grid; gap: 1rem; }
.announcement-inbox-item { position: relative; display: grid; gap: .75rem; padding: 1.25rem 1.25rem 1.25rem 1.55rem; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-lg); background: var(--lms-surface-raised); box-shadow: var(--lms-shadow-xs); }
.announcement-inbox-item::before { position: absolute; inset: 0 auto 0 0; width: .3rem; border-radius: var(--lms-radius-lg) 0 0 var(--lms-radius-lg); background: var(--lms-action-info); content: ""; }
.announcement-inbox-item--important::before { background: var(--lms-action-warning); }
.announcement-inbox-item--urgent::before { background: var(--lms-action-danger); }
.announcement-inbox-item--unread { border-color: var(--lms-action-primary-border); background: var(--lms-action-primary-soft); }
.announcement-inbox-item__meta { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--lms-neutral-700); font-size: .875rem; }
.announcement-inbox-item__meta > * { padding: .2rem .55rem; border-radius: 999px; background: var(--lms-action-neutral-soft); }
.announcement-inbox-item__meta strong { background: var(--lms-action-primary); color: var(--lms-action-on-solid); }
.announcement-inbox-item h3, .announcement-inbox-item p { margin: 0; }
.announcement-inbox-item h3 { font-size: 1.2rem; line-height: 1.35; }
.announcement-inbox-item h3 a { color: var(--lms-neutral-950); }
.announcement-inbox-item__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--lms-neutral-700); font-size: .9rem; }
.announcement-inbox-empty { padding: 2rem; border: 1px dashed var(--lms-border-strong); border-radius: var(--lms-radius-lg); background: var(--lms-surface-raised); text-align: center; }
.announcement-inbox-empty h3, .announcement-inbox-empty p { margin: 0; }
.announcement-inbox-pagination { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.announcement-inbox-pagination a { display: inline-flex; min-width: var(--lms-hit-target); min-height: var(--lms-hit-target); align-items: center; justify-content: center; border: 1px solid var(--lms-border-strong); border-radius: var(--lms-radius-sm); background: var(--lms-surface); color: var(--lms-neutral-900); text-decoration: none; }
.announcement-inbox-pagination a[aria-current="page"] { border-color: var(--lms-action-primary); background: var(--lms-action-primary); color: var(--lms-action-on-solid); }
.announcement-inbox-detail-shell { max-width: 64rem; }
.announcement-inbox-detail { overflow: hidden; border: 1px solid var(--lms-border-subtle); border-radius: var(--lms-radius-lg); background: var(--lms-surface-raised); box-shadow: var(--lms-shadow-panel); }
.announcement-inbox-detail > header { padding: clamp(1.5rem, 5vw, 3rem); border-bottom: 1px solid var(--lms-border-subtle); background: var(--lms-action-primary-soft); }
.announcement-inbox-detail > header h1 { max-width: 22ch; margin: 1rem 0; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.12; }
.announcement-inbox-detail > header p { max-width: 66ch; color: var(--lms-neutral-700); font-size: 1.1rem; }
.announcement-inbox-detail > header time { display: block; margin-top: 1rem; color: var(--lms-neutral-700); }
.announcement-inbox-detail > footer { padding: 0 clamp(1.5rem, 5vw, 3rem) clamp(1.5rem, 5vw, 3rem); }
.announcement-inbox-back { margin-top: 1.25rem; }
.announcement-inbox-page :focus-visible { outline: 3px solid var(--lms-focus-color); outline-offset: 3px; }
@media (max-width: 680px) { .announcement-inbox-header__inner, .announcement-inbox-title, .announcement-inbox-section-heading, .announcement-inbox-item__footer { align-items: stretch; flex-direction: column; } .announcement-inbox-header__inner { padding: .75rem 0; } .announcement-inbox-account { justify-content: space-between; width: 100%; } .announcement-inbox-summary { grid-template-columns: 1fr; } .announcement-inbox-title .announcement-button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .announcement-skip-link { transition: none; } }
