:root{--bg-soft:#f3f8f6;--bg-warm:#fdebd8;--ink:#112529;--ink-muted:#4f6164;--brand:#c6202f;--brand-dark:#891a23;--danger:#bc3908;--panel:#ffffffe0;--stroke:#11252924;--ok:#0e9f6e}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 10% 10%, #f25c541c, transparent 32%), radial-gradient(circle at 90% 0%, #c6202f29, transparent 28%), linear-gradient(160deg, var(--bg-soft), var(--bg-warm));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:all-round-gothic,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:all-round-gothic,Segoe UI,sans-serif;font-weight:700}.shell{max-width:1180px;margin:0 auto;padding:1.25rem}.content{margin-top:1rem}.top-nav{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1.25rem;gap:.9rem;padding:1rem;display:grid}.eyebrow{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.08em;font-family:all-round-gothic,Segoe UI,sans-serif;font-size:.76rem;font-weight:400}.brand{font-size:clamp(1.1rem,2vw,1.55rem)}.nav-links{flex-wrap:wrap;gap:.55rem;display:flex}.nav-link{border:1px solid var(--stroke);background:#ffffff8c;border-radius:999px;padding:.5rem .9rem;font-size:.9rem}.nav-link-active{background:var(--brand);color:#fff;border-color:#0000}.user-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.user-email{color:var(--ink-muted);font-family:all-round-gothic,Segoe UI,sans-serif;font-size:.84rem;font-weight:400}.stack-lg{gap:1rem;display:grid}.stack-sm{gap:.7rem;display:grid}.stack-xs{gap:.3rem;display:grid}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:1.1rem;padding:1rem}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:.8rem;padding:.58rem .95rem;font-weight:600;transition:transform .12s,opacity .12s}.button:disabled{cursor:wait;opacity:.7}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--brand);color:#fff}.button-ghost{border-color:var(--stroke);background:#ffffffa6}.button-danger{color:var(--danger);background:#bc39081a;border-color:#bc390840}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:860px}.table th,.table td{text-align:left;border-bottom:1px solid var(--stroke);vertical-align:top;padding:.58rem}.table th{text-transform:uppercase;letter-spacing:.04em;font-family:all-round-gothic,Segoe UI,sans-serif;font-size:.8rem;font-weight:400}.input{border:1px solid var(--stroke);background:#fff;border-radius:.6rem;width:100%;padding:.52rem .62rem}.input:focus-visible{border-color:var(--brand);outline:2px solid #c6202f66}.muted{color:var(--ink-muted)}.small{font-size:.84rem}.badge{color:var(--brand-dark);background:#c6202f1f;border-radius:999px;padding:.25rem .55rem;font-family:all-round-gothic,Segoe UI,sans-serif;font-size:.8rem;font-weight:400}.alert{border:1px solid #0000;border-radius:.72rem;padding:.58rem .75rem}.alert-error{color:#832a0a;background:#f25c5426;border-color:#bc390852}.alert-success{color:#085f42;background:#0e9f6e26;border-color:#0e9f6e4f}.auth-wrap{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--panel);border:1px solid var(--stroke);border-radius:1.1rem;gap:.75rem;width:min(460px,100%);padding:1.25rem;display:grid}.align-right{justify-items:end}.filters{flex-wrap:wrap;align-items:flex-end;gap:.8rem;display:flex}.field{gap:.35rem;min-width:180px;display:grid}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.metric h3{color:var(--ink-muted);margin-bottom:.45rem;font-size:.92rem}.metric p{font-size:1.4rem;font-weight:700}.chart-panel{min-height:360px}.chart-panel svg path,.chart-panel svg g{outline:none}.chart-panel svg,.chart-panel svg *,.chart-panel svg :focus,.chart-panel svg :focus-visible,.chart-panel svg :active{outline:none!important}@media (max-width:900px){.metrics-grid{grid-template-columns:1fr}.shell{padding:.75rem}}
