*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#080b12;color:#e9edf5}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#0d111a;border-right:1px solid #1c2431;padding:22px 14px;position:fixed;inset:0 auto 0 0;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:5px 12px 28px}.logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#e63245,#24c96f);font-weight:900}.brand b{font-size:21px}.brand b span{color:#f04a59}.brand small{display:block;color:#778397;font-size:9px;letter-spacing:2px;margin-top:2px}.nav{width:100%;border:0;background:transparent;color:#8e9aad;text-align:left;padding:12px 14px;border-radius:10px;margin:3px 0;cursor:pointer;display:flex;gap:12px;align-items:center}.nav:hover,.nav.active{background:#171e2a;color:#fff}.nav.active{box-shadow:inset 3px 0 #f04455}.sidebar-foot{position:absolute;bottom:22px;left:25px;color:#8995a7;font-size:12px}.dot,.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#27d878;margin-right:7px}.main{margin-left:250px;width:calc(100% - 250px);padding:0 30px 50px}.topbar{height:72px;border-bottom:1px solid #1a222f;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:17px}.topbar small{margin-left:12px;color:#69768a;font-size:11px;font-weight:400}.top-actions{display:flex;gap:16px;align-items:center}.icon-btn{background:#111721;color:#b7c0ce;border:1px solid #202a38;border-radius:9px;padding:8px 10px;cursor:pointer}.status{font-size:12px;color:#9aa6b8}.admin{background:#151c27;padding:8px 12px;border-radius:10px;color:#fff}.admin span{margin-left:5px;color:#a6b0bf}.page{display:none;padding-top:28px}.page.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{color:#f04a59;font-size:11px;font-weight:800;letter-spacing:2px}.hero h1{font-size:30px;margin:7px 0 5px}.hero p{color:#7f8b9e;margin:0}.hero select{background:#111721;color:#ddd;border:1px solid #283242;border-radius:9px;padding:10px 14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.card{background:#111721;border:1px solid #202a38;border-radius:14px;padding:18px;min-height:125px;position:relative;overflow:hidden}.card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;top:-25px;opacity:.08;background:currentColor}.card span{display:block;color:#8995a7;font-size:12px}.card strong{display:block;font-size:29px;margin:13px 0 5px}.card em{font-style:normal;color:#758297;font-size:11px}.c1{color:#52a7ff}.c2{color:#31d98a}.c3{color:#ff6071}.c4{color:#bd7cff}.live-text{color:#31d98a!important}.online-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px}.online-card,.panel{background:#111721;border:1px solid #202a38;border-radius:14px}.online-card{padding:17px}.online-card b{font-size:13px}.online-card strong{display:block;font-size:26px;margin:9px 0 2px}.online-card small{color:#7f8b9e}.bar{height:5px;background:#202a36;border-radius:5px;margin-top:13px;overflow:hidden}.bar i{display:block;height:100%;background:#31d98a;border-radius:5px}.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:15px;margin-bottom:15px}.panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h3{margin:0;font-size:15px}.panel-head span{font-size:11px;color:#758297}.panel canvas{max-height:280px}.legend{display:flex;justify-content:center;gap:20px;color:#8793a5;font-size:11px;margin-top:10px}.row{display:grid;grid-template-columns:40px 1fr 110px 90px;gap:10px;align-items:center;padding:12px 5px;border-bottom:1px solid #1c2532;font-size:12px}.row:last-child{border-bottom:0}.rank{color:#69768a}.name{font-weight:700}.muted{color:#778397}.pill{display:inline-block;padding:5px 8px;border-radius:20px;background:#1b2532;color:#91a1b6;font-size:10px}.good{color:#32d98b}.bad{color:#ff6574}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:17px 2px;border-bottom:1px solid #1d2633}.settings-row:last-child{border:0}.settings-row b{display:block;font-size:13px}.settings-row small{display:block;color:#748195;margin-top:4px}.switch input{display:none}.switch span{display:block;width:48px;height:26px;border-radius:20px;background:#303a49;position:relative;cursor:pointer}.switch span:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.switch input:checked+span{background:#24bd72}.switch input:checked+span:after{left:25px}.url-add{display:flex;gap:10px;margin-bottom:15px}.url-add input{flex:1;background:#0c1119;color:#e8edf4;border:1px solid #283342;border-radius:9px;padding:12px}.url-add button{border:0;border-radius:9px;padding:0 16px;background:#e83f51;color:#fff;font-weight:700;cursor:pointer}.url-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #202a38;border-radius:9px;margin-top:8px;background:#0d121a}.url-item code{color:#8fb9ff}.remove{border:0;background:#2a1720;color:#ff7180;border-radius:7px;padding:6px 9px;cursor:pointer}@media(max-width:950px){.sidebar{width:72px}.brand div:not(.logo),.nav span,.sidebar-foot{display:none}.main{margin-left:72px;width:calc(100% - 72px);padding:0 18px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.online-grid{grid-template-columns:1fr}}@media(max-width:600px){.main{padding:0 10px}.cards{grid-template-columns:1fr}.online-grid{grid-template-columns:1fr}.hero{align-items:flex-start;gap:12px;flex-direction:column}.top-actions .status,.top-actions .icon-btn{display:none}}


