:root{color-scheme:dark;--bg:#071016;--side:#09141c;--panel:#0d1a23;--panel2:#101f2a;--line:#1d303d;--text:#edf6fa;--muted:#8297a5;--blue:#35a7ff;--cyan:#35e0d0;--green:#4ce39a;--orange:#ffad57;--red:#ff6174;--radius:18px;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -20%,#14334a 0,transparent 40%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0a1720,#081119);border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column;z-index:5}.logo{display:flex;align-items:center;gap:12px;padding:0 9px 28px}.logo .mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#20c9ff,#275dff 58%,#ef335d 59%);font-weight:900;font-style:italic}.logo b,.logo small{display:block;letter-spacing:.12em}.logo small{font-size:9px;color:var(--muted);margin-top:2px}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#91a5b3;padding:11px 13px;border-radius:11px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;font-weight:650}nav button span{font-size:17px;width:22px;text-align:center}nav button:hover{background:#12232e;color:#dceaf1}nav button.active{color:#fff;background:linear-gradient(90deg,#12334a,#102633);box-shadow:inset 3px 0 var(--blue)}.side-foot{margin-top:auto;padding:14px 10px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.side-foot i{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px currentColor}.side-foot b,.side-foot small{display:block}.side-foot small{font-size:10px;color:var(--muted)}main{min-width:0;padding:0 30px 50px}.topbar{height:92px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #152630;margin-bottom:28px}.topbar h1{font-size:21px;margin:0}.topbar p{margin:3px 0 0;color:var(--muted)}.top-actions{margin-left:auto;display:flex;gap:9px}.top-actions select{min-width:200px}.mobile-menu{display:none}.page{display:none;animation:fade .25s ease}.page.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(4px)}}h2{font-size:28px;margin:5px 0 7px;letter-spacing:-.025em}h3{margin:5px 0 16px;font-size:17px}.eyebrow{font-size:10px;color:#52baff;letter-spacing:.18em;font-weight:800}.section-head,.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-head{margin-bottom:22px}.section-head p,.panel p{color:var(--muted)}.hero{position:relative;overflow:hidden;min-height:190px;border:1px solid #1b3f55;border-radius:24px;padding:35px;background:linear-gradient(110deg,#0e293a,#0b1d28 55%,#10394b);display:flex;align-items:center;justify-content:space-between}.hero:after{content:"";position:absolute;width:360px;height:360px;right:-90px;top:-160px;border-radius:50%;border:55px solid #35a7ff10;box-shadow:0 0 70px #35a7ff19}.hero h2{font-size:34px}.hero p{color:#9eb2bf;max-width:600px}.hero-status{z-index:1;border:1px solid #ffffff1d;background:#06111799;padding:13px 18px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;gap:9px}.hero-status i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 15px var(--red)}.hero-status.online i{background:var(--green);box-shadow:0 0 15px var(--green)}.stats{display:grid;gap:14px;margin:18px 0}.stats.four{grid-template-columns:repeat(4,1fr)}.stats article,.panel{background:linear-gradient(145deg,var(--panel),#0b171f);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 18px 50px #0002}.stats span{display:block;color:var(--muted);font-size:12px}.stats b{display:block;font-size:28px;margin:8px 0 2px}.stats small{color:#617887}.grid{display:grid;gap:17px;margin:17px 0}.grid.two{grid-template-columns:1.35fr 1fr}.telemetry{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.telemetry .metric{background:#08151d;border:1px solid #182d39;border-radius:14px;padding:14px;min-height:92px}.metric span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.metric b{display:block;font-size:22px;margin-top:12px}.metric b.na{color:#49606d}.refresh-note,.hint{font-size:11px;color:var(--muted)}select,input,textarea{width:100%;color:var(--text);background:#08151d;border:1px solid #263b48;border-radius:10px;padding:10px 11px;outline:0}input:focus,select:focus,textarea:focus{border-color:#318ac1;box-shadow:0 0 0 3px #318ac122}label{display:grid;gap:6px;color:#9bb0bd;font-size:12px;margin:12px 0}.row{display:flex;gap:12px;align-items:end}.row>*{flex:1}.icon-btn,button{border:1px solid #29404e;color:#d9e9f1;background:#10212c;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:650}button:hover{border-color:#3d7292;background:#153042}.primary{background:linear-gradient(135deg,#188ee8,#2269e8);border-color:#399fec;color:white;box-shadow:0 8px 25px #1479d733}button.danger{color:#ff93a0;border-color:#63303b}.chart-empty{height:210px;display:grid;place-items:center;color:var(--muted)}canvas{width:100%;max-height:250px}.health-list{display:grid;gap:9px}.health-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #172b36;padding:9px 0}.status{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;background:#24333d;color:#9db1bd}.status.online,.status.success,.status.verified,.status.active{background:#123c31;color:#70efb4}.status.warning,.status.partial,.status.delivered{background:#49351e;color:#ffc779}.status.error,.status.failed,.status.rejected{background:#4a222a;color:#ff8c9a}.status.queued,.status.new{background:#173a52;color:#66c5ff}.device-grid,.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.device-card,.profile-card{background:linear-gradient(150deg,#0e1e28,#0a161e);border:1px solid var(--line);border-radius:18px;padding:20px}.device-card header{display:flex;justify-content:space-between;gap:10px}.device-card h3,.profile-card h3{margin:8px 0}.device-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.device-meta div{background:#08141b;border-radius:10px;padding:10px}.device-meta small,.device-meta b{display:block}.device-meta small{color:var(--muted);font-size:10px}.device-card footer{display:flex;gap:8px}.config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.switch-line{display:flex;justify-content:space-between;align-items:center}.switch-line input{width:auto;accent-color:var(--blue)}.locked{background:linear-gradient(145deg,#12202a,#101a22);border-style:dashed}.feature-chips{display:flex;flex-wrap:wrap;gap:7px}.feature-chips span{padding:6px 9px;border:1px solid #27414f;border-radius:999px;color:#9cb3c1;font-size:11px}.upload-zone{position:relative;text-align:center;padding:30px}.upload-zone>input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-zone .row,.upload-zone button,.upload-zone progress{position:relative;z-index:2}.upload-icon{font-size:34px;color:var(--blue)}progress{width:100%;height:8px;margin-top:15px;accent-color:var(--blue)}.check-list p{margin:10px 0}.check-list .ok{color:#8ce9bd}.check-list .warn{color:#ffc27b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #1a2c37;vertical-align:middle}th{color:#708895;text-transform:uppercase;font-size:10px;letter-spacing:.1em}td{color:#c9d9e1}.mono{font-family:ui-monospace,Consolas,monospace;font-size:11px}.empty{text-align:center!important;color:var(--muted);padding:30px!important}.job-launcher{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.job-launcher button{text-align:left;padding:17px}.job-launcher b,.job-launcher small{display:block}.job-launcher small{color:var(--muted);margin-top:4px}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:110px 14px 1fr;gap:12px;position:relative;padding:9px 0}.timeline-item i{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:6px;box-shadow:0 0 10px #35a7ff88}.timeline-item small{color:var(--muted)}.timeline-item b{display:block}.timeline.compact .timeline-item:nth-child(n+6){display:none}.kv{display:grid}.kv p{display:flex;justify-content:space-between;border-bottom:1px solid #1b2d37;padding:10px 0;margin:0}.steps{display:grid;gap:14px;padding-left:22px}.steps li{padding-left:5px}.steps b,.steps span{display:block}.steps span{color:var(--muted);font-size:12px}.toast{position:fixed;right:24px;bottom:24px;max-width:360px;background:#153041;border:1px solid #2e5e78;border-radius:12px;padding:13px 16px;box-shadow:0 15px 45px #0007;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.toast.error{background:#40212a;border-color:#8e4353}dialog{width:min(680px,calc(100% - 30px));border:1px solid #29404e;border-radius:18px;background:#0d1a23;color:var(--text);padding:0;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#02080bb8;backdrop-filter:blur(5px)}dialog form{padding:25px}.modal-close{float:right;border:0;background:transparent;font-size:24px;padding:0}.muted{color:var(--muted)}@media(max-width:1150px){.stats.four{grid-template-columns:repeat(2,1fr)}.telemetry{grid-template-columns:repeat(2,1fr)}.device-grid,.profile-grid,.config-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.shell{display:block}.sidebar{position:fixed;left:-260px;width:245px;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:block}.topbar{height:auto;padding:18px 0}.topbar p{display:none}.top-actions select{min-width:130px}.grid.two,.device-grid,.profile-grid,.config-grid{grid-template-columns:1fr}.stats.four{grid-template-columns:1fr 1fr}main{padding:0 16px 35px}.hero{padding:25px}.hero h2{font-size:27px}.hero-status{display:none}.job-launcher{grid-template-columns:1fr 1fr}}@media(max-width:480px){.stats.four{grid-template-columns:1fr}.telemetry{grid-template-columns:1fr 1fr}.top-actions select{width:115px;min-width:0}.section-head{display:block}.section-head>button{margin-top:12px}}
