:root{--ink:#071421;--navy:#03182d;--blue:#0b456e;--silver:#cbd5e1;--paper:#eef3f7;--green:#17824b;--red:#b53131;--muted:#6c7e8d;--line:#d9e2e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#162536;background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{text-decoration:none;color:inherit}.auth-page{min-height:100svh;color:#fff;background:radial-gradient(circle at 30% 10%,#10507e,#010811 68%)}.auth-shell{min-height:100svh;width:min(1100px,100%);margin:auto;padding:2rem;display:grid;grid-template-columns:1fr minmax(360px,470px);gap:5rem;align-items:center}.auth-brand{text-align:center}.auth-brand img{width:min(100%,520px);filter:drop-shadow(0 20px 40px #000)}.auth-brand p{font-weight:900;letter-spacing:.22em}.auth-card{display:grid;gap:1rem;padding:2.2rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.4);backdrop-filter:blur(12px)}.auth-card .kicker{color:#aebdca;font-size:.7rem;font-weight:900;letter-spacing:.18em}.auth-card h1{margin:0;font:400 2.6rem Georgia,serif}.auth-card p{margin:0;color:#bdc9d3}.auth-card label{display:grid;gap:.4rem;color:#dbe4ea;font-size:.78rem;font-weight:850}.auth-card input{min-height:52px;padding:.8rem;color:#fff;background:#030e19;border:1px solid #435465;border-radius:5px}.auth-card button{min-height:52px;border:0;background:linear-gradient(135deg,#fff,#abb7c3);color:#071421;font-weight:950;cursor:pointer}.alert,.success{padding:.8rem 1rem;border-left:4px solid}.alert{background:#7e2525;border-color:#ff8b8b}.success{background:#12633c;border-color:#6ce0a3}.dashboard-page{display:grid;grid-template-columns:255px 1fr;min-height:100svh}.sidebar{position:sticky;top:0;height:100svh;padding:1.5rem;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#020b14,#03182d)}.admin-logo img{width:100%;filter:drop-shadow(0 8px 16px #000)}.sidebar>p{margin:.7rem 0 2rem;color:#8295a6;text-align:center;font-size:.62rem;font-weight:900;letter-spacing:.17em}.sidebar nav{display:grid;gap:.4rem}.sidebar nav a{padding:.9rem 1rem;display:flex;gap:.9rem;border-left:3px solid transparent;color:#aebdca;font-weight:800}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.08);border-color:#cbd5e1}.admin-profile{margin-top:auto;padding:1rem;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:.2rem}.admin-profile small{color:#8195a6;font-size:.62rem;font-weight:900;letter-spacing:.13em}.admin-profile a{margin-top:.6rem;color:#aebdca;font-size:.75rem}.dashboard{min-width:0;padding:clamp(1rem,3vw,2.5rem)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.topbar p{margin:0;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.06em}.topbar h1{margin:.25rem 0;color:var(--navy);font:400 clamp(1.8rem,4vw,3rem) Georgia,serif}.live{padding:.7rem .9rem;background:#fff;border:1px solid var(--line);color:#3b5163;font-size:.65rem;font-weight:900;letter-spacing:.1em}.live i{display:inline-block;width:8px;height:8px;margin-right:.4rem;background:#28a463;border-radius:50%;box-shadow:0 0 0 5px #dff3e8}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-grid article{padding:1.3rem;background:#fff;border:1px solid var(--line);border-top:4px solid #7e91a1;box-shadow:0 12px 30px rgba(3,24,45,.07)}.metric-grid article.accent{border-top-color:var(--green)}.metric-grid span,.panel header small{display:block;color:var(--muted);font-size:.65rem;font-weight:950;letter-spacing:.12em}.metric-grid strong{display:block;margin:.5rem 0;color:var(--navy);font-size:2.6rem}.metric-grid small{color:var(--muted)}.dashboard-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:1rem;margin-top:1rem}.panel{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(3,24,45,.07)}.panel>header{padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel h2{margin:.2rem 0 0;color:var(--navy);font-size:1.25rem}.panel>header>span{color:var(--muted);font-size:.65rem;font-weight:900}.time-total{padding:1.5rem;text-align:center}.time-total strong{display:block;color:var(--navy);font-size:3rem}.time-total span{color:var(--muted)}.time-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.time-split div{padding:1.2rem;display:grid;gap:.2rem}.time-split div+div{border-left:1px solid var(--line)}.time-split i{height:5px;background:linear-gradient(90deg,var(--green) var(--p),#e5ebef var(--p))}.time-split b{margin-top:.5rem;color:var(--navy);font-size:1.2rem}.time-split span{color:var(--muted);font-size:.75rem}.course-panel{padding-bottom:.6rem}.course-stat{padding:1rem 1.4rem;display:grid;grid-template-columns:1fr auto;gap:.7rem}.course-stat div{display:grid}.course-stat span{color:var(--muted);font-size:.75rem}.course-stat>strong{color:var(--navy)}.course-stat>i{grid-column:1/-1;height:7px;background:#e3eaf0}.course-stat em{display:block;height:100%;background:linear-gradient(90deg,#6f8495,var(--green))}.recent-panel,.roster-panel{margin-top:1rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.9rem 1.2rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);background:#f6f8fa;font-size:.65rem;letter-spacing:.1em}td{font-size:.82rem}td small{display:block;color:var(--muted);margin-top:.2rem}.course-pill,.status{display:inline-flex;padding:.35rem .55rem;color:#fff;background:var(--navy);font-size:.68rem;font-weight:900;border-radius:3px}.status.active{background:var(--green)}.status.disabled{background:var(--red)}.score.pass{color:var(--green)}.score.fail{color:var(--red)}.roster-panel form{display:flex}.roster-panel input{min-height:38px;width:min(300px,35vw);padding:.5rem .7rem;border:1px solid #bcc9d3}.roster-panel button{border:0;padding:0 .9rem;color:#fff;background:var(--navy);font-weight:800}@media(max-width:1050px){.dashboard-page{grid-template-columns:84px 1fr}.admin-logo img{width:52px}.sidebar>p,.sidebar nav span,.admin-profile b,.admin-profile small{display:none}.sidebar nav a{justify-content:center}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.dashboard-page{display:block}.sidebar{position:static;width:100%;height:auto;padding:.8rem 1rem;flex-direction:row;align-items:center}.admin-logo img{width:90px}.sidebar>p,.admin-profile{display:none}.sidebar nav{margin-left:auto;display:flex}.sidebar nav a{padding:.7rem}.dashboard{padding:1rem}.topbar{align-items:flex-start}.live{display:none}.metric-grid,.dashboard-row{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid strong{font-size:2rem}.panel>header{align-items:flex-start;gap:1rem}.roster-panel form{width:100%}.roster-panel input{width:100%}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.sidebar nav a:nth-child(2),.sidebar nav a:nth-child(4){display:none}}
