:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.page-shell,.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.hero,.auth-card,.dashboard-card{background:#fff;border:1px solid #e4e9ef;border-radius:18px;box-shadow:0 12px 40px #17202a0f}.hero{width:min(720px,100%);padding:clamp(32px,7vw,72px)}.auth-card{width:min(440px,100%);padding:32px}a{color:inherit}.eyebrow{letter-spacing:.14em;color:#687482;margin:0 0 10px;font-size:.76rem;font-weight:800}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.05}h2{margin:4px 0 0;font-size:1.3rem;line-height:1.25}.tagline{margin:18px 0 0;font-size:clamp(1.25rem,3vw,1.8rem);font-weight:600}.intro,.muted{color:#5b6673;line-height:1.6}.intro{max-width:560px;margin:20px 0 0;font-size:1.05rem}.status{color:#43505d;background:#fff;border:1px solid #d8e0e8;border-radius:999px;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:650;display:inline-flex}.auth-form{gap:18px;margin-top:28px;display:grid}.auth-form label,.admin-form label{color:#27323d;gap:7px;font-weight:650;display:grid}.auth-form input,.admin-form input,.admin-form select,.admin-form textarea,.data-table select{color:#17202a;background:#fff;border:1px solid #cbd5df;border-radius:10px;outline:none;width:100%;padding:10px 12px}.auth-form input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.data-table select:focus{border-color:#64748b;box-shadow:0 0 0 3px #64748b24}.primary-button,.auth-form button,.secondary-button{border-radius:10px;padding:10px 15px;font-weight:750;transition:transform .12s,box-shadow .12s,background .12s}.primary-button,.auth-form button{color:#fff;background:#17202a;border:1px solid #17202a}.secondary-button{color:#17202a;background:#fff;border:1px solid #cbd5df}.primary-button:hover:not(:disabled),.auth-form button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #17202a1a}.form-message,.form-error{color:#a33a2b;line-height:1.5}.dashboard-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:24px 24px 64px}.dashboard-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.dashboard-school{color:#5b6673;margin:7px 0 0;font-weight:600}.dashboard-card{margin-bottom:20px;padding:22px}.label,.stat-label{color:#687482;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{background:#fff;border:1px solid #e4e9ef;border-radius:15px;padding:20px;box-shadow:0 6px 24px #17202a0a}.stat-value{letter-spacing:-.04em;margin-top:8px;font-size:2rem;line-height:1;display:block}.stat-hint{color:#697582;margin:8px 0 0;font-size:.86rem;line-height:1.45}.notice{background:#fff;border:1px solid #d8e0e8;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:18px;padding:14px 16px;display:flex}.notice span{color:#697582;line-height:1.5}.quick-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.action-row{flex-wrap:wrap;gap:8px;display:flex}.admin-form{gap:14px;max-width:680px;margin-top:16px;display:grid}.admin-form textarea{resize:vertical;min-height:88px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.table-wrap{border:1px solid #e4e9ef;border-radius:12px;width:100%;max-height:62vh;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:.92rem}.data-table th{z-index:1;text-align:left;color:#687482;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #dfe6ed;padding:11px 13px;font-size:.73rem;font-weight:800;position:sticky;top:0}.data-table td{vertical-align:middle;background:#fff;border-bottom:1px solid #edf1f5;padding:11px 13px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fafcff}.data-table td:first-child{white-space:nowrap;font-weight:650}.data-table select{min-width:155px;padding:8px 10px;font-size:.86rem}.status-badge{letter-spacing:.03em;white-space:nowrap;background:#f8fafc;border:1px solid #d8e0e8;border-radius:999px;align-items:center;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}@media (width<=760px){.dashboard-shell{padding:20px 14px 48px}.dashboard-header{flex-direction:column;align-items:flex-start;margin-bottom:18px}.dashboard-header .action-row{width:100%}.dashboard-header .action-row button{flex:1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions,.section-heading{flex-direction:column;align-items:flex-start}.dashboard-card{border-radius:15px;padding:17px}.table-wrap{max-height:58vh}}@media (width<=460px){.page-shell,.auth-shell{padding:14px}.auth-card{padding:22px}.stats-grid{grid-template-columns:1fr}h1{font-size:2rem}.action-row{width:100%}.action-row>*{flex:1}}
