:root{--bg:#101311;--panel:#171b19;--line:#262b28;--text:#eef1ef;--muted:#8a9490;--accent:#6ee7b7}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent)}
.auth-shell{max-width:360px;margin:12vh auto 0;padding:0 20px}
.auth-shell h1{font-size:22px;margin-bottom:24px}
.auth-shell h1 span{color:var(--muted)}
.auth-form{display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px}
.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.auth-form input{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--text);font-size:14px}
.auth-form button{margin-top:4px;background:var(--accent);color:#06251a;border:none;border-radius:6px;padding:10px;font-weight:600;cursor:pointer}
.auth-error{color:#f87171;font-size:13px;margin:0}
.dash-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line)}
.dash-header h1{font-size:18px;margin:0}
.dash-header h1 span{color:var(--muted)}
.dash-header-right{display:flex;gap:10px;align-items:center}
select,.dash-header-right button{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px;cursor:pointer}
.dash{padding:24px;max-width:1100px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}
.card span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
.card strong{font-size:26px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;grid-column:span 1}
.panel:first-child{grid-column:span 2}
.panel h2{font-size:14px;color:var(--muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em}
table{width:100%;border-collapse:collapse;font-size:14px}
td{padding:6px 0;border-bottom:1px solid var(--line)}
td:last-child{text-align:right;color:var(--muted)}
.chart{display:flex;align-items:flex-end;gap:4px;height:120px}
.chart .bar{flex:1;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px}
#loading{text-align:center;color:var(--muted);margin-top:20vh}
@media(max-width:720px){.cards,.grid{grid-template-columns:1fr}.panel:first-child{grid-column:span 1}}
