:root{--bg:#f6f7f9;--fg:#1c2330;--muted:#677285;--card:#fff;--line:#dde1e8;--accent:#2563eb;--accent-fg:#fff;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--bar:#1f2633;--bar-fg:#e8ecf3;--bar-line:#364055;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12161d;--fg:#e4e8ef;--muted:#8d97a8;--card:#1a1f29;--line:#2c3442;--accent:#3b82f6;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{min-height:100%}h1{margin:0;font-size:1.3rem}.muted{color:var(--muted)}.small{font-size:.85em}.ok{color:var(--ok)}.warn{color:var(--warn)}.spacer{flex:1}[hidden]{display:none!important}.btn{border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.3em;padding:.4em .85em;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.btn.on{border-color:var(--accent);color:var(--accent)}input,select{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.4em .6em}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.5rem}.login{flex-direction:column;gap:.9rem;width:min(360px,100%);display:flex}.login label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.login input{color:var(--fg)}.form-error{color:var(--bad);min-height:1.2em;margin:0}.page{max-width:1100px;margin:0 auto;padding:16px}.topbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.banner{background:color-mix(in srgb, var(--warn) 15%, transparent);border:1px solid var(--warn);border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem}.list-tools{margin-bottom:.75rem}.filter{width:min(320px,100%)}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow-x:auto}table.devices{border-collapse:collapse;width:100%}.devices th,.devices td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .8rem}.devices th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem;font-weight:600}.devices tr:last-child td{border-bottom:none}.devices tr.offline td{opacity:.6}.devices td.actions{text-align:right}.dot{background:var(--muted);border-radius:50%;width:.6em;height:.6em;margin-right:.4em;display:inline-block}.dot.on{background:var(--ok)}.rd{height:100vh;background:#000;flex-direction:column;height:100dvh;display:flex}.rd-bar{background:var(--bar);color:var(--bar-fg);border-bottom:1px solid var(--bar-line);flex-shrink:0;align-items:center;gap:.5rem;padding:.35rem .6rem;display:flex;overflow-x:auto}.rd-bar .btn,.rd-bar select{border-color:var(--bar-line);color:var(--bar-fg);background:0 0;padding:.3em .65em;font-size:.9rem}.rd-bar select option{color:#000}.rd-bar .btn.on{border-color:var(--accent);color:#93c5fd}.rd-bar .btn.danger{color:#fca5a5;border-color:#b91c1c}.rd-title{white-space:nowrap}.badge{border:1px solid var(--bar-line);color:var(--bar-fg);white-space:nowrap;border-radius:999px;padding:.1em .55em;font-size:.75rem}.badge.ok{color:#86efac;border-color:#15803d}.badge.warn{color:#fcd34d;border-color:#b45309}.badge.bad{color:#fca5a5;border-color:#b91c1c}.rd-stage{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;outline:none;flex:1;min-height:0;position:relative;overflow:hidden}.rd-stage video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.rd-overlay{color:#e8ecf3;cursor:default;background:#0a0d12d9;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.rd-overlay.dim{background:#0a0d1273}.overlay-box{text-align:center;max-width:34rem}.overlay-text{margin:0 0 1rem;font-size:1.05rem}.rd-overlay.error .overlay-text{color:#fecaca}.overlay-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.overlay-actions .btn:not(.primary){color:#e8ecf3;background:0 0;border-color:#4b5563}.rd-stats{color:#d1fae5;pointer-events:none;white-space:pre;background:#000000b3;border-radius:6px;margin:0;padding:.5rem .7rem;font:12px/1.4 ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;position:absolute;top:8px;left:8px}.rd-toast{color:#fff;pointer-events:none;background:#7f1d1deb;border-radius:6px;max-width:calc(100% - 32px);padding:.5rem .9rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (max-width:640px){.devices th:nth-child(3),.devices td:nth-child(3),.devices th:nth-child(5),.devices td:nth-child(5){display:none}.rd-title{text-overflow:ellipsis;max-width:8rem;overflow:hidden}}
