/* Shared management shell. Business pages retain their own responsive tables. */
body.admin-shell{background:#f3f6fb;color:#1d2e49}
body.admin-shell:before{display:none}
.admin-shell .page{max-width:none;width:auto;min-height:100vh;margin:0 0 0 240px;overflow:visible;background:transparent;box-shadow:none}
.admin-sidebar{position:fixed;z-index:1040;inset:0 auto 0 0;display:flex;flex-direction:column;width:240px;overflow-y:auto;padding:26px 16px 18px;background:#172943;color:#d7e1ef;box-shadow:4px 0 22px rgba(20,38,65,.08)}
.admin-brand{display:flex;align-items:center;gap:11px;padding:0 7px 29px;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:11px;background:#3679ef;color:#fff;font-size:17px;font-weight:800}
.admin-brand strong{display:block;color:#fff;font-size:15px;letter-spacing:.03em}
.admin-brand small{display:block;margin-top:3px;color:#99abc2;font-size:11px;letter-spacing:.08em}
.admin-sidebar-label{padding:25px 12px 9px;color:#8fa3bd;font-size:11px;font-weight:700;letter-spacing:.1em}
.admin-nav{display:flex;flex-direction:column;gap:4px}
.admin-nav a,.admin-sidebar-footer a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:9px;color:#becde0;text-decoration:none;font-weight:600;transition:background .15s,color .15s}
.admin-nav a:hover,.admin-sidebar-footer a:hover{background:rgba(255,255,255,.08);color:#fff}
.admin-nav a.is-active{background:#326fe0;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.13)}
.admin-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:21px;font-size:19px;line-height:1}
.admin-sidebar-footer{margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}
.admin-sidebar-footer a span{font-size:20px;line-height:1}
.admin-mobile-bar,.admin-menu-close{display:none}
.admin-menu-backdrop[hidden]{display:none}
.admin-shell .topbar{position:relative;z-index:1;min-height:92px;padding:22px clamp(20px,3vw,36px)!important;background:#fff;border-bottom:1px solid #e5ebf3;backdrop-filter:none}
.admin-shell .topbar .fw-bold{font-size:1.3rem;color:#20344f}
.admin-shell .topbar .small{margin-top:4px}
.admin-shell .dashboard-topbar .tw-eyebrow{padding:0;border:0;background:transparent;color:#6b7f9b;letter-spacing:.1em}
.admin-shell .dashboard-topbar .tw-eyebrow:before{display:none}
.admin-shell .dashboard-topbar .text-lg{font-size:1.4rem;line-height:1.3}
.admin-shell .dashboard-page,.admin-shell .students-page,.admin-shell .rollcall-page,.admin-shell .basic-data-page,.admin-shell .student-fields-page,.admin-shell .rollcall-detail-page{max-width:1500px;margin-left:auto;margin-right:auto;padding:clamp(18px,2.4vw,32px)!important}
.admin-shell .dashboard-section,.admin-shell .students-card,.admin-shell .rollcall-card,.admin-shell .basic-data-card,.admin-shell .student-fields-card{border-color:#e2e9f2!important;border-radius:12px!important;box-shadow:0 3px 14px rgba(25,47,80,.045)!important}
.admin-shell .dashboard-section-heading h2,.admin-section-label h2{font-size:1.06rem;font-weight:750;color:#20344f}
.admin-shell .dashboard-metric{border-radius:10px}
.admin-shell .dashboard-metric-value{font-size:1.8rem}
.admin-shell .table>thead{background:#f5f8fc;color:#6a7c95;font-size:.82rem}
.admin-shell .table>thead th{padding-top:.8rem;padding-bottom:.8rem;border-bottom:1px solid #e6edf5;font-weight:700}
.admin-shell .table>tbody>tr>td{padding-top:.72rem;padding-bottom:.72rem}
.admin-section-label{margin:25px 0 12px}
.admin-section-label h2{margin:0 0 3px}
.admin-section-label p{margin:0;color:#77889f;font-size:.82rem}
.admin-shell .dashboard-tile{border-radius:12px}
@media(max-width:991.98px){
 body.admin-menu-open{overflow:hidden}
 .admin-shell .page{margin-left:0}
 .admin-mobile-bar{position:sticky;top:0;z-index:1020;display:flex;align-items:center;gap:12px;height:60px;padding:0 16px;background:#172943;color:#fff}
 .admin-mobile-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.94rem}
 .admin-mobile-brand .admin-brand-mark{width:30px;height:30px;border-radius:8px;font-size:14px}
 .admin-mobile-caption{margin-left:auto;color:#b4c4d8;font-size:.75rem}
 .admin-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:9px;border:0;border-radius:8px;background:rgba(255,255,255,.09)}
 .admin-menu-toggle span{display:block;width:20px;height:2px;background:#fff;border-radius:2px}
 .admin-sidebar{z-index:1060;visibility:hidden;transform:translateX(-100%);transition:transform .2s ease,visibility 0s linear .2s}
 .admin-menu-open .admin-sidebar{visibility:visible;transform:translateX(0);transition-delay:0s}
 .admin-menu-close{display:block;margin-left:auto;border:0;background:transparent;color:#fff;font-size:27px;line-height:1}
 .admin-menu-backdrop{position:fixed;z-index:1050;inset:0;background:rgba(13,25,44,.55)}
 .admin-shell .topbar{min-height:0;padding:20px!important}
}
@media(max-width:575.98px){
 .admin-shell .topbar{padding:16px!important}
 .admin-shell .dashboard-page,.admin-shell .students-page,.admin-shell .rollcall-page,.admin-shell .basic-data-page,.admin-shell .student-fields-page,.admin-shell .rollcall-detail-page{padding:14px!important}
 .admin-shell .dashboard-topbar .text-lg{font-size:1.2rem}
 .admin-shell .dashboard-topbar .text-right{max-width:48%;overflow-wrap:anywhere;font-size:.75rem}
 .admin-shell .dashboard-metric-value{font-size:1.4rem}
 .admin-shell .table>tbody>tr>td{padding-top:.5rem;padding-bottom:.5rem}
}
@media(prefers-reduced-motion:reduce){.admin-sidebar{transition:none}}
