:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#eef2f6;color:#1f2937;--navy: #243447;--navy-deep: #1a2533;--blue: #3c8dbc;--blue-soft: #d8eaf5;--card: #ffffff;--border: #d6dde5;--muted: #6b7280;--danger: #d9534f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(60,141,188,.18),transparent 24rem),linear-gradient(180deg,#f5f7fa,#e9eef4)}a{color:inherit;text-decoration:none}button,input{font:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-panel,.page-card,.wide-card,.stat-card,.school-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:0 18px 40px #14213314}.auth-panel{width:min(28rem,100%);padding:2rem}.auth-header h1,.page-header h2,.wide-card h2{margin:0}.page-header{display:flex;justify-content:space-between;align-items:center}.auth-kicker,.sidebar-label,.section-title,.stat-label,.topbar-subtitle{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.auth-form{display:grid;gap:1rem;margin-top:1.5rem}.auth-form label{display:grid;gap:.4rem}input{border:1px solid var(--border);border-radius:.75rem;padding:.8rem .9rem;background:#fff}.primary-button,.danger-button{border:0;border-radius:.8rem;padding:.9rem 1rem;cursor:pointer;font-weight:700}.primary-button{background:var(--blue);color:#fff}.danger-button{background:#d9534f1f;color:var(--danger)}.error-banner{border-radius:.8rem;padding:.75rem .9rem;background:#d9534f1f;color:var(--danger)}.shell{min-height:100vh;display:grid;grid-template-columns:18rem 1fr}.sidebar{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#f3f6fa;padding:1.5rem;display:grid;align-content:start;gap:1.25rem}.sidebar{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#f3f6fa;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.brand{font-size:1.5rem;font-weight:800}.sidebar-user,.sidebar-school{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-value{font-weight:700}.nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border-radius:.5rem;background:#ffffff0f;transition:all .2s ease}.nav-link:hover{background:#ffffff1f}.nav-link.active{background:#3c8dbc59;color:#fff}.nav-icon{font-size:1.1rem;width:1.5rem;text-align:center}.nav-label{flex:1}.nav-arrow{font-size:.7rem;opacity:.6}.nav-group{display:flex;flex-direction:column}.nav-group-toggle{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border-radius:.5rem;background:#ffffff0f;color:inherit;cursor:pointer;transition:all .2s ease;border:none;text-align:left;width:100%;font-size:inherit}.nav-group-toggle:hover{background:#ffffff1f}.nav-group-toggle.expanded{background:#3c8dbc40}.nav-group-children{display:flex;flex-direction:column;gap:.15rem;padding-left:1.25rem;margin-top:.15rem;margin-bottom:.25rem}.nav-group-children .nav-link{padding:.5rem .75rem;font-size:.9rem;background:#00000026}.nav-group-children .nav-link:hover{background:#ffffff1a}.nav-group-children .nav-link.active{background:#3c8dbc59}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.content{padding:1.5rem;display:grid;gap:1.5rem}.topbar{background:#ffffffbf;border:1px solid var(--border);border-radius:1rem;padding:1rem 1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-title{font-size:1.1rem;font-weight:800;display:flex;align-items:center;gap:.5rem}.school-badge{font-size:.7rem;background:var(--blue);color:#fff;padding:.15rem .4rem;border-radius:.3rem;font-weight:600}.page-card{padding:1.5rem;display:grid;gap:1.2rem}.grid,.dashboard-grid{display:grid;gap:1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.school-card,.stat-card,.wide-card{padding:1.25rem}.school-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.school-card-header h3{margin:0}.token-list{margin:0;padding-left:1rem;color:var(--muted)}.meta-row{color:var(--muted)}.stat-value{margin-top:.35rem;font-size:2rem;font-weight:800}.wide-card{grid-column:1 / -1}@media(max-width:900px){.shell,.dashboard-grid{grid-template-columns:1fr}}
