:root{--bg:#08101c;--panel:#101b2b;--panel2:#16243a;--line:#243650;--text:#edf5ff;--muted:#91a4bd;--accent:#52a8ff;--green:#36d399;--red:#fb7185;--amber:#fbbf24;--shadow:0 24px 70px rgba(0,0,0,.28)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 85% -20%,#173d66 0,transparent 37%),var(--bg);color:var(--text);font-family:Tahoma,"Segoe UI",sans-serif;min-height:100vh}button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px max(22px,calc((100vw - 1320px)/2));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,16,28,.88);backdrop-filter:blur(16px)}.topbar h1{font-size:22px;margin:3px 0}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--accent)}.top-actions{display:flex;gap:10px;align-items:center}.container{max-width:1320px;margin:auto;padding:28px 22px 70px}.section-head,.panel-head,.device-title,.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head{margin:10px 0 18px}.section-head h2,.panel h2{margin:0 0 6px}.section-head p,.panel p{margin:0;color:var(--muted);font-size:13px}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;margin-bottom:28px}.device-card,.panel,.token-panel{background:linear-gradient(160deg,rgba(22,36,58,.94),rgba(13,24,39,.96));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.device-card{padding:20px}.device-title h3{margin:0 0 5px}.device-title code,.token-grid code{color:#b7d8ff}.status-dot{padding:6px 10px;border-radius:999px;font-size:12px}.status-dot.online{background:rgba(54,211,153,.13);color:var(--green)}.status-dot.offline{background:rgba(148,163,184,.12);color:#a7b0bf}.state-box{margin:18px 0 12px;padding:16px;border-radius:15px;display:flex;flex-direction:column;gap:6px;border:1px solid}.state-box.restricted{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.25)}.state-box.open{background:rgba(54,211,153,.08);border-color:rgba(54,211,153,.25)}.state-box.unknown{background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.state-box span{color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:1fr 1fr;margin:0 0 16px;gap:10px}.metrics div{background:rgba(255,255,255,.025);padding:10px;border-radius:10px}.metrics dt{font-size:11px;color:var(--muted)}.metrics dd{margin:5px 0 0;font-size:12px;overflow-wrap:anywhere}.metrics .error-line{color:#fda4af}.actions,.temp-row,.row-actions{display:flex;gap:8px;align-items:center}.actions form{flex:1}.actions .btn{width:100%}.temp-row{margin-top:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}.schedule-toggle{margin-top:10px}.btn,.mini{border:0;border-radius:11px;cursor:pointer;color:var(--text);background:#243650;padding:10px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:.15s}.btn:hover,.mini:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn.primary{background:linear-gradient(135deg,#268cff,#4bb5ff)}.btn.danger{background:rgba(251,113,133,.16);color:#fecdd3}.btn.success{background:rgba(54,211,153,.15);color:#a7f3d0}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.full{width:100%}.mini{padding:6px 9px;font-size:11px}.mini.on{color:#a7f3d0;background:rgba(54,211,153,.12)}.danger-text{color:#fda4af}.chip{background:var(--panel2);padding:8px 12px;border-radius:999px;font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.panel{padding:20px}.inline-form{display:flex;gap:8px;margin:16px 0}.inline-form input{flex:1}.stack{display:flex;flex-direction:column;gap:13px}.stack.compact{margin-top:16px}.stack label,.time-pair label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px}input,select{border:1px solid var(--line);background:#0c1726;color:var(--text);border-radius:10px;padding:11px 12px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(82,168,255,.1)}.list{margin-top:12px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.list-row small{display:block;color:var(--muted);margin-top:3px}.days{display:flex;gap:7px;flex-wrap:wrap}.days input{display:none}.days span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;cursor:pointer}.days input:checked+span{background:var(--accent);border-color:transparent}.time-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.timeline{max-height:520px;overflow:auto;padding-left:5px}.timeline-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}.tl-dot{margin-top:6px;width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(82,168,255,.1)}.timeline-item p{margin:4px 0 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:right;padding:10px;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}th{color:var(--muted)}.cmd{padding:4px 7px;border-radius:6px;background:rgba(148,163,184,.12)}.cmd.acknowledged{color:var(--green)}.cmd.failed{color:var(--red)}.cmd.delivered{color:var(--amber)}.alert{padding:13px 15px;border-radius:12px;margin:0 0 16px;border:1px solid}.alert.success{background:rgba(54,211,153,.1);border-color:rgba(54,211,153,.25)}.alert.danger{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.25)}.token-panel{padding:18px;margin-bottom:22px;border-color:rgba(251,191,36,.35)}.token-grid{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin:14px 0}.token-grid div{background:#08111f;padding:11px;border-radius:10px;overflow:auto}.token-grid small{display:block;color:var(--muted);margin-bottom:5px}.auth{display:grid;place-items:center;padding:22px}.auth-card{width:min(430px,100%);background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:28px;border-radius:24px;box-shadow:var(--shadow)}.auth-card h1{margin:12px 0 5px}.auth-card>p{color:var(--muted);margin-top:0}.brandmark{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#268cff,#59c3ff);font-weight:800;font-size:28px}dialog{border:0;padding:0;background:transparent;color:var(--text)}dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(5px)}.modal-card{width:min(430px,calc(100vw - 30px));padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.x{border:0;background:transparent;color:var(--text);font-size:28px;cursor:pointer}.empty{padding:24px;color:var(--muted);border:1px dashed var(--line);border-radius:14px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}@media(max-width:850px){.two-col{grid-template-columns:1fr}.topbar{padding:15px}.topbar h1{font-size:17px}.chip{display:none}.container{padding:18px 14px 55px}.token-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.section-head{align-items:flex-end}.device-grid{grid-template-columns:1fr}}

.live-command{margin:-3px 0 13px;padding:9px 11px;border-radius:10px;background:rgba(148,163,184,.08);color:var(--muted);font-size:12px}.live-command.queued{color:var(--amber);background:rgba(251,191,36,.08)}.live-command.delivered{color:#93c5fd;background:rgba(82,168,255,.08)}.live-command.acknowledged{color:#a7f3d0;background:rgba(54,211,153,.09)}.live-command.failed{color:#fecdd3;background:rgba(251,113,133,.09)}