/* Firebase Admin Authentication */
.login-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(32,211,128,.16),transparent 34%),radial-gradient(circle at 85% 80%,rgba(255,70,70,.12),transparent 30%),#080b10}.login-card{width:min(430px,100%);padding:34px;border:1px solid #263243;border-radius:22px;background:#10151d;box-shadow:0 24px 80px rgba(0,0,0,.45)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.login-brand .logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e91e63;color:#fff}.login-brand b{font-size:22px}.login-brand b span{color:#39d98a}.login-brand small{display:block;color:#8995a7;font-size:10px;letter-spacing:1.5px;margin-top:2px}.login-card h1{margin:0 0 7px;font-size:30px}.login-subtitle{margin:0 0 24px;color:#8995a7;line-height:1.5}.login-card label{display:block;font-size:13px;color:#aab4c3;margin:14px 0}.login-card input{box-sizing:border-box;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #2a3545;border-radius:10px;background:#0b1016;color:#fff;outline:none}.login-card input:focus{border-color:#39d98a;box-shadow:0 0 0 3px rgba(57,217,138,.1)}#loginBtn{width:100%;margin-top:8px;padding:13px;border:0;border-radius:10px;background:#39d98a;color:#07110b;font-weight:800;cursor:pointer}#loginBtn:disabled{opacity:.65;cursor:wait}.login-error{min-height:20px;margin-top:12px;color:#ff7c7c;font-size:13px}.login-note{margin-top:18px;padding-top:16px;border-top:1px solid #222d3b;color:#718096;font-size:11px;line-height:1.5}.login-note code{color:#a8f0c9}.app-locked{display:none}.logout-btn{margin-left:10px;padding:6px 9px;border:1px solid #334052;border-radius:8px;background:transparent;color:#b9c3d0;cursor:pointer}.logout-btn:hover{border-color:#39d98a;color:#39d98a}
.empty-state{padding:24px;text-align:center;color:#69768a;border:1px dashed #263242;border-radius:12px;background:rgba(10,16,25,.45)}
.status{white-space:nowrap}

.password-wrap{position:relative;width:100%}.password-wrap input{width:100%;padding-right:48px;box-sizing:border-box}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#9aa7b8;cursor:pointer;font-size:17px;line-height:34px;padding:0}.password-toggle:hover{color:#fff;background:rgba(255,255,255,.06)}.password-toggle:focus-visible{outline:2px solid #36d98a;outline-offset:1px}
.inline-control{display:flex;gap:8px;align-items:center}.inline-control.wide{flex:1;max-width:820px}.inline-control.wide input{width:100%;}.inline-control input{width:100px;background:#0c1119;color:#e8edf4;border:1px solid #283342;border-radius:9px;padding:9px}.save-btn,.import-btn{border:0;border-radius:9px;padding:9px 13px;background:#24bd72;color:#07110b;font-weight:800;cursor:pointer}.import-btn{display:inline-flex;align-items:center;background:#202b3a;color:#dbe5f0}.import-btn:hover,.save-btn:hover{filter:brightness(1.08)}
.status.offline i{background:#ff6574}.status.offline{color:#ff9aa5}
