@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#07131e;--panel:#102332;--line:#29414f;--muted:#8098aa;--text:#e5f0f7;--mint:#b5f67e;--cyan:#74cfea;--amber:#edc47b;--red:#f49a9b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:radial-gradient(ellipse at 8% 0,#1c433c55,transparent 38%),radial-gradient(ellipse at 100% 45%,#14324844,transparent 46%),var(--bg);color:var(--text);font:14px/1.5 Manrope,system-ui,sans-serif;min-height:100dvh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}input,select{width:100%;min-height:46px;padding:11px 13px;border:1px solid #35515f;border-radius:11px;background:#091b29;color:var(--text);font-size:16px}input:focus,select:focus{outline:2px solid #b5f67e22;border-color:#90b76a}label{display:block;color:#a0b6c5;font-size:12px;margin:14px 0 7px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.7px}h1{font-size:36px;line-height:1.2;margin-bottom:8px}h2{font-size:21px;margin:4px 0 0;line-height:1.3}h3{font-size:15px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:2px;color:#93bba6}small{font-size:11px}[hidden]{display:none!important}.appHeader{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#091923ed;backdrop-filter:blur(12px);border-bottom:1px solid #34534577;padding:14px max(20px,calc((100vw - 1240px)/2));padding-top:calc(14px + env(safe-area-inset-top));min-height:78px}.appBrand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;letter-spacing:.3px;white-space:nowrap}.appBrand img{width:41px;height:41px;border-radius:12px}.appBrand b{color:var(--mint);font-size:10px;letter-spacing:1px;margin-left:3px}.appBrand small{display:block;font-size:7px;letter-spacing:2.4px;color:#739195;font-weight:600;margin-top:2px}.headerActions{display:flex;gap:7px}.iconButton{background:#172e3c;border:1px solid #35545e;color:#bdd5df;border-radius:11px;min-height:40px;min-width:40px;padding:7px 12px;font-size:13px}.demoWarning{font-size:11px;line-height:1.5;text-align:center;background:#61482055;color:#e4c896;padding:9px 15px;border-bottom:1px solid #8a6a3c55}.loginScreen{max-width:430px;margin:8vh auto;padding:0 25px 30px}.loginScreen>small{display:block;letter-spacing:2px;color:#8eae93;font-size:8px}.loginScreen h1{font-size:43px;margin:11px 0}.loginScreen p{color:#8fa8bb;font-size:13px;line-height:1.8}.loginMark{width:60px;height:60px;display:grid;place-items:center;font-size:35px;font-weight:800;background:#b5f67e19;border:1px solid #b5f67e66;border-radius:19px;color:var(--mint);margin-bottom:22px}.loginScreen a{display:inline-block;font-size:11px;margin:12px 16px 0 0;color:#9fbacf}.primary,.secondary{min-height:44px;border-radius:11px;padding:11px 16px;font-weight:750;border:1px solid #c9ff9e;background:linear-gradient(130deg,#c6ff8b,#93db6b);color:#18301c;font-size:12px}.secondary{background:#183344;border-color:#3c5a6b;color:#bfd8e6}.primary{box-shadow:0 5px 18px #a0d86b14}.loginScreen .primary{width:100%;margin:22px 0 10px;min-height:48px}main{max-width:1240px;margin:auto;padding:30px 20px 110px}.hero{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.hero p{font-size:12px;color:#839eae;margin:8px 0 0}.statusPill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;font-weight:650;color:#b5ee96;background:#193f2e7a;border:1px solid #77a45c55;padding:6px 10px;border-radius:30px}.statusPill:before{content:'';width:5px;height:5px;flex-shrink:0;background:currentColor;border-radius:50%}.statusPill.neutral{color:#90adbf;background:#1b344477;border-color:#45617266}.statusPill.warn{color:var(--amber);background:#44391d77;border-color:#b18b4f66}.statusPill.danger{color:var(--red);background:#4b292d77;border-color:#a9636966}.syncLine{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#607e92;margin-bottom:22px}.textButton{border:0;background:none;color:#8da9bb;font-size:10px;padding:5px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.kpi{position:relative;min-height:130px;border:1px solid #2e4b58;border-radius:17px;padding:19px;background:linear-gradient(125deg,#18323b,#0e202e);overflow:hidden}.kpi small{display:block;font-size:8px;color:#8fadb7;letter-spacing:1.4px;font-weight:650}.kpi strong{font-size:34px;display:block;font-weight:800;letter-spacing:-1px;line-height:1.3;margin:8px 0 5px;font-variant-numeric:tabular-nums}.kpi span{display:block;color:#7494a4;font-size:10px}.kpiIcon{position:absolute;right:15px;top:13px;color:#8dbb9530;font-style:normal;font-size:29px}.occupancyKpi{display:flex;justify-content:space-between;align-items:center;gap:4px}.occupancyRing{width:70px;height:70px;flex-shrink:0;transform:rotate(-90deg)}.occupancyRing circle{fill:none;stroke-width:5}.ringTrack{stroke:#26424b}#occupancyArc{stroke:#b5f67e;stroke-linecap:round;stroke-dasharray:194.78;stroke-dashoffset:194.78;transition:stroke-dashoffset .5s}.kpi .timeValue{font-size:30px;letter-spacing:.2px}.dashboardGrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px}.mainColumn,.sideColumn{min-width:0}.panel{background:linear-gradient(145deg,#112938,#0b1d2b);border:1px solid #2a4657;border-radius:18px;padding:20px;margin-bottom:22px;overflow:hidden}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.subPill{font-size:10px;color:#8bafbf;border:1px solid #315263;background:#102a3a;border-radius:8px;padding:6px 9px;white-space:nowrap}.sectionNote{font-size:11px;color:#7c9bae;line-height:1.7;margin:12px 0 17px}.radarRows{display:flex;flex-direction:column;gap:15px;max-height:420px;overflow:auto;padding-right:3px}.radarRow{display:grid;grid-template-columns:minmax(75px,.7fr) minmax(50px,1fr) 44px;align-items:center;gap:12px;background:none;border:0;padding:0;color:inherit;text-align:left;min-height:37px;width:100%}.radarLabel{min-width:0}.radarLabel strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radarLabel small{color:#6c8ea1;font-size:9px}.radarTrack{height:9px;position:relative;border-radius:8px;background:#1a3545;overflow:hidden}.radarFill{height:100%;border-radius:8px;background:linear-gradient(90deg,#619565,#bbf67d);transition:width .4s}.radarFill.warn{background:linear-gradient(90deg,#9b7841,#f1c879)}.radarFill.danger{background:linear-gradient(90deg,#9c5961,#f6a1a5)}.radarAmount{text-align:right;font-size:11px;color:#b1ccd9;font-variant-numeric:tabular-nums}.radarRow:hover .radarLabel strong{color:var(--mint)}.roomSection{margin-bottom:20px}.roomSection>.sectionHead{margin-bottom:15px}.smallButton{min-height:38px;padding:8px 12px;font-size:11px;white-space:nowrap}.roomFilters{display:flex;gap:8px;margin-bottom:14px}.roomFilters input{flex:1;min-width:0;font-size:13px}.roomFilters select{max-width:140px;font-size:12px}.roomCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roomCard{padding:17px;border:1px solid #294858;background:linear-gradient(145deg,#132d3b,#0c202f);border-radius:16px;min-width:0;position:relative}.roomCard h3{font-size:15px;margin:8px 0 3px;overflow-wrap:anywhere}.roomCard .roomTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.roomMode{font-size:8px;color:#6f99ad;letter-spacing:1px}.roomCard .statusPill{font-size:8px;padding:4px 7px}.roomHint{font-size:9px;color:#718fa2;display:flex;gap:8px;margin:6px 0 14px;flex-wrap:wrap}.roomCountdown{font-size:27px;font-weight:750;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#c5f293;display:block;line-height:1.25}.roomCountdown.ending{color:#f1c77d}.roomTimeLabel{font-size:8px;color:#6d8fa1;letter-spacing:1.2px;margin-top:3px}.roomOccupancy{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:9px;color:#88a9b9;margin:15px 0 6px}.roomOccupancy strong{color:#c5dbe7;font-size:11px}.roomCard .radarTrack{height:5px}.roomFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #294555;margin-top:14px;padding-top:12px}.roomFooter span{font-size:9px;color:#6b8d9f;min-width:0}.roomFooter button{font-size:10px;color:#c0e9a8;border:1px solid #67945c55;background:#739a4820;padding:7px 10px;min-height:34px;border-radius:9px;white-space:nowrap}.metricCard{padding:14px 0;border-bottom:1px solid #294553}.metricCard>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.metricCard small{font-size:8px;color:#7c9caa;letter-spacing:1.2px}.metricCard strong{font-size:23px;font-weight:750;letter-spacing:-.7px}.metricCard>span{font-size:8px;color:#658899}.sparkChart{height:48px;margin:5px 0 2px;color:#b4ed83}.sparkChart.blue{color:#76c4e5}.sparkChart.amber{color:#edc07c}.sparkChart svg{display:block;width:100%;height:100%;overflow:visible}.sparkChart .chartEmpty{font-size:9px;display:flex;align-items:center;height:100%;color:#648397}.serverFacts{font-size:10px;margin:17px 0}.serverFacts p{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:11px 0}.serverFacts span{color:#7798aa}.serverFacts b{text-align:right;font-weight:600;color:#b2cbd9}.fullWidth{width:100%}.backupLinks{display:flex;gap:7px;flex-direction:column;margin-top:10px}.backupLinks a{font-size:10px;color:#87b7c9;padding:5px 0}.activityRow{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid #223f50}.activityRow:last-child{border:0;padding-bottom:0}.activityDot{width:7px;height:7px;background:#8db96b;box-shadow:0 0 0 4px #8db96b0d;border-radius:50%;flex-shrink:0;margin-top:7px}.activityDot.warn{background:#d5ad6e}.activityRow p{font-size:11px;color:#adcad8;margin:0}.activityRow small{font-size:9px;color:#5d8296;display:block;margin-top:5px}.liveDot{width:7px;height:7px;background:#9ae26c;border-radius:50%;box-shadow:0 0 0 5px #9ae26c10}.empty{padding:20px 0;text-align:center;color:#6c8d9f;font-size:12px;line-height:1.8}.fullPanelLink{display:block;background:linear-gradient(120deg,#29452d66,#123044);border:1px solid #476344;border-radius:16px;padding:18px;font-weight:700;font-size:15px}.fullPanelLink>span{float:right;color:#b5e983}.fullPanelLink small{display:block;color:#789b9a;font-size:9px;margin-top:7px;font-weight:400}.appDock{display:flex;align-items:center;justify-content:space-around;position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:35;max-width:430px;width:calc(100% - 24px);border:1px solid #365363;background:#0e2432ed;backdrop-filter:blur(15px);border-radius:19px;padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-shadow:0 12px 35px #0005}.appDock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:9px;color:#658a9d;width:22%;min-height:42px;border-radius:12px}.appDock a>span{font-size:22px;line-height:26px}.appDock a.active{color:#baf488;background:#9fe26b10}.appToast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);z-index:100;background:#234232;border:1px solid #7caa63;color:#d7f8bc;padding:12px 18px;border-radius:12px;font-size:12px;max-width:min(430px,92vw);box-shadow:0 10px 35px #0007}.appDialog{background:linear-gradient(140deg,#183441,#0b1f2d);color:var(--text);border:1px solid #446273;border-radius:22px;padding:23px;width:min(620px,94vw);max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #0008}.appDialog::backdrop{background:#020b13c9;backdrop-filter:blur(4px)}.appDialog header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.appDialog h2{font-size:24px;margin:5px 0}.closeButton{width:38px;height:38px;flex-shrink:0;border:1px solid #446474;border-radius:11px;background:#1e3e50;color:#a8c6d5;font:24px Arial}.appDialog form>.primary{width:100%;margin-top:24px}.appDialog p{color:#96b2c3;font-size:13px;line-height:1.8}.detailGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.detailStat{background:#0c2432;border:1px solid #335161;border-radius:12px;padding:11px}.detailStat span{font-size:9px;color:#718fa0;display:block}.detailStat strong{font-size:19px;display:block;margin-top:5px;white-space:nowrap}.detailActions{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 23px}.detailActions button{min-height:39px;padding:8px 11px;font-size:10px;border:1px solid #466372;border-radius:9px;background:#1b394a;color:#bad6e6}.detailActions .danger{border-color:#8b5659;color:#efb9b9;background:#592c3533}.playerRow{border-top:1px solid #2a4a5c;padding:13px 0}.playerRow strong{font-size:13px}.playerRow small{display:block;color:#7094a7;font-size:10px;margin:4px 0 8px}.playerActions{display:flex;gap:6px;align-items:center}.playerActions input{font-size:14px;min-height:38px;max-width:130px;padding:7px 10px}.playerActions button{min-height:38px;padding:8px 11px;font-size:10px;border:1px solid #456679;background:#1d3c4f;color:#bdd9e9;border-radius:9px}.advancedRoomLink{display:block;font-size:12px;color:#bae88f;margin-top:20px}.confirmActions{display:flex;justify-content:end;gap:8px;margin-top:23px}.updateApp{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:80;background:#b5f67e;color:#1c3020;border:0;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:700}
@media(min-width:900px){.appDock{bottom:16px}.appHeader{padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}.serverPanel{position:relative}.sideColumn{padding-top:0}}
@media(max-width:750px){.appHeader{padding:12px 17px;padding-top:calc(12px + env(safe-area-inset-top));min-height:72px}.appBrand{font-size:14px;gap:9px}.appBrand img{width:36px;height:36px}.appBrand b{font-size:8px}.appBrand small{font-size:6px;letter-spacing:2px}.iconButton{padding:7px 10px;min-width:37px;min-height:37px;font-size:11px}main{padding:24px 16px 115px}.hero{align-items:start;margin-bottom:12px}.hero h1{font-size:29px}.hero .eyebrow{font-size:7px;letter-spacing:1.4px}.hero p{font-size:10px;max-width:240px}.hero .statusPill{font-size:8px;margin-top:5px;padding:6px 8px}.syncLine{font-size:9px;margin-bottom:17px}.kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.kpi{padding:15px;min-height:116px;border-radius:15px}.kpi small{font-size:7px;letter-spacing:1.2px}.kpi strong{font-size:31px}.kpi span{font-size:9px}.kpi .timeValue{font-size:28px}.kpiIcon{font-size:22px;right:12px;top:11px}.occupancyRing{width:58px;height:58px;margin-right:-5px}.occupancyKpi strong{font-size:28px}.dashboardGrid{grid-template-columns:1fr;gap:2px}.panel{padding:17px;margin-bottom:21px;border-radius:17px}.sectionHead h2{font-size:19px}.eyebrow{font-size:8px;letter-spacing:1.7px}.sectionNote{font-size:10px;line-height:1.7}.radarRows{max-height:340px;gap:12px}.radarRow{grid-template-columns:minmax(90px,.9fr) minmax(65px,1.2fr) 42px;gap:10px}.radarLabel strong{font-size:11px}.roomCard{padding:14px;border-radius:15px}.roomCard h3{font-size:14px}.roomCards{gap:10px}.roomCard .roomTop{align-items:start;flex-direction:column;gap:5px}.roomMode{font-size:7px}.roomCountdown{font-size:24px}.roomHint{font-size:8px;gap:5px;min-height:24px;margin-bottom:9px}.roomOccupancy{font-size:8px}.roomFooter{align-items:start;flex-direction:column;gap:7px}.roomFooter button{width:100%;min-height:35px}.serverPanel .metricCard{padding:16px 0}.sparkChart{height:57px}.serverFacts{font-size:11px}.serverFacts p{margin:13px 0}.appDialog{padding:19px;border-radius:19px;max-height:calc(100dvh - 28px)}.appDialog h2{font-size:21px}.detailGrid{gap:6px}.detailStat{padding:10px}.detailStat strong{font-size:17px}.loginScreen{margin:6vh auto}.activityPanel{margin-bottom:16px}}
@media(max-width:350px){.appBrand b{display:none}.occupancyRing{width:45px;height:45px}.radarRow{grid-template-columns:80px 1fr 34px;gap:7px}.roomCards{grid-template-columns:1fr}.kpi{padding:13px}.kpi strong{font-size:28px}.roomCard .roomTop{flex-direction:row}.roomFooter{flex-direction:row}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
