:root{color:#0b1c30;background:#f8f9ff}
body{color:#0b1c30;background:#f8f9ff}
button,input,select,textarea{accent-color:#1e3a8a}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #316bf3;outline-offset:2px}

/* Reference palette: deep navy, royal blue, pale blue, restrained orange. */
.site-header{background:linear-gradient(100deg,#00236f,#1e3a8a);border-bottom:0;box-shadow:0 3px 14px #00236f22}
.site-header .brand,.site-header .brand strong,.site-header .brand small{color:#fff}
.site-header .brand-mark{background:#ffffff24;color:#fff}
.site-header nav a{color:#e6edff}
.site-header nav a:hover,.site-header nav a:focus,.site-header nav a[aria-current="page"]{color:#fff}
.site-header nav a[aria-current="page"]{background:#ffffff24;padding:8px 11px;border-radius:8px}
.site-header .account-signin,.site-header .account-menu>summary{background:#ffffff20;border-color:#ffffff55;color:#fff!important}
.site-header .account-signin:hover,.site-header .account-menu>summary:hover,.site-header .account-menu[open]>summary{background:#ffffff32}
.site-header .account-avatar{background:#e5eeff;color:#00236f}
.site-header .account-popover{border-color:#dbe3f4;color:#0b1c30;box-shadow:0 16px 40px #00236f30}
.site-header .account-popover a{color:#1e3a8a!important}
.site-header .account-popover a:hover,.site-header .account-logout:hover{background:#eff4ff}

.simple-main .section-head{min-height:180px;padding:38px 42px;border-radius:22px;background:linear-gradient(135deg,#00236f,#1e3a8a 65%,#0051d5);color:#fff;box-shadow:0 18px 34px #00236f1a}
.simple-main .section-head .eyebrow,.simple-main .section-head h1,.simple-main .section-head h2{color:#fff}
.simple-main .section-head>p{color:#d8e4ff}
.simple-main>.eyebrow{color:#1e3a8a}
.simple-main>h1,.simple-main>h2{color:#00236f}
.eyebrow{color:#1e3a8a}
.hero{background:linear-gradient(135deg,#00236f,#1e3a8a,#0051d5)}
.hero .eyebrow{color:#dbe7ff}
.hero-copy{color:#e7eeff}
.hero-card,.announcement,.library-section,.library-card,.task,.status-card,.status-table-wrap,.table-scroll,.quick-stats{border-color:#dbe3f4;box-shadow:0 8px 22px #00236f09}
.announcement small,.announcement time,.library-year-tag,.task p,.library-empty,.empty{color:#63718a}
.announcement h3,.library-card h3,.library-section h2,.task h4,.results-heading h3{color:#0b1c30}
.announcement-body a,.library-open,.library-access a{color:#1e3a8a}
.announcement-body a:hover,.library-open:hover,.library-access a:hover{color:#0051d5}
.announcement-more{color:#c2410c}
.library-year{color:#233d72}
.library-year select,.filters select,.status-filters select{border-color:#cdd9ee;color:#0b1c30}
.filters select:focus,.status-filters select:focus{outline-color:#316bf3}
.library-access,.status-summary,.results-heading span{color:#5e6d85}
thead th,.status-table-wrap thead{background:#eff4ff;color:#1e3a8a}
th,td,.status-table-wrap th,.status-table-wrap td{border-bottom-color:#e4eaf5}
tbody tr:hover{background:#f5f8ff}
.task-category{color:#1e3a8a!important}
.empty{border-color:#cdd9ee}
.footer{background:#00236f;color:#eef3ff}
.footer p{color:#c8d8fb}
.footer-inner strong{color:#fff}
.primary{background:#1e3a8a;color:#fff;border-color:#1e3a8a}
.primary:hover{background:#00236f}
.secondary{border-color:#9cb8f4}
.secondary:hover{background:#254992}
.brand-mark,.hero-stats>div,.section-tint{background:#eff4ff}
.hero-stats strong{color:#1e3a8a}
.quick-stats>div,.quick-stats>div:nth-child(-n+2){border-color:#e4eaf5}

/* Keep submission results semantic: green means sent, red means missing. */
.status-icon.sent,.badge.sent,.status-badge.sent{background:#e0f3e7;color:#12613d}
.status-icon.missing,.badge.missing,.status-badge.missing{background:#fde8e5;color:#a82b24}
.text-sent{color:#12613d}.text-missing{color:#a82b24}

/* The admin area shares the same brand while keeping its compact forms. */
body:has(.head){background:#f8f9ff;color:#0b1c30}
header:has(.head){background:linear-gradient(100deg,#00236f,#1e3a8a);border-color:#00236f}
.head strong,.head a{color:#fff}
.head [data-account-menu]{color:#0b1c30}
.head .account-signin,.head .account-menu>summary{background:#ffffff20;border-color:#ffffff55;color:#fff!important}
.head .account-avatar{background:#e5eeff;color:#00236f}
.head .account-popover a{color:#1e3a8a!important}
.panel{border-color:#dbe3f4;box-shadow:0 8px 22px #00236f08}
.panel h1,.panel h2,.heading h1{color:#00236f}
.panel label,.form-grid label{color:#233d72}
.panel input,.panel select,.panel textarea{border-color:#cdd9ee;color:#0b1c30}
.panel input:focus,.panel select:focus,.panel textarea:focus{outline-color:#316bf3}
.panel button:not(.danger):not(.primary),.heading button{border-color:#cdd9ee;color:#1e3a8a}
.panel button:not(.danger):not(.primary):hover,.heading button:hover{background:#eff4ff}
.panel .primary{background:#1e3a8a;border-color:#1e3a8a;color:#fff}
.panel .primary:hover{background:#00236f}
.tabs a{background:#e9efff;color:#1e3a8a}
.tabs a:hover,.tabs a:focus{background:#dce7ff}
.copy,.stats{background:#eff4ff}
.item,.mapping,.list{border-color:#e4eaf5}
.section-count{background:#e5eeff;color:#1e3a8a}
.item small,.hint,#last-update,.period span{color:#65738c}
.danger{color:#bc3027!important}
.badge.sent,.sent{background:#ddf1e5;color:#177247}
.badge.missing,.missing{background:#fee7e4;color:#bb3b34}

@media(max-width:850px){.simple-main .section-head{padding:28px;min-height:150px}}
@media(max-width:540px){.simple-main .section-head{padding:24px;min-height:135px;border-radius:16px}}

/* Two-level navigation: blue identity bar, light page menu, then breadcrumb. */
.site-header{background:#f8f9ff;border-bottom:1px solid #e4eaf5}
.site-header .header-top{background:linear-gradient(100deg,#00236f,#1e3a8a)}
.site-header .header-top .header-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:8px 0}
.site-header .header-nav{background:#f8f9ff;border-top:1px solid #ffffff20}
.site-header .header-nav nav{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 0;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.site-header .header-nav nav a{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 12px;border-radius:8px;color:#354258;font-size:13px;font-weight:700;line-height:1.2}
.site-header .header-nav nav a[hidden],.admin-header-nav nav a[hidden]{display:none!important}
.site-header .header-nav nav a:hover,.site-header .header-nav nav a:focus{background:#e6ecfa;color:#00236f}
.site-header .header-nav nav a[aria-current="page"]{background:#1e3a8a;color:#fff}
.site-header .header-nav nav a[href="/"]::before{content:"⌂";font-size:19px;line-height:0}
.site-header .header-nav nav a[href^="/library"]::before{content:"▤";font-size:17px;line-height:0}
.site-header .header-nav nav a[href^="/status"]::before{content:"☑";font-size:16px;line-height:0}
.site-header .header-nav nav a[href^="/admin"]::before{content:"⚙";font-size:16px;line-height:0}
.page-crumb{display:flex;align-items:center;gap:10px;padding:16px 0 0;color:#4d5c77;font-size:12px}
.page-crumb a{color:#4d5c77;text-decoration:none}.page-crumb a:hover{text-decoration:underline}
.page-crumb strong{color:#00236f;font-weight:700}
.page-crumb+main.simple-main{padding-top:14px}
@media(max-width:850px){.site-header .header-top .header-inner{min-height:62px}.site-header .header-nav nav{width:min(1160px,calc(100% - 40px));gap:5px}.site-header [data-account-menu]{top:10px}}
@media(max-width:540px){.site-header .header-nav nav{width:calc(100% - 28px)}.site-header .header-nav nav a{padding:8px 10px}.page-crumb{padding-top:12px}}

.admin-site-header{background:#f8f9ff!important;border-bottom:1px solid #e4eaf5!important}
.admin-header-top{background:linear-gradient(100deg,#00236f,#1e3a8a)}
.admin-header-top .head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0}
.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.admin-brand strong{display:block;margin:0;color:#fff;font-size:14px;line-height:1.35}
.admin-brand small{display:block;color:#e1eaff;font-size:12px;margin-top:2px}
.admin-brand-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#ffffff24;color:#fff;font-size:22px}
.admin-header-top .account-signin,.admin-header-top .account-menu>summary{background:#ffffff20;border-color:#ffffff55;color:#fff!important}
.admin-header-top .account-avatar{background:#e5eeff;color:#00236f}
.admin-header-nav{background:#f8f9ff}
.admin-header-nav nav{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 0;overflow-x:auto;white-space:nowrap}
.admin-header-nav nav a{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 12px;border-radius:8px;text-decoration:none;color:#354258;font-size:13px;font-weight:700}
.admin-header-nav nav a:hover{background:#e6ecfa;color:#00236f}
.admin-header-nav nav a[aria-current="page"]{background:#1e3a8a;color:#fff}
.admin-header-nav nav a[href="/"]::before{content:"⌂";font-size:19px;line-height:0}
.admin-header-nav nav a[href^="/library"]::before{content:"▤";font-size:17px;line-height:0}
.admin-header-nav nav a[href^="/admin"]::before{content:"⚙";font-size:16px;line-height:0}
.page-crumb+main.wrap{padding-top:22px}
@media(max-width:540px){.admin-brand{max-width:calc(100% - 105px)}.admin-header-nav nav{gap:4px}.admin-header-nav nav a{padding:8px 10px}}

/* Library cards keep file and link actions centered and easy to tap. */
.library-filters{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 20px}.library-filters .library-year{margin:0;width:min(230px,100%)}
.library-level-tag{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e8efff;color:#1e3a8a;font-size:12px;font-weight:700}
.library-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:10px}
.library-actions .library-open{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;padding:9px 13px;border:1px solid #1e3a8a;border-radius:9px;background:#1e3a8a;color:#fff!important;text-decoration:none;text-align:center;font:inherit;font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}
.library-actions .library-open:hover,.library-actions .library-open:focus{background:#00236f;border-color:#00236f;color:#fff!important}
#library-level-field[hidden],#library-department-field[hidden],#library-term-field[hidden]{display:none!important}
.library-year-group+.library-year-group{margin-top:24px;padding-top:20px;border-top:1px solid #dbe3f4}
.library-group-heading{margin:0 0 13px!important;color:#1e3a8a!important;font-size:16px!important}
.library-year-tag{display:inline-flex;padding:5px 10px;border-radius:8px;background:#e8efff;color:#1e3a8a!important;font-size:13px;font-weight:700}
.library-meta-tag{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f0f3f9;color:#365276;font-size:12px;font-weight:700}
.library-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.library-card{gap:10px;padding:16px}
.text-button{border:0!important;padding:0!important;background:none!important;color:#1e3a8a!important;text-decoration:underline;cursor:pointer;font:inherit}
.library-category-manager{margin:0 0 24px;padding:14px 16px;border:1px solid #dbe3f4;border-radius:10px;background:#f7f9ff}
.library-category-manager summary{cursor:pointer;color:#1e3a8a;font-weight:700}
.library-category-manager[open] summary{margin-bottom:14px}
.library-category-manager .item .actions select{max-width:180px}
.library-filters[hidden],.library-filters label[hidden],.library-access[hidden]{display:none!important}
