:root{--bg:#090c11;--panel:#11161e;--panel2:#0d1219;--line:#232c39;--text:#f1f5fa;--muted:#8390a2;--blue:#4a9eff;--green:#35d184;--red:#ff626d;--yellow:#ffbd52}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}.muted{color:var(--muted);margin:.25rem 0}.eyebrow{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.14em}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#0b0f15;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand span{display:block}.brand span{font-size:10px;color:var(--muted)}.logo{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#56adff,#176bdb);font-size:28px;font-weight:950;box-shadow:0 12px 35px #176bdb40}.logo.small{width:38px;height:38px;border-radius:12px;font-size:20px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#aab5c5;text-decoration:none;padding:11px 13px;border-radius:10px;font-weight:800}.sidebar nav a:hover,.sidebar nav a.active{background:#17202c;color:white}.connection{margin-top:auto;border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;gap:10px;align-items:center}.connection span{width:9px;height:9px;border-radius:50%;background:var(--yellow)}.connection span.ok{background:var(--green);box-shadow:0 0 0 5px #35d18418}.connection span.bad{background:var(--red)}.connection strong,.connection small{display:block}.connection small{color:var(--muted);font-size:10px;margin-top:3px}.content{padding:28px;max-width:1700px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.topbar h1{font-size:30px;letter-spacing:-.04em;margin:.15rem 0}.user{display:flex;align-items:center;gap:12px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}.stats article{border:1px solid var(--line);border-radius:16px;padding:15px;background:linear-gradient(180deg,#131923,#0f141c);min-height:100px;display:flex;flex-direction:column;justify-content:space-between}.stats span{font-size:11px;color:var(--muted);font-weight:800}.stats strong{font-size:30px}.stats .green strong{color:var(--green)}.stats .red strong{color:var(--red)}.stats .blue strong{color:var(--blue)}.stats .yellow strong{color:var(--yellow)}.grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:13px}.panel{border:1px solid var(--line);border-radius:17px;background:var(--panel);overflow:hidden}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:15px;margin:0}.toolbar{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line)}input,select{width:100%;color:var(--text);background:#090d13;border:1px solid var(--line);padding:11px 12px;border-radius:10px;outline:none}input:focus,select:focus{border-color:var(--blue)}select{width:150px}.device-list{padding:12px;display:grid;gap:10px}.device{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px}.device-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.device h3{margin:0 0 3px;font-size:14px}.device code{color:var(--muted);font-size:10px}.pill{border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.pill.online{color:#c9f8dc;background:#10291d;border:1px solid #215439}.pill.offline{color:#ffd3d8;background:#2a171c;border:1px solid #5a2d36}.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px}.facts div{padding:8px;background:#090d13;border:1px solid #1d2530;border-radius:9px;min-width:0}.facts span,.facts strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facts span{font-size:8px;text-transform:uppercase;color:var(--muted);font-weight:850}.facts strong{font-size:10px;margin-top:4px}.facts .good{color:var(--green)}.facts .warn{color:var(--yellow)}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.btn{color:var(--text);background:#19212c;border:1px solid #303b49;border-radius:9px;padding:8px 11px;font-weight:850;cursor:pointer}.btn:hover{filter:brightness(1.15)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary,.btn.blue{background:#176bdb;border-color:#3488ef}.btn.green{background:#12633d;border-color:#27865b}.btn.red{background:#70252d;border-color:#a33a45}.btn.full{width:100%}.release-card{padding:20px}.release-card span{display:block;color:var(--muted)}.release-version{font-size:31px}.release-card dl{display:grid;grid-template-columns:1fr auto;gap:8px}.release-card dt{color:var(--muted)}.release-card dd{margin:0;font-weight:800}.alert{padding:12px 14px;border-radius:11px;margin:12px 0;background:#17253a;border:1px solid #294b75}.alert.error{background:#34181d;border-color:#73313a;color:#ffd2d5}.alert.success{background:#10291d;border-color:#215439;color:#cdf9dc}.empty{padding:30px;text-align:center;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#14253d 0,transparent 35%)}.login-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 25px 80px #0008}.login-card h1{font-size:27px;margin:.7rem 0}.login-form{display:grid;gap:14px;margin-top:22px}.login-form label{font-size:11px;font-weight:850;color:#b5bfcc}.login-form input{margin-top:6px}@media(max-width:1100px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.facts{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.shell{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav,.connection{display:none}.content{padding:18px}.topbar{align-items:start}.user span{display:none}.stats{grid-template-columns:repeat(2,1fr)}.facts{grid-template-columns:repeat(2,1fr)}.actions .btn{flex:1}.toolbar{flex-direction:column}.toolbar select{width:100%}}
