:root{--navy:#0C2340;--blue:#8CBCE0;--bg:#F2F2F2;--border:#dce4ea;--muted:#687b8d;--green:#167a45}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f6f8fa;color:#172635}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0C2340,#1f527a)}.login-card{width:min(430px,92vw);background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 60px #0004}.brand{display:flex;align-items:center;gap:12px}.brand b,.brand span{display:block}.brand span{font-size:13px;color:#6998bd}.crest{width:48px;height:54px;border:2px solid var(--navy);border-radius:45%;display:grid;place-items:center;font-weight:900}.login-card p{color:var(--muted)}
label{display:block;font-size:13px;color:#536a7d;margin:14px 0}input,select{display:block;width:100%;padding:11px;border:1px solid #cbd7e0;border-radius:8px;margin-top:6px;font:inherit}.login-card button,.primary{padding:11px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-weight:800}.login-card button{width:100%}.error{color:#a22;margin-top:10px;font-size:13px}
#app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}aside{background:var(--bg);padding:18px 14px;display:flex;flex-direction:column;border-right:1px solid #e2e5e8}.brand.side{margin:0 10px 25px}.brand.side .crest{width:38px;height:44px}aside button{border:0;background:transparent;text-align:left;padding:10px 16px;border-radius:14px;color:var(--navy);cursor:pointer}aside button.active{background:var(--navy);color:#fff;font-weight:800}.spacer{flex:1}
main{min-width:0}header{height:84px;background:var(--blue);display:flex;justify-content:space-between;align-items:center;padding:0 34px}.search{background:var(--navy);color:#fff;padding:10px 17px;border-radius:16px;width:520px}#who{background:var(--navy);color:#fff;border-radius:12px;padding:9px 13px}.sandbox-banner{background:#fff0bf;color:#6e5500;padding:9px 34px;display:flex;gap:15px;font-size:13px}section{padding:32px}.hero{background:var(--blue);color:#fff;margin:-32px -32px 28px;padding:24px 32px}.hero h1{margin:0 0 5px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px}.metric b{display:block;font-size:28px}.metric span{color:var(--muted);font-size:12px}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:14px}.toolbar .right{display:flex;gap:8px}.btn,.toolbar button{border:1px solid #cbd7df;background:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;text-decoration:none;color:var(--navy)}.btn.primary,.toolbar button.primary{background:var(--navy);color:#fff}.toolbar input{width:280px;margin:0}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);font-size:13px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9edef}th{background:#f7f9fb;color:#52687a;font-size:11px}.pill{display:inline-block;border-radius:999px;padding:4px 7px;background:#e6edf3;margin:2px;font-size:11px}.ok{background:#dff5e8;color:var(--green)}.danger{color:#a22}.empty{padding:40px;text-align:center;color:var(--muted)}
dialog{border:0;border-radius:16px;width:min(650px,92vw)}dialog::backdrop{background:#07162499}#supporterForm{padding:24px}.notice{background:#fff0bf;color:#6e5500;padding:10px;border-radius:8px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){#app{grid-template-columns:210px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.search{width:300px}}
