:root{--obs-bg: #181a1f;--obs-surface: #24272e;--obs-panel: #2e3138;--obs-panel-soft: #353941;--obs-border: #111318;--obs-border-light: #454a54;--obs-text: #f0f2f5;--obs-muted: #a9afb9;--obs-blue: #147fd1;--obs-blue-hover: #1e8fe4;--obs-red: #d14b45;--obs-green: #31b36b}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{background:var(--obs-bg);color:var(--obs-text);font-family:Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.35;-webkit-font-smoothing:antialiased}button,input{font:inherit}main{min-height:100vh;background:var(--obs-bg)}.dock-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--obs-bg);border:1px solid var(--obs-border)}.dock-titlebar{height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;background:#111318;border-bottom:1px solid var(--obs-border);color:#dfe3e9;font-weight:600}.dock-titlebar>div{display:flex;align-items:center;gap:8px;min-width:0}.app-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;background:var(--obs-blue);color:#fff;font-size:11px;letter-spacing:0}.status-pill{flex:0 0 auto;min-width:82px;padding:2px 8px;border-radius:4px;text-align:center;color:#fff;background:#5a606b;font-size:12px;font-weight:600}.status-pill.connected{background:var(--obs-green)}.status-pill.connecting{background:var(--obs-blue)}.status-pill.error{background:var(--obs-red)}.status-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--obs-border);border-bottom:1px solid var(--obs-border)}.status-strip>div{min-width:0;padding:10px;background:var(--obs-surface)}.meta-label{display:block;margin-bottom:3px;color:var(--obs-muted);font-size:11px;text-transform:uppercase}.status-strip strong{display:block;min-width:0;overflow:hidden;color:var(--obs-text);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-strip strong.online{color:var(--obs-green)}.status-strip strong.ready{color:var(--obs-blue-hover)}.status-strip strong.offline{color:var(--obs-red)}.dock-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px}.dock-panel{min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--obs-panel);border:1px solid var(--obs-border-light);border-radius:4px}.accordion-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:32px;padding:0 8px;color:var(--obs-text);background:var(--obs-panel-soft);border-color:var(--obs-border-light);text-align:left}.accordion-head span:last-child{flex:0 0 auto;color:var(--obs-muted);font-size:12px}.panel-body{display:flex;flex-direction:column;gap:8px}.panel-head{min-height:26px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--obs-border-light);padding-bottom:8px}.panel-head h1,.panel-head h2{color:var(--obs-text);font-size:14px;font-weight:600;line-height:1.2}.panel-head span{min-width:0;overflow:hidden;color:var(--obs-muted);font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}label{color:var(--obs-muted);font-size:12px;font-weight:600}input{width:100%;height:30px;padding:0 8px;color:var(--obs-text);background:#1f2228;border:1px solid #565b65;border-radius:3px;outline:none}input:focus{border-color:var(--obs-blue);box-shadow:0 0 0 1px var(--obs-blue)}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.toggle-row{display:grid;grid-template-columns:1fr;gap:8px}.srt-panel{margin:0 10px 10px}.srt-panel input{font-family:Consolas,Liberation Mono,monospace;font-size:12px}button{min-height:30px;padding:0 10px;color:#fff;background:var(--obs-blue);border:1px solid #0d67ac;border-radius:3px;cursor:pointer;font-weight:600}button:hover{background:var(--obs-blue-hover)}button.secondary{color:var(--obs-text);background:var(--obs-panel-soft);border-color:#5d636f}button.secondary:hover{background:#404650}button.kill-switch{background:var(--obs-green);border-color:#268a54}button.kill-switch:hover{background:#38c779}button.kill-switch.danger{background:var(--obs-red);border-color:#aa3833}button.kill-switch.danger:hover{background:#e05b55}.alert{background:var(--obs-panel);position:relative;padding:10px 12px;min-width:320px;color:var(--obs-text);border:1px solid var(--obs-border-light);border-radius:4px}.alert-destructive{color:#fff;background:#5a2426;border-color:var(--obs-red)}.alert-success{color:#fff;background:#1d5a39;border-color:var(--obs-green)}.flash-container{position:fixed;top:12px;left:0;right:0;display:flex;flex-direction:column;align-items:center}@media(max-width:640px){.dock-grid,.status-strip{grid-template-columns:1fr}}
