:root{
  color-scheme:dark;
  --bg:#0b0d12;--panel:#141821;--panel2:#191e29;--text:#f5f7fb;--muted:#9299a8;
  --line:#292f3d;--accent:#7c5cff;--accent2:#9f8bff;--danger:#ff6b6b;--ok:#57d68d;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}
.topbar{min-height:68px;display:flex;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(11,13,18,.94);position:sticky;top:0;z-index:10}
.brand{font-weight:850;font-size:1.25rem;text-decoration:none;letter-spacing:-.03em}
.nav{display:flex;gap:6px;flex:1;overflow:auto}
.nav a{padding:9px 12px;text-decoration:none;color:var(--muted);border-radius:9px;white-space:nowrap}
.nav a:hover,.nav a.active{background:var(--panel2);color:var(--text)}
.userbox{display:flex;gap:12px;align-items:center;font-size:.9rem;white-space:nowrap}.userbox a{color:var(--muted)}
.container{width:min(1180px,calc(100% - 32px));margin:34px auto 60px}
.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.page-head h1{margin:0 0 5px;font-size:2rem;letter-spacing:-.04em}.page-head p,.muted{margin:0;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.stats article,.panel,.platform-card,.empty{background:var(--panel);border:1px solid var(--line);border-radius:16px}
.stats article{padding:20px}.stats strong{font-size:2rem;display:block}.stats span{color:var(--muted)}
.empty{padding:60px 25px;text-align:center}.empty-icon{font-size:3rem}.empty h2{margin-bottom:6px}.empty p{color:var(--muted);max-width:650px;margin:0 auto 22px}
.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-card{padding:18px;display:flex;justify-content:space-between;align-items:center}.platform-card div{display:flex;flex-direction:column}.platform-card span{color:var(--muted);font-size:.9rem}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:.78rem!important;color:var(--muted)!important}.badge.soon{color:var(--accent2)!important;border-color:#5747a3}.badge.ok{color:var(--ok)!important}.badge.off{color:var(--danger)!important}
.panel{padding:22px;margin-bottom:18px}.panel h2{margin-top:0}
label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:650}
input,select{width:100%;background:#0e1118;border:1px solid var(--line);border-radius:9px;padding:11px 12px;color:var(--text);outline:none}
input:focus,select:focus{border-color:var(--accent)}
button,.button{border:0;border-radius:10px;background:var(--accent);color:white;padding:11px 16px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}
button.secondary,.button.secondary{background:var(--panel2);border:1px solid var(--line)}
button.small{padding:7px 10px;font-size:.8rem}
.grid-form,.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-action{display:flex;align-items:end}.form-narrow{max-width:520px;display:grid;gap:14px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.8rem}small{color:var(--muted)}
.inline{display:inline-block}.inline select{min-width:130px;padding:7px 8px}
.reset-box{display:inline-block;margin-left:6px}.reset-box summary{cursor:pointer;color:var(--muted);font-size:.85rem}.reset-box form{display:flex;gap:6px;margin-top:8px;min-width:260px}
.profile-list{margin:0}.profile-list div{display:grid;grid-template-columns:160px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.profile-list div:last-child{border-bottom:0}.profile-list dt{color:var(--muted)}.profile-list dd{margin:0;font-weight:650}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#181329 0,#0b0d12 45%)}
.auth-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}.setup-card{width:min(760px,100%)}.auth-card h1{margin:0;font-size:2rem}.auth-card form{display:grid;gap:16px;margin-top:24px}.auth-card h2{font-size:1.05rem;margin:6px 0 0}
.flash{padding:12px 14px;border-radius:10px;margin:14px 0;border:1px solid var(--line)}.flash.error{border-color:#7b3434;background:#261414;color:#ffb2b2}.flash.success{border-color:#265f40;background:#10251a;color:#a9efc5}
.hint{color:var(--muted);font-size:.88rem}.footer{text-align:center;color:var(--muted);font-size:.8rem;padding:18px}
code{background:#0d1016;padding:2px 5px;border-radius:5px}
@media(max-width:800px){.topbar{padding:12px 16px;gap:12px;flex-wrap:wrap}.brand{flex:1}.nav{order:3;width:100%}.userbox span{display:none}.container{width:min(100% - 22px,1180px);margin-top:22px}.stats{grid-template-columns:1fr}.platform-grid,.grid-form,.grid2{grid-template-columns:1fr}.profile-list div{grid-template-columns:1fr;gap:4px}}
.logout-form{display:inline;margin:0}.link-button{padding:0;background:none;border:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}.check input{width:auto}.inline{gap:6px;align-items:center}
