:root{color-scheme:dark;--bg:#09101c;--panel:#111a29;--panel2:#172235;--line:#2a3951;--text:#f5f8ff;--muted:#9eabc0;--accent:#3b82f6;--good:#22c55e;--warn:#f59e0b;--bad:#ef4444}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#14233c 0,#09101c 42%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.admin-shell{max-width:1280px;margin:auto;padding:32px 24px 70px}.admin-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.admin-header h1{font-size:clamp(28px,4vw,44px);margin:4px 0 8px}.admin-header p{color:var(--muted);margin:0;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:#7eb2ff!important;font-weight:700}.primary,.secondary,.danger,.action,.icon-button{border:0;border-radius:12px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:white}.secondary{background:#22314a;color:white;border:1px solid #344762}.danger{background:#3a1820;color:#ffb4bd;border:1px solid #6b2734}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.summary article{background:rgba(17,26,41,.88);border:1px solid var(--line);border-radius:18px;padding:18px}.summary strong{display:block;font-size:30px}.summary span{color:var(--muted)}.toolbar{display:flex;gap:12px;margin:20px 0}.toolbar input{flex:1;background:#0e1726;border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:white;font:inherit}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.device-card{background:rgba(17,26,41,.94);border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:14px}.device-card.disabled{opacity:.65}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.device-card h2{font-size:20px;margin:0 0 4px}.device-id{font-family:ui-monospace,monospace;color:var(--muted);font-size:12px;word-break:break-all}.badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.online{background:#113723;color:#77e29d}.offline{background:#2d3441;color:#bdc6d5}.disabled-badge{background:#4a3512;color:#ffd487}.meta{display:grid;gap:8px;color:var(--muted);font-size:14px}.meta b{color:var(--text);font-weight:600}.notes{min-height:38px;color:#c5cede}.device-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.action{background:#1d2a40;color:white;border:1px solid #30435f}.action.call{background:#17442b;border-color:#25633e}.action.scan{background:#17344d;border-color:#24557b}.action:disabled{opacity:.4;cursor:not-allowed}.manage-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:13px}.manage-actions button{flex:1}.message{padding:12px 14px;border-radius:12px;margin-bottom:16px;background:#372019;color:#ffd2c5;border:1px solid #6f3c2b}.empty{text-align:center;color:var(--muted);padding:50px}dialog{width:min(560px,calc(100% - 28px));border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:0}dialog::backdrop{background:rgba(0,0,0,.72)}form{padding:22px}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start}.dialog-header h2{margin:4px 0 18px}.icon-button{padding:3px 10px;background:transparent;color:white;font-size:28px}label{display:block;margin:14px 0;color:#dce5f3;font-weight:650}label input,label textarea{display:block;width:100%;margin-top:7px;background:#0c1421;border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:white;font:inherit}.switch-row{display:flex;align-items:center;gap:10px}.switch-row input{width:auto;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:650px){.admin-shell{padding:22px 14px}.admin-header{align-items:stretch;flex-direction:column}.summary{grid-template-columns:1fr 1fr}.summary article:last-child{grid-column:1/-1}.toolbar{flex-direction:column}.device-grid{grid-template-columns:1fr}}

.live-status{align-self:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;border:1px solid var(--line)}.live-status.connected{background:#113723;color:#77e29d;border-color:#25633e}.live-status.disconnected{background:#4a3512;color:#ffd487;border-color:#6b4a1b}
