:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{color:#f0f5fd;background:#0a101b;min-height:100%;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app{background:#0a101b;flex-direction:column;height:100dvh;min-height:500px;display:flex}.login{flex:1;place-items:center;padding:24px;display:grid}.login-card{background:#131d2c;border:1px solid #344258;border-radius:18px;width:100%;max-width:450px;padding:36px}.eyebrow{color:#56c5dc;letter-spacing:2px;font-size:12px;font-weight:700}h1{margin:14px 0 8px;font-size:32px}.login p{color:#b5c4d3;line-height:1.5}.login form{gap:10px;margin-top:24px;display:grid}.login label{margin-top:8px;font-size:13px;font-weight:700}.login input,.login select{color:#fff;background:#0b1421;border:1px solid #46566c;border-radius:8px;width:100%;padding:12px}.login button{color:#03121b;background:#24a6bf;border:0;border-radius:8px;margin-top:10px;padding:13px;font-weight:800}.login button:disabled{opacity:.6}.login .hint{color:#96abc2;margin-top:18px;font-size:12px}.login .error{color:#ffb1aa;font-weight:600}.topbar{background:#131d2c;border-bottom:1px solid #344258;justify-content:space-between;align-items:center;gap:14px;padding:13px 22px;font-size:14px;display:flex}.brand{letter-spacing:1px;font-weight:800}.state{color:#65dac3}.remote-feed{background:#030508;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.remote-video{object-fit:contain;width:100%;height:100%}.empty-video{text-align:center;color:#d4e0ed;padding:32px}.empty-video p{color:#8299ac}.empty-symbol{color:#2d8498;font-size:72px}.toolbar{background:#131d2c;border-top:1px solid #344258;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;display:flex}.station{font-weight:700}.buttons{flex-wrap:wrap;gap:9px;display:flex}.buttons button{color:#fff;background:#233248;border:1px solid #50627b;border-radius:8px;padding:9px 12px}.buttons .danger{color:#ffb6bf;border-color:#a55a62}@media (max-width:700px){.topbar{padding:10px;font-size:11px}.toolbar{padding:10px}.buttons button{padding:8px;font-size:12px}.station{font-size:12px}}.indicators{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{letter-spacing:1px;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:800}.badge.on{color:#ffd9de;background:#7a1420;border:1px solid #d5485a}.badge.off{color:#b5c4d3;background:#233248;border:1px solid #50627b}.self-view{aspect-ratio:16/9;background:#000;border:2px solid #344258;border-radius:8px;width:min(22%,320px);position:absolute;bottom:16px;right:16px;overflow:hidden}.self-video{object-fit:cover;width:100%;height:100%;display:block}.start-audio{color:#03121b;background:#24a6bf;border:0;border-radius:8px;padding:12px 18px;font-weight:800;position:absolute;top:16px;left:50%;transform:translate(-50%)}.settings{background:#0f1824;border-top:1px solid #344258;flex-wrap:wrap;gap:14px;padding:12px 20px;display:flex}.picker{color:#b5c4d3;gap:4px;min-width:220px;font-size:12px;display:grid}.picker select{color:#fff;background:#0b1421;border:1px solid #46566c;border-radius:8px;padding:8px}.login a,.admin a{color:#56c5dc}.admin{max-width:1100px;min-height:100dvh;margin:0 auto;padding:28px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin button,.controls button{color:#fff;background:#233248;border:1px solid #50627b;border-radius:8px;padding:9px 12px}.admin button.danger,.controls button.danger{color:#ffb6bf;border-color:#a55a62}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:18px 0;display:grid}.admin-card{background:#131d2c;border:1px solid #344258;border-radius:14px;align-content:start;gap:12px;padding:20px;display:grid;overflow-x:auto}.admin-card h2{margin:0;font-size:20px}.device{gap:6px;display:grid}.code{letter-spacing:3px;color:#65dac3;margin:0;font-family:monospace;font-size:28px}.code .muted{letter-spacing:0;font-family:Arial,Helvetica,sans-serif;font-size:13px}.muted{color:#96abc2;font-size:13px}.error{color:#ffb1aa;font-weight:600}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin th,.admin td{text-align:left;border-bottom:1px solid #26344a;padding:6px 8px}.controls{gap:10px;padding:20px;display:grid}.controls h1{margin:4px 0;font-size:22px}.buttons.column{flex-direction:column}.room{flex-direction:column;flex:1;min-height:0;display:flex}
