:root{color-scheme:light dark;--bg:#f3f6fa;--surface:#fff;--text:#152238;--muted:#607089;--brand:#1463cc;--border:#dce4ef}@media(prefers-color-scheme:dark){:root{--bg:#111827;--surface:#1f2937;--text:#ecf3fc;--muted:#afbdd0;--border:#39485d}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem max(1rem,calc((100% - 72rem)/2));background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:800;color:var(--brand);text-decoration:none;font-size:1.2rem}.brand span{font-size:.85rem;color:var(--text);margin-inline-start:.4rem}.topbar a{color:inherit;text-decoration:none;margin-inline-start:1rem}.logout{display:inline}.logout button{padding:0;background:transparent;color:inherit;font-weight:normal}.shell{width:min(100% - 2rem,72rem);margin:2rem auto}.hero,.notice,.login-card,.metric{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:clamp(1.25rem,4vw,2.5rem)}.eyebrow{color:var(--brand);font-size:.8rem;font-weight:bold;letter-spacing:.08em}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin-top:1rem}.metric{padding:1.25rem}.metric strong{font-size:2.1rem;display:block;color:var(--brand)}.metric span{color:var(--muted)}.login-card{width:min(100%,28rem);margin:8vh auto}.login-card form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.45rem;font-weight:bold}input{padding:.8rem;border:1px solid var(--border);border-radius:.5rem;background:transparent;color:inherit;font:inherit}button{padding:.85rem;border:0;border-radius:.5rem;background:var(--brand);color:white;font:inherit;font-weight:bold;cursor:pointer}.table-wrap{overflow:auto;margin-top:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:45rem}th,td{text-align:right;padding:.85rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.85rem}.pager{display:flex;justify-content:center;gap:1rem;margin:1rem}.pager a{color:var(--brand)}.error{padding:.8rem;border-radius:.5rem;background:#c6282822;color:#b42318}@media(max-width:35rem){.topbar{align-items:flex-start;gap:.6rem;flex-direction:column}.shell{margin-top:1rem}}
