/* Shared admin presentation. Student and teacher views retain their own styles. */
body.admin-shell{--admin-ink:#263f50;--admin-line:#dbe4e9;--admin-muted:#637681;background:#f3f6f8;color:#253b48;line-height:1.55;margin:0}
body.admin-shell [hidden]{display:none!important}
body.admin-shell,body.admin-shell *{box-sizing:border-box}
body.admin-shell main{width:100%;max-width:1200px;margin:28px auto;padding:0 24px 48px}
body.admin-shell h1{font-size:28px;line-height:1.25;letter-spacing:-.025em;margin:6px 0 10px;font-weight:700;overflow-wrap:anywhere}
body.admin-shell h2{font-size:20px;line-height:1.35;margin-top:0;color:#263f50}
body.admin-shell h3{font-size:17px;line-height:1.4}
body.admin-shell main>header{margin-bottom:20px;gap:16px;flex-wrap:wrap}
body.admin-shell .sub,body.admin-shell .muted,body.admin-shell .dim,body.admin-shell .quiet{color:var(--admin-muted);font-size:14px;line-height:1.5}
body.admin-shell .card,body.admin-shell main>article,body.admin-shell #list>article,body.admin-shell #rows>article{border:1px solid var(--admin-line);border-radius:14px;background:#fff;padding:20px;margin:16px 0;box-shadow:0 2px 8px #263f5005}
body.admin-shell .card .card{box-shadow:none}
body.admin-shell .overview-project,body.admin-shell .line,body.admin-shell .person,body.admin-shell .calendar-day{border-color:var(--admin-line);border-radius:11px;box-shadow:none}
body.admin-shell .row,body.admin-shell .toolbar,body.admin-shell .controls{gap:12px}
body.admin-shell button,body.admin-shell .btn,body.admin-shell .admin-button-link,body.admin-shell .admin-feature-link,body.admin-shell .project-open-link,body.admin-shell .project-secondary-link{font-size:15px;line-height:1.35;min-height:42px;padding:10px 15px;border-radius:9px;max-width:100%;white-space:normal;cursor:pointer}
body.admin-shell button:not(.ghost):not(.secondary):not(.danger):not(.bad):not(.close):not(.subtle),body.admin-shell .admin-feature-link,body.admin-shell .project-open-link{background:var(--admin-ink);color:#fff;border:1px solid var(--admin-ink)}
body.admin-shell button.subtle,body.admin-shell button.ghost,body.admin-shell .btn.secondary,body.admin-shell button.secondary,body.admin-shell .project-secondary-link{background:#eef3f6;color:var(--admin-ink);border:1px solid #cfdae1}
body.admin-shell button:disabled{opacity:.55;cursor:default}
body.admin-shell a:focus-visible,body.admin-shell button:focus-visible,body.admin-shell summary:focus-visible,body.admin-shell input:focus-visible,body.admin-shell select:focus-visible,body.admin-shell textarea:focus-visible{outline:3px solid #79a7c3;outline-offset:3px}
body.admin-shell input:not([type=checkbox]):not([type=radio]),body.admin-shell select,body.admin-shell textarea{font-size:16px;line-height:1.4;padding:10px 12px;border:1px solid #bdcdd7;border-radius:8px;max-width:100%;min-height:42px;color:#263f50;background:#fff}
body.admin-shell input:disabled,body.admin-shell select:disabled,body.admin-shell input[readonly]{background:#f0f4f6}
body.admin-shell input[type=checkbox],body.admin-shell input[type=radio]{accent-color:#35576c}
body.admin-shell .admin-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 0 24px;padding:10px;background:#e9eff3;border:1px solid var(--admin-line);border-radius:13px;width:100%}
body.admin-shell .admin-nav a{display:flex;align-items:center;justify-content:center;min-height:41px;min-width:0;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#3c5667;font-size:14px;line-height:1.35;font-weight:600;text-align:center;text-decoration:none;box-shadow:none}
body.admin-shell .admin-nav a:hover{background:#fff;text-decoration:none}
body.admin-shell .admin-nav a[aria-current=page]{background:#263f50;border-color:#263f50;color:#fff}
body.admin-shell .admin-nav-toggle{display:none}
body.admin-shell table{width:100%;border-collapse:collapse;font-size:14px}
body.admin-shell th{font-weight:650;background:#f2f6f8;color:#4c6575}
body.admin-shell th,body.admin-shell td{padding:12px 10px;border-bottom:1px solid #e1e8ed;vertical-align:top;text-align:left}
body.admin-shell tbody tr:hover{background:#f8fafb}
body.admin-shell .admin-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:9px}
body.admin-shell .admin-table-scroll:focus-visible{outline:3px solid #79a7c3;outline-offset:2px}
body.admin-shell [role=status]:not(:empty){overflow-wrap:anywhere}
body.admin-shell .admin-search{display:block;width:100%;margin:16px 0 8px}
body.admin-shell .admin-search-label{display:block;font-weight:600;font-size:14px;margin-top:16px}
body.admin-shell .admin-search-label+.admin-search{margin-top:6px}
body.admin-shell .admin-result-count{color:#637681;font-size:14px;margin:8px 0}
body.admin-shell .mail-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
body.admin-shell .mail-toolbar label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
body.admin-shell .mail-toolbar .search-field{flex:1 1 280px}
body.admin-shell .mail-toolbar input{width:100%}
body.admin-shell .mail-status{display:inline-block;border-radius:6px;padding:3px 8px;margin-bottom:8px;font-size:13px;background:#edf3f7;color:#35576c}
body.admin-shell .mail-status.failed,body.admin-shell .mail-status.uncertain{background:#fff0e7;color:#8b431d}
body.admin-shell .mail-status.sent{background:#e8f3ec;color:#2e6342}
body.admin-shell .mail-item h2{font-size:17px;margin-bottom:6px}
body.admin-shell #projectOverview:empty{display:none}
@media(max-width:650px){body.admin-shell main{padding:0 14px 32px;margin:18px auto}body.admin-shell h1{font-size:24px}body.admin-shell h2{font-size:19px}body.admin-shell .card,body.admin-shell #list>article,body.admin-shell #rows>article{padding:16px;margin:12px 0}body.admin-shell .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;gap:5px;padding:7px}body.admin-shell .admin-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#e9eff3!important;border:1px solid #cfdae1!important;color:#263f50!important;margin:14px 0 8px;font-weight:600}body.admin-shell .admin-nav-toggle::after{content:'⌄'}body.admin-shell .admin-nav-toggle[aria-expanded=true]::after{content:'⌃'}body.admin-shell .admin-nav[data-collapsed=true]{display:none}body.admin-shell .toolbar>*,body.admin-shell .controls>*{min-width:0;max-width:100%}body.admin-shell .admin-table-scroll table{min-width:600px}body.admin-shell .mail-toolbar select{width:100%}body.admin-shell .mail-toolbar>div{flex:1 1 150px}}
@media print{body.admin-shell .admin-nav,body.admin-shell .admin-nav-toggle,body.admin-shell .admin-search,body.admin-shell .admin-search-label{display:none!important}body.admin-shell main{max-width:none;margin:0;padding:0}body.admin-shell .admin-table-scroll{overflow:visible}body.admin-shell .card{box-shadow:none}}

body.admin-shell main>header{text-align:left}
body.admin-shell details>summary>.round-chevron{display:none}
body.admin-shell .mail-item p{margin:8px 0}

/* Uniform navigation rows; workflow order remains in the shared menu model. */
body.admin-shell .admin-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:7px;padding:10px}
body.admin-shell .admin-nav-group{display:contents}
body.admin-shell .admin-nav-label{display:none}
body.admin-shell .admin-nav-group a{display:flex;flex:none;align-items:center;justify-content:center;width:100%;min-width:0;min-height:42px;margin:0;padding:9px 8px;font-size:14px;line-height:1.35;border:1px solid #d2dfe6;border-radius:8px;background:#fff;color:#3c5667;overflow-wrap:anywhere}
body.admin-shell .admin-nav-group a:hover{background:#f4f8fa}
body.admin-shell .admin-nav-group a[aria-current=page]{background:#263f50;border-color:#263f50;color:#fff}
@media(min-width:651px) and (max-width:1000px){body.admin-shell .admin-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
body.admin-shell .workflow-links{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}
body.admin-shell .workflow-links a{padding:9px 12px;border:1px solid #cddce4;border-radius:8px;color:#294959;text-decoration:none;background:#f5f8fa;font-size:14px}
body.admin-shell #orderExports>section{margin:12px 0;padding:10px 0;border:0;border-top:1px solid #e1e8ed;border-radius:0;box-shadow:none}
body.admin-shell #orderExports>section h2{font-size:17px}
@media(max-width:650px){body.admin-shell .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}body.admin-shell .admin-nav[data-collapsed=true]{display:none!important}body.admin-shell .admin-nav-group a{font-size:13px;min-height:42px;padding:9px 6px}}
/* Authentication visibility and print always override the navigation grid. */
body.admin-shell .admin-nav:is([hidden],.hidden){display:none!important}
@media print{body.admin-shell .admin-nav,body.admin-shell .admin-nav-toggle{display:none!important}}
