:root { color-scheme: dark; }
body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.panel { background:#0f172a; border:1px solid #1e293b; border-radius:12px; padding:16px; }
.panel h2 { font-weight:600; color:#fff; margin-bottom:10px; font-size:15px; }
.panel label { display:block; font-size:12px; color:#94a3b8; margin:6px 0 2px; }
.inp { width:100%; background:#020617; border:1px solid #334155; border-radius:8px; padding:7px 10px; font-size:14px; color:#e2e8f0; margin-bottom:4px; }
.inp:focus { outline:2px solid #0ea5e9; border-color:transparent; }
.btn { background:#1e293b; border:1px solid #334155; border-radius:8px; padding:7px 12px; font-size:14px; color:#e2e8f0; cursor:pointer; }
.btn:hover:not(:disabled) { background:#334155; }
.btn:disabled { opacity:.4; cursor:not-allowed; }
.btn-primary { background:#0284c7; border-color:#0ea5e9; color:#fff; }
.btn-primary:hover:not(:disabled) { background:#0369a1; }
.btn-danger { background:#b91c1c; border-color:#ef4444; color:#fff; }
.btn-danger:hover:not(:disabled) { background:#991b1b; }
.btn.on { background:#b45309; border-color:#f59e0b; }
.quick { background:#0c4a6e; border:1px solid #0369a1; border-radius:8px; padding:7px 0; font-size:14px; color:#e0f2fe; cursor:pointer; }
.quick:hover { background:#075985; }
.tile { position:relative; background:#000; border-radius:10px; overflow:hidden; aspect-ratio:16/9; border:1px solid #1e293b; }
.tile video { width:100%; height:100%; object-fit:contain; background:#000; }
.tile .tag { position:absolute; left:8px; bottom:8px; background:rgba(2,6,23,.75); padding:2px 8px; border-radius:6px; font-size:12px; }
.insp { display:grid; grid-template-columns:auto 1fr; gap:6px 12px; font-size:13px; }
.insp dt { color:#94a3b8; }
.insp dd { color:#e2e8f0; word-break:break-word; text-align:right; }
.log { height:300px; overflow:auto; background:#020617; border:1px solid #1e293b; border-radius:8px; padding:8px; font-size:11px; line-height:1.35; white-space:pre-wrap; word-break:break-all; color:#a5b4fc; }
code { background:#1e293b; padding:1px 5px; border-radius:4px; font-size:.85em; }
.badge-ok { background:#14532d !important; color:#bbf7d0 !important; }
.badge-warn { background:#78350f !important; color:#fde68a !important; }
.badge-err { background:#7f1d1d !important; color:#fecaca !important; }
.tile.pending{opacity:.35;order:99}
