:root{color-scheme:light}body{font-family:system-ui,-apple-system,
BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6f9;color:#17202a;
line-height:1.5;margin:0}main{max-width:720px;margin:3rem auto;padding:0 1rem 3rem}
h1{letter-spacing:-.025em;margin:0 0 1.4rem}h2{margin:.1rem 0 1rem;font-size:1.35rem}
section{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:1.35rem;
margin:1rem 0;box-shadow:0 8px 24px #1620330a}button{padding:.72rem 1rem;
border:1px solid transparent;border-radius:10px;background:#1769e0;color:#fff;
font:inherit;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}
button:hover{background:#1258bd}button:active{transform:translateY(1px)}button:disabled{
cursor:wait;opacity:.6}button+button{margin-left:.5rem;background:#68707c}
button+button:hover{background:#535b66}button:focus-visible,input:focus-visible{
outline:3px solid #8bbcff;outline-offset:2px}#admin-logout{background:transparent;
color:#475569;
border-color:#cbd5e1;margin-top:.25rem}#admin-logout:hover{background:#e9edf3}
img{display:block;width:240px;height:240px;image-rendering:pixelated;margin:1rem 0;
background:#fff}img[hidden],button[hidden]{display:none}label{display:block;
margin:.75rem 0 .35rem;font-weight:600}input{box-sizing:border-box;width:100%;
padding:.75rem;border:1px solid #aab2bd;border-radius:10px;margin-bottom:.8rem;
font:inherit;background:#fff}#cookie-status,#sync-status{display:inline-flex;align-items:center;
border-radius:999px;padding:.3rem .65rem;font-size:.9rem;font-weight:650}
#cookie-status[data-state=verified],#sync-status[data-state=ok]{background:#e8f7ee;
color:#17663a}#cookie-status[data-state=required],#sync-status[data-state=down]{
background:#fdecec;color:#a52a2a}#cookie-status[data-state=unverified],
#sync-status[data-state=degraded]{background:#fff4d8;color:#805b00}ul{list-style:none;
padding:0;margin:.5rem 0 1rem}#synced-courses{max-height:28rem;overflow:auto;
padding-right:.25rem}#missing-courses,#historical-courses{max-height:16rem;overflow:auto}
li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;
border-bottom:1px solid #e8ebef}li span{min-width:0;overflow-wrap:anywhere}li small{
color:#68707c;white-space:nowrap}h3{margin:1.35rem 0 .25rem;font-size:1rem}
@media(max-width:540px){main{margin:1.5rem auto;padding:0 .8rem 2rem}section{
padding:1rem}li{align-items:flex-start}button{width:100%}button+button{
margin:.5rem 0 0}}