:root{--bg:#0f1115;--card:#181b22;--fg:#e6e6e6;--mut:#8a93a3;--acc:#5aa9ff;--mine:#f0b429;--bad:#ff6b6b}
*{box-sizing:border-box}body{margin:0;font:14px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #262a33}
h1{font-size:18px;margin:0}h2{font-size:14px;margin:0 0 8px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
main{padding:16px 20px;display:grid;gap:16px}
.top{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.6fr);gap:16px}
@media(max-width:900px){.top{grid-template-columns:1fr}}
.card{background:var(--card);border-radius:10px;padding:14px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{display:block;background:#20242d;border-radius:8px;padding:12px;color:var(--fg);text-decoration:none;min-height:74px}
.tile:hover{outline:1px solid var(--acc)}.tile b{font-size:15px}.tile small{display:block;color:var(--mut);margin-top:4px}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.charts .wide{grid-column:1/3}
canvas{max-height:220px}
.bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
select,input,button{background:#20242d;color:var(--fg);border:1px solid #2e3440;border-radius:6px;padding:5px 8px;font:inherit}
button{cursor:pointer}button:hover{border-color:var(--acc)}
.seg button.on{background:var(--acc);color:#000}
table{width:100%;border-collapse:collapse;font-size:12.5px}th,td{text-align:left;padding:5px 6px;border-bottom:1px solid #262a33;vertical-align:top}
th{color:var(--mut);font-weight:600}td.ip{white-space:nowrap}
tr.mine td{color:var(--mine)}.tag{font-size:11px;padding:1px 5px;border-radius:4px;background:#2b3240;margin-left:4px}
.tag.mine{background:var(--mine);color:#000}.mut{color:var(--mut)}.err{color:var(--bad)}
.login{max-width:340px;margin:12vh auto;display:grid;gap:10px}.login input{padding:9px}
.mini{font-size:11px;padding:2px 6px}
h3{font-size:13px;margin:16px 0 6px;color:var(--fg)}
.kill{border:1px solid #3a2a2a;border-radius:8px;padding:10px;margin-bottom:6px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.kill.on{background:#3a1414;border-color:var(--bad)}
.kill button.danger{background:var(--bad);color:#000;border-color:var(--bad)}
.st-active{color:#5ad17a}.st-revoked,.st-expired{color:var(--mut)}
td.link input{width:100%;min-width:180px;font-size:11px}
