:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f4f6fa;line-height:1.5;--brand:#3157d5;--line:#dfe3ea}*{box-sizing:border-box}body{margin:0}h1{font-size:1.8rem}h1,h2,h3{line-height:1.2}a{color:var(--brand)}.eyebrow{margin:0 0 .35rem;color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem max(1rem,calc((100vw - 1200px)/2));background:white;border-bottom:1px solid var(--line)}.topbar strong{margin-left:.75rem}.topbar nav{display:flex;gap:1rem;flex-wrap:wrap}.topbar a[aria-current]{font-weight:700;text-decoration-thickness:3px}.admin-shell{max-width:1200px;margin:1.5rem auto 4rem;padding:0 1rem}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:1.5rem;margin:0 0 1.5rem;box-shadow:0 3px 14px #17203305}.module-grid,.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.login-panel{max-width:520px;margin:3rem auto}label{display:block;margin:1rem 0;font-weight:600}input,textarea,select{display:block;width:100%;font:inherit;border:1px solid var(--line);border-radius:9px;padding:.7rem;margin-top:.4rem}button,.button-link{display:inline-block;font:inherit;font-weight:700;border:0;border-radius:10px;background:var(--brand);color:white;padding:.72rem 1rem;text-decoration:none;cursor:pointer}button:hover,.button-link:hover{background:#2444af}button.quiet{background:#e9edfb;color:#2444af}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3157d5;outline-offset:3px}.inline-fields{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.inline-fields label{flex:1;margin:0}.term-selector-form{max-width:520px}.class-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.class-tabs a{padding:.55rem .75rem;border:1px solid var(--line);border-radius:9px;text-decoration:none}.class-tabs a.active{color:white;background:var(--brand);border-color:var(--brand)}[role=alert]{color:#b42318}@media(max-width:650px){.module-grid,.two-column{grid-template-columns:1fr}.panel{padding:1rem}.topbar nav{width:100%}}
