:root{--ink:#17211b;--muted:#64716a;--paper:#f6f7f3;--card:#fff;--brand:#cf172d;--line:#dfe4dd;--green:#dff2e7;--warm:#fff0d8;--cool:#e7eefb;--shadow:0 12px 35px rgba(26,39,31,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.top{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1180px)/2));gap:36px;position:sticky;top:0;z-index:2}.brand{font-weight:900;letter-spacing:.04em;color:var(--brand);text-decoration:none}.brand span{color:var(--ink);font-weight:600}.top nav{display:flex;gap:5px;flex:1}.top nav a,.quiet{padding:10px 12px;color:#455149;text-decoration:none;border:0;background:none;border-radius:10px}.top nav a:hover{background:var(--paper)}main{max-width:1180px;margin:0 auto;padding:48px 24px 80px}h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;margin:.15em 0}h2{margin-top:36px}h3{margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;color:var(--brand)}.muted,small{color:var(--muted)}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:46px}.metrics article{background:#17211b;color:#fff;border-radius:18px;padding:22px}.metrics span{display:block;color:#bdc8c0}.metrics strong{font-size:2.7rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards.vertical{grid-template-columns:1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.badge{display:inline-block;border-radius:999px;padding:5px 10px;background:#ecefeb;font-size:.78rem;font-weight:750;text-transform:capitalize;white-space:nowrap}.badge.green{background:var(--green)}.badge.warm{background:var(--warm)}.badge.cool{background:var(--cool)}a{color:#255c43}.button,button{appearance:none;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.5}.stack{display:grid;gap:16px}.stack label{font-weight:650}.stack input,.stack select,.search input,.kiosksearch input{display:block;width:100%;margin-top:6px;border:1px solid #cbd3cd;border-radius:11px;padding:13px;font:inherit;background:#fff}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:20px;align-items:start}.student{text-decoration:none;color:inherit}.auth{max-width:440px;margin:6vh auto}.subtle{display:block;text-align:center;margin-top:24px}.notice{padding:14px 18px;border-radius:12px;background:var(--cool);margin-bottom:20px}.notice.error{background:#fee7e8;color:#8a1724}.notice.success{background:var(--green)}.empty{text-align:center;padding:64px 24px;border:1px dashed #bdc8c0;border-radius:18px;color:var(--muted)}.message+.message,.timeline+.timeline{border-top:1px solid var(--line)}.message,.timeline{padding:18px 0}.timeline{display:flex;justify-content:space-between}.search{display:flex;gap:8px}.search input{margin:0}.kiosk{background:#fff}.kiosk main{max-width:900px;text-align:center;padding-top:9vh}.kiosk h1{font-size:clamp(2.6rem,7vw,5rem)}.kiosksearch{display:grid;grid-template-columns:1fr auto;gap:12px;margin:36px auto;max-width:750px}.kiosksearch input{font-size:1.6rem;padding:20px}.kiosksearch button,.kioskresults button{font-size:1.25rem;padding:20px 30px}.kioskresults{display:grid;gap:14px;text-align:left}.successscreen main{padding-top:18vh}.check{margin:auto;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:4rem;color:#18764a}@media(max-width:800px){.top{height:auto;padding:14px 18px;flex-wrap:wrap}.top nav{order:3;width:100%;overflow-x:auto}.top form{margin-left:auto}.metrics{grid-template-columns:1fr 1fr}.cards,.split{grid-template-columns:1fr}.pagehead{align-items:start;flex-direction:column}.kiosksearch{grid-template-columns:1fr}.twocol{grid-template-columns:1fr}}@media(max-width:480px){main{padding:30px 16px}.metrics{gap:8px}.metrics article{padding:16px}.metrics strong{font-size:2rem}.top nav a{padding:8px}.card{padding:18px}}
