/* Original StreamLab panel styling; no vendor CSS or assets. */
:root{color-scheme:light;--bg:#fff;--panel:#fff;--tint:#faf8fd;--text:#211d34;--muted:#746a88;--border:#e6dff4;--accent:#8335ec;--accent2:#c71994;--green:#098c49;--red:#dd164e;--orange:#c96a03;--sidebar:#23163f;--shadow:0 2px 3px #3e226408,0 12px 28px #44247606;font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none;--sidebar-width:88px}
:root[data-theme=dark]{color-scheme:dark;--bg:#1d172a;--panel:#261e35;--tint:#2c233e;--text:#f1ecfc;--muted:#aba1c3;--border:#443455;--accent:#b084ff;--accent2:#ea67c6;--green:#73dca5;--red:#ff81a3;--orange:#efbd74;--shadow:0 2px 8px #0002}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}h2{font-size:23px;letter-spacing:-.4px}h3{font-size:16px;margin-bottom:16px;font-weight:600}h3 small{font-weight:400;font-size:11px;color:var(--muted);margin-left:10px}h4{font-size:12px;margin:0 0 8px;color:var(--muted);font-weight:500}p{margin:0 0 12px}code,.mono,pre{font-family:Consolas,"Courier New",monospace}small,.mini{font-size:11px}.muted{color:var(--muted)}.good{color:var(--green)}.error-text{color:var(--red)}.right{margin-left:auto}.mt{margin-top:16px}.sub{display:block;margin-top:5px}.wide{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:12px;background:var(--accent);color:#fff;padding:10px;z-index:100}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #ab7af4;outline-offset:3px}[hidden]{display:none!important}
.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);padding:27px 14px 18px;background:linear-gradient(170deg,#342350,#201540 48%,#2d1734);color:#b4a8d2;z-index:30;display:flex;flex-direction:column;box-shadow:12px 0 38px #2d1d4020}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none!important;white-space:nowrap;overflow:hidden;padding:0 6px 28px}.brand-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#7562fa,#14a5d7);color:#fff;font-size:24px;box-shadow:0 8px 25px #201d7633}.brand-name{display:none;font-size:20px;font-weight:650;letter-spacing:-.7px}.brand-name small{display:block;font-size:10px;color:#b4a8d2;font-weight:400;letter-spacing:0}.sidebar nav{display:grid;gap:8px}.sidebar nav a{height:56px;border-radius:17px;display:flex;gap:13px;align-items:center;color:#b4a8d2;padding:0 13px;text-decoration:none;position:relative;white-space:nowrap;overflow:hidden}.sidebar nav a:hover{background:#ffffff0b;color:#fff}.sidebar nav a.active{background:#63338744;color:#ffcc33;box-shadow:-3px 0 #ffcc33}.nav-icon{font-size:24px;line-height:1;width:28px;flex:none;text-align:center}.nav-label{display:none;font-size:14px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff15;padding-top:18px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}.avatar{border:0;flex:none;width:39px;height:39px;border-radius:50%;background:linear-gradient(120deg,#ffe875,#e9a600);color:#301e24;font-weight:700;font-size:17px}.account{display:none;min-width:0;flex:1}.account b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis}.account small{font-size:10px}.side-logout{color:#b4a8d2;background:none;border:none;font-size:20px;padding:2px 8px}.workspace{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:84px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:16px 32px}.topbar h1{font-size:23px;line-height:1.25;font-weight:650;letter-spacing:-.4px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:330px;overflow-wrap:anywhere}.topbar h1 a,.crumb{font-weight:400;color:var(--muted)}.topbar h1>span:last-child{color:var(--accent)}.top-right{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.version{background:linear-gradient(100deg,#ffe178,#eab000);color:#3d2600;border-radius:25px;padding:8px 14px;white-space:nowrap;font-size:13px;box-shadow:var(--shadow)}.top-metrics{display:flex;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;white-space:nowrap}.top-metrics>span{display:flex;gap:6px;align-items:center;padding:9px 12px;border-left:1px solid var(--border);font-size:12px}.top-metrics>span:first-child{border:0}.top-metrics small{font-size:11px;color:var(--muted)}.top-metrics b{font-weight:600}.connection{display:block;width:7px;height:7px;border-radius:50%;background:var(--green)}.connection.off{background:var(--red)}.theme-button{border:none!important;background:none!important;width:27px!important}.content{padding:28px 32px 45px;max-width:1950px;margin:auto;min-width:0}.menu-toggle,.menu-scrim{display:none}.menu-expanded{--sidebar-width:214px}.menu-expanded .brand-name,.menu-expanded .nav-label,.menu-expanded .account{display:block}.menu-expanded .sidebar-bottom{flex-wrap:nowrap;justify-content:flex-start}.menu-expanded .side-logout{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:8px;min-height:34px;padding:8px 13px;background:var(--panel);color:var(--text);font-size:12px;line-height:1.2;font-weight:500;text-decoration:none!important;box-shadow:0 2px 5px #39206205;white-space:nowrap}.btn:hover{border-color:#c9b0ed;background:var(--tint)}.btn.primary,.btn.accent{background:linear-gradient(110deg,#8e2beb,#c51694);color:#fff;border-color:transparent}.btn.pink{background:#bf289a;color:#fff;border-color:transparent}.btn.success{color:var(--green);background:#17a36112;border-color:#17a36144}.btn.danger{color:var(--red);background:#e92a5e08;border-color:#ea6c9255}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.small{min-height:29px;padding:6px 10px;font-size:11px}.btn.icon{width:32px;padding:0;min-height:32px;font-size:19px;flex:none}.btn.text-btn{border:0;background:none;box-shadow:none;padding:0;color:var(--accent);font-weight:600;min-height:25px}.btn.busy{opacity:.6}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:20px;box-shadow:var(--shadow);min-width:0;margin-bottom:18px}.card:last-child{margin-bottom:0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:15px}.field label{font-size:12px;color:var(--muted)}.field small{font-size:10px;color:var(--muted);line-height:1.5}.input{background:var(--panel);border:1px solid #dcd3ed;border-radius:9px;color:var(--text);padding:9px 11px;line-height:1.4;min-height:37px;width:100%;min-width:0}.input:hover{border-color:#b89cdc}.input:focus{border-color:var(--accent)}.input[readonly]{background:var(--tint);color:var(--muted)}.input::placeholder{color:var(--muted)}textarea.input{resize:vertical;min-height:68px}.check{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--text);font-size:13px}.check input{flex:none;accent-color:var(--accent);width:16px;height:16px}.check small{display:block;color:var(--muted);font-size:11px;margin-top:4px}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.form-error{color:var(--red);font-size:12px;margin:12px 0;white-space:pre-wrap}.form-error:empty{display:none}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.form-footer .btn{margin-left:auto}.notice{background:var(--tint);border:1px solid var(--border);border-radius:10px;padding:13px 15px;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:18px}.phase{display:inline-block;color:var(--accent);background:#9f62e71c;border:1px solid #9f62e72a;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:650;margin-right:7px}.unavailable{opacity:.6;cursor:not-allowed}
.media-nav{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);margin-bottom:15px;min-height:50px}.add-stream{border-radius:8px 8px 0 0!important;align-self:stretch;font-size:25px!important;background:linear-gradient(110deg,#8a2ef0,#c11892)!important;color:#fff!important;border:0!important;width:46px}.media-tab{font-size:16px;padding:11px 20px;border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:inset 0 3px var(--accent);color:var(--accent);font-weight:600;align-self:stretch}.media-caption{font-size:12px;color:var(--muted);margin-left:10px}.toolbar{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:15px}.search{position:relative;flex:1;min-width:230px;max-width:520px}.search>span{position:absolute;top:7px;left:13px;font-size:22px;color:var(--muted);pointer-events:none}.search .input{padding-left:37px;min-height:43px}.view-switch{background:var(--tint);border:1px solid var(--border);padding:3px;display:flex;border-radius:13px}.view-switch .btn{border:0;background:none;font-size:19px;min-width:37px;box-shadow:none}.view-switch .btn.active{background:linear-gradient(110deg,#8c28e5,#be1998);color:white}.filter-label{font-size:12px}.filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.filter{border-radius:25px;min-height:36px;font-size:12px;padding:8px 12px;background:var(--panel);font-weight:500}.filter.online{color:var(--green)}.filter.waiting{color:var(--orange)}.filter.error{color:var(--red)}.filter.disabled{color:var(--muted)}.filter.active{background:linear-gradient(100deg,#842be9,#c91598);color:white;border-color:transparent;box-shadow:0 0 0 3px #9c63e61c}.bulk-bar{display:flex;align-items:center;gap:8px;padding:9px 13px;margin-bottom:12px;background:var(--tint);border:1px solid var(--border);border-radius:9px;font-size:12px}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.6px;background:var(--tint);padding:15px 13px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:17px 13px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:nth-child(even){background:#9868dc03}td small{display:block;margin-top:3px}.select-cell{width:40px}.actions-cell{width:145px}.stream-name{display:block;color:var(--text);font-size:14px;font-weight:650;overflow-wrap:anywhere;margin-bottom:3px}.stream-name:hover{color:var(--accent)}.source-cell{max-width:360px;min-width:220px}.source-cell code{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.source-cell small{color:var(--muted)}.source-cell small b{color:var(--text);font-weight:500}.row-actions{display:flex;gap:6px;justify-content:flex-end}.badge{display:inline-flex;gap:6px;align-items:center;white-space:nowrap;border-radius:18px;font-size:11px;font-weight:600;padding:4px 9px;margin-top:5px;color:var(--muted);background:#9281b512}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.online{background:#21ac6016;color:var(--green)}.badge.error{background:#e0254f12;color:var(--red)}.badge.starting,.badge.waiting{background:#dc8c1313;color:var(--orange)}.badge.disabled,.badge.stopped{background:#8c7aa514;color:var(--muted)}.chip{display:inline-block;background:#9c62dc16;border-radius:14px;padding:3px 8px;color:var(--accent);font-size:11px;font-weight:600;margin-left:5px}.input-dots{display:flex;gap:4px;margin:6px 0}.input-dots i{display:block;width:7px;height:7px;background:var(--border);border-radius:50%}.input-dots i.active{background:var(--green);box-shadow:0 0 0 3px #0a9c4f14}.expanded-row td{background:var(--tint);padding-top:12px;padding-bottom:12px}.expanded-facts{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.compact td{padding-top:9px;padding-bottom:9px}.compact .source-cell>small,.compact .input-dots,.compact .sub{display:none}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.pagination{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;margin:17px 4px}.pagination .input{width:90px}.refresh-note{display:flex;align-items:center;gap:8px}.stream-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stream-tile{padding:15px;margin:0}.tile-preview{height:120px;background:var(--tint);border-radius:9px;color:var(--muted);display:grid;align-content:center;justify-items:center;margin-bottom:12px}.tile-preview span{font-size:28px}.tile-preview small{font-size:10px}.tile-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.tile-title a{font-size:16px;font-weight:650;color:var(--text)}.tile-facts{color:var(--muted);font-size:11px;margin:10px 0 14px}.tile-preview+p,.stream-tile p{font-size:11px;margin-top:12px}.empty{text-align:center;padding:50px 25px;color:var(--muted)}.empty h2{color:var(--text);font-size:23px;margin-bottom:9px}.empty-symbol{font-size:40px;color:var(--accent);margin-bottom:10px}.empty p{max-width:460px;margin:0 auto 18px}.small-empty{padding:25px}.empty h3{color:var(--text)}.loading{text-align:center;padding:70px;color:var(--muted)}.error-page{max-width:650px;margin:40px auto;padding:30px}.error-page p{margin:15px 0}
.detail-tabs{display:flex;gap:5px;border-bottom:1px solid var(--border);margin:0 0 18px;overflow:auto;scrollbar-width:thin;white-space:nowrap}.detail-tabs a{color:#5d5575;font-size:15px;font-weight:600;display:block;padding:13px 19px;text-decoration:none;border:1px solid transparent;border-bottom:0}.detail-tabs a.active{color:var(--accent);border-color:var(--border);border-radius:15px 15px 0 0;box-shadow:inset 0 3px var(--accent)}[data-theme=dark] .detail-tabs a{color:var(--muted)}.detail-heading{display:flex;gap:12px;align-items:center;margin:0 0 16px}.detail-heading .badge{margin:0}.detail-heading .error-text{font-size:11px;overflow:hidden;max-width:600px;text-overflow:ellipsis;white-space:nowrap}.description-grid{display:grid;grid-template-columns:75px 1fr 1fr 1.5fr;gap:17px;align-items:start}.description-grid .field{margin:0}.description-card{padding:17px 20px}.description-card h3{margin-bottom:12px}.description-card .form-footer{margin-top:14px;padding-top:12px}.logo-slot{width:70px;min-height:66px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);display:grid;place-content:center;text-align:center;font-size:23px}.logo-slot small{font-size:9px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}.overview-side{min-width:0}.player-card{padding:18px}.player-top{display:flex;align-items:center;gap:7px;margin-bottom:14px;flex-wrap:wrap}.mode-switch{display:flex;font-size:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.mode-switch>span{padding:7px 9px}.mode-switch .active{background:var(--accent);color:white}.player-host{min-width:0;background:#08080c;border-radius:8px;overflow:hidden}.player-offline{min-height:250px;aspect-ratio:16/9;display:grid;place-items:center;color:#b4aac6;font-size:12px;text-align:center;padding:20px}.protocol-tabs{display:flex;border-bottom:1px solid var(--border);margin:14px 0 13px;overflow:auto}.protocol-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;color:var(--muted);font-size:11px;border-radius:0;box-shadow:none;min-height:0}.protocol-tabs .active{color:var(--accent);border-bottom-color:var(--accent)}.url-row{display:flex;align-items:center;gap:7px;margin-bottom:12px}.url-row .chip{margin:0;flex:none;font-size:10px}.url-row .input{font-size:10px;padding:8px;min-height:32px}.embed-label{display:block;font-size:11px;color:var(--muted);margin:15px 0 8px}.status-line{display:flex;gap:8px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.status-line .badge{margin:0}.media-box{padding:10px 0;border-top:1px solid var(--border)}.track-line{display:flex;gap:8px;align-items:center;font-size:11px;margin:6px 0;flex-wrap:wrap}.track-line>b{font-size:11px;font-weight:600}.track-line>small{margin-left:auto;color:var(--muted)}.track-id{color:var(--accent);background:var(--tint);border-radius:4px;padding:2px 4px;font-size:9px}.stat span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.stat b{display:block;font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.5px}.stat small{display:block;color:var(--muted);margin-top:7px;font-size:10px}.stat.card{padding:18px;margin:0}.chart{display:block;width:100%;height:150px}.chart-legend{display:flex;gap:15px;font-size:10px;margin:0 0 8px;color:var(--muted)}.chart-legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#159957}.chart-legend .clients:before{background:#4768ce}
.source-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:13px}.row-number{font-size:12px;border-radius:50%;background:var(--tint);border:1px solid var(--border);width:27px;height:27px;display:grid;place-items:center;flex:none;margin-top:5px}.source-field{flex:1;min-width:0}.source-field .input{font-size:12px}.source-label{display:block;color:var(--muted);font-size:10px;margin-top:5px}.source-row>.btn{margin-top:3px}.profile-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr 34px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.profile-row:first-child{padding-top:0}.profile-row>.btn{margin-top:5px}.push-row{display:flex;align-items:center;gap:9px;margin-bottom:11px}.push-row .check{margin:0}.push-row .input{flex:1;font-size:12px}.protocol-options{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:12px}.protocol-on{color:var(--green);font-weight:600}.agent-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-lines{font-size:11px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);background:var(--tint);border:1px solid var(--border);border-radius:9px;padding:15px;min-height:220px;max-height:550px;overflow:auto;margin:0}.log-error{color:var(--red)}.log-good{color:var(--green)}.log-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:15px}.page-row{display:flex;gap:20px;align-items:center;margin-bottom:20px}.page-row p{margin:5px 0 0}.page-row .field{margin:0;display:flex;flex-direction:row;align-items:center;gap:8px}.page-row .input{width:150px}.pulse-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.pulse-metrics .stat b{font-size:21px}.pulse-charts .card{margin:0}.pulse-charts{margin-bottom:20px}.pulse-charts .chart{height:180px}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.system-grid small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.system-grid b{font-weight:500;font-size:12px;overflow-wrap:anywhere}.phase-placeholder{max-width:650px;margin:50px auto;padding:35px;text-align:center}.phase-placeholder .phase{margin-bottom:15px}.phase-placeholder p{color:var(--muted);margin:14px 0 25px;line-height:1.8}
.sl-player{position:relative;background:#060609;color:#fff;min-width:0;overflow:hidden}.sl-player video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#060609;cursor:pointer}.player-controls{display:flex;align-items:center;gap:6px;padding:8px;background:#14111b;min-height:43px}.player-controls button{background:none;border:0;color:#e9e6f2;min-width:26px;min-height:27px;padding:2px 4px;font-size:11px;white-space:nowrap}.player-play{font-size:15px!important}.player-live{color:#ff658b!important;font-size:10px!important;font-weight:700}.player-live.behind{color:#aaa!important}.player-spacer{flex:1}.player-volume{width:55px;height:18px;accent-color:#b36af4}.player-quality{background:#201b2c;border:1px solid #504060;color:#eee;border-radius:4px;padding:3px;font-size:10px;max-width:106px}.player-fullscreen{font-size:23px!important}.player-message{position:absolute;top:45%;left:15px;right:15px;text-align:center;background:#0008;border-radius:5px;padding:10px 12px;font-size:12px;pointer-events:none}.player-diagnostics{position:absolute;left:12px;top:10px;background:#000b;border-radius:5px;padding:10px;margin:0;color:#e9dfef;font-size:10px;line-height:1.6;pointer-events:none;max-width:calc(100% - 24px)}.player-retry{position:absolute;top:68%;left:50%;transform:translateX(-50%);background:#9e38d8;border:0;border-radius:5px;color:#fff;padding:7px 13px;font-size:12px}.sl-player:fullscreen{height:100vh;display:flex;flex-direction:column;justify-content:center}.sl-player:fullscreen video{height:calc(100vh - 45px);width:100%;aspect-ratio:auto}.sl-player:fullscreen .player-controls{flex:none}
.dialog{border:1px solid var(--border);border-radius:17px;background:var(--panel);color:var(--text);width:min(600px,calc(100% - 30px));padding:0;max-height:90vh;box-shadow:0 25px 100px #20113b44}.dialog::backdrop{background:#24133b80;backdrop-filter:blur(3px)}.dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.dialog>header h2{font-size:19px}.dialog-body{padding:21px 22px;max-height:calc(90vh - 75px);overflow:auto}.dialog footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.dialog p{font-size:13px}.toasts{position:fixed;right:20px;bottom:20px;z-index:100;width:min(430px,calc(100% - 40px));display:grid;gap:8px;pointer-events:none}.toast{padding:13px 17px;border-radius:10px;border:1px solid #23a75e40;background:#effbf4;color:#147a42;font-size:12px;box-shadow:0 10px 35px #16112d20;pointer-events:auto;white-space:pre-wrap}.toast.error{background:#fff2f5;border-color:#ea749b70;color:#b81f52}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 25% 10%,#9862e717,transparent 55%),var(--tint)}.auth-card{width:100%;max-width:405px;border:1px solid var(--border);background:var(--panel);padding:30px;border-radius:18px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:13px;font-size:22px;color:var(--text);font-weight:650;margin-bottom:30px}.auth-card h1{font-size:23px;margin-bottom:9px}.auth-card>p{font-size:12px;margin-bottom:22px}.auth-foot{display:block;text-align:center;color:var(--muted);margin-top:24px;font-size:10px}.boot{min-height:100vh;display:grid;align-content:center;justify-content:center;gap:20px;text-align:center;color:var(--muted)}.wordmark{font-size:29px;color:var(--text);font-weight:650}.wordmark span{color:var(--accent)}
@media(max-width:1500px){.topbar{padding:15px 24px}.content{padding:24px}.top-metrics>span{padding:8px 9px;font-size:11px}.topbar h1{font-size:21px;max-width:250px}.top-metrics small{font-size:10px}.top-right{gap:8px}.version{padding:7px 10px;font-size:12px}.theme-button{display:none}.filter-label{display:none}.source-cell{max-width:270px;min-width:185px}.source-cell code{max-width:280px}.overview-grid{gap:16px}.player-card{padding:15px}.mode-switch>span{padding:6px}.card{padding:18px}}
@media(max-width:1150px){.topbar{align-items:flex-start}.top-right{max-width:660px}.top-metrics{flex-wrap:wrap;border-radius:15px;justify-content:flex-end}.top-metrics>span{padding:6px 8px}.version{display:none}.overview-grid{grid-template-columns:1fr}.overview-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.overview-side>.card{margin:0}.overview-side>.grid{grid-column:1/-1}.description-grid{grid-template-columns:65px 1fr 1fr}.description-grid>.field:last-child{grid-column:2/-1}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-tabs a{padding:12px 15px;font-size:14px}.pulse-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){:root{--sidebar-width:0px}.shell{grid-template-columns:1fr}.workspace{grid-column:1}.sidebar{width:210px;transform:translateX(-100%);transition:transform .2s}.menu-open .sidebar{transform:translateX(0)}.brand-name,.nav-label,.account{display:block}.sidebar-bottom{flex-wrap:nowrap;justify-content:flex-start}.menu-open .menu-scrim{display:block;position:fixed;inset:0;background:#22133570;z-index:25;border:0}.menu-toggle{display:inline-flex!important}.topbar{padding:12px 14px;gap:10px;flex-wrap:wrap;min-height:72px}.topbar h1{font-size:20px;max-width:calc(100% - 60px)}.top-right{width:100%;justify-content:flex-start;margin:0}.top-metrics{justify-content:flex-start;border-radius:12px;max-width:100%}.top-metrics>span{font-size:10px;padding:6px 8px}.top-metrics small{font-size:9px}.content{padding:18px 14px}.toolbar{gap:9px}.search{min-width:200px;max-width:100%}.filters{width:100%;gap:6px}.filter{font-size:11px;padding:7px 10px;min-height:32px}.media-caption{font-size:11px}.media-nav{margin-bottom:12px}.media-tab{font-size:15px}.pagination{gap:8px;flex-wrap:wrap;font-size:11px}.refresh-note{font-size:10px}.table-wrap td{padding:12px 10px}.row-actions{gap:4px}.row-actions .btn.icon{width:28px;min-height:28px;font-size:16px}.source-cell code{max-width:240px}.detail-tabs{margin-left:-2px;margin-right:-2px}.detail-tabs a{padding:10px 12px;font-size:13px}.detail-heading{gap:8px}.detail-heading .error-text{max-width:160px}.description-grid{grid-template-columns:1fr 1fr;gap:13px}.logo-slot{display:none}.description-grid>.field:last-child{grid-column:1/-1}.overview-side{display:block}.overview-side>.card{margin-bottom:16px}.player-card{padding:12px}.card{padding:17px;border-radius:12px}.grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.source-row{gap:5px;flex-wrap:wrap}.source-field{flex-basis:calc(100% - 40px)}.source-row>.btn{margin:0}.source-row>.btn:nth-of-type(1){margin-left:33px}.profile-row{grid-template-columns:1fr 1fr;gap:8px;position:relative;padding-right:37px}.profile-row>.btn{position:absolute;right:0;top:42px}.profile-row .field{margin-bottom:8px}.stream-grid{grid-template-columns:1fr}.pulse-metrics{gap:8px}.pulse-metrics .card{padding:13px}.pulse-metrics .stat b{font-size:17px}.pulse-charts.grid.two{grid-template-columns:1fr}.page-row{flex-wrap:wrap;gap:12px}.page-row .actions{margin-left:0}.page-row .field label{display:none}.player-volume{display:none}.player-controls{gap:3px;padding:6px}.player-quality{max-width:92px}.player-message{font-size:11px}.overview-stats .stat b{font-size:20px}.grid.two{gap:12px}.log-toolbar{flex-wrap:wrap}.agent-cell{max-width:220px}.system-grid{gap:15px}.menu-expanded{--sidebar-width:0px}}
@media(max-width:400px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.description-grid{grid-template-columns:1fr}.description-grid>.field:last-child{grid-column:auto}.top-metrics>span{padding:5px 6px}.pulse-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.player-controls button{font-size:10px}.player-info{display:none}.dialog-body{padding:18px}.source-field{flex-basis:calc(100% - 35px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* Compatibility layout refinements, independently authored from measured screen geometry. */
@font-face{font-family:"Plus Jakarta Sans";src:url('/vendor/fonts/plus-jakarta-sans.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--bg:#fff;--panel:#fff;--tint:#f8f7fd;--text:#17132b;--muted:#827ca0;--border:#e9e6f5;--accent:#7c3aed;--accent2:#db2777;--green:#16a34a;--red:#e11d48;--sidebar-width:64px;--shadow:0 1px 2px #28165a0d,0 6px 18px #28165a0d;font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
:root[data-theme=dark]{--bg:#0c0a1d;--panel:#15122c;--tint:#1a1636;--text:#eeeaff;--muted:#8680ad;--border:rgba(180,170,255,.09);--accent:#a78bfa;--accent2:#ec4899;--green:#4ade80;--red:#fb7185;--shadow:none}
[data-theme=dark] body{background:radial-gradient(1100px 480px at 100% -10%,#8b5cf624,transparent 60%),radial-gradient(800px 400px at -10% 110%,#ec489912,transparent 60%),var(--bg);background-attachment:fixed}
body{font-size:14.5px}.content{padding:24px 28px 48px;max-width:none}.topbar{min-height:58px;padding:14px 28px;gap:16px;background:color-mix(in srgb,var(--panel) 78%,transparent);backdrop-filter:saturate(160%) blur(14px)}.topbar h1{font-size:19px;font-weight:800;max-width:none}.topbar h1 a{font-weight:500}.top-right{gap:8px}.version{padding:5px 11px;font-size:12px}.top-metrics{border-radius:999px}.top-metrics>span{padding:6px 12px;font-size:12px}.top-metrics small{font-size:11px}.connection{display:none}.theme-button{display:inline-flex!important;width:32px!important;min-height:32px;color:#b3aed6!important}.theme-button svg{width:18px;height:18px}
.sidebar{padding:14px 10px;background:linear-gradient(185deg,#140f33,#1d1650 48%,#120e2e);box-shadow:1px 0 0 #ffffff0a,8px 0 30px #140a3c2e;overflow:hidden;transition:width .18s,padding .18s;z-index:60}.sidebar::before{content:"";position:absolute;inset:0;background:radial-gradient(260px 200px at 20% 0%,#a78bfa38,transparent 70%),radial-gradient(220px 220px at 100% 100%,#ec489924,transparent 70%);pointer-events:none}.sidebar>*{position:relative}[data-theme=dark] .sidebar{background:linear-gradient(185deg,#0f0b27,#181245 50%,#0d0a22)}.brand{padding:6px 3px 20px;gap:11px}.brand-mark{width:38px;height:38px;border-radius:11px;font-size:22px}.brand-name{font-size:17px;font-weight:800;letter-spacing:-.34px}.brand-name small{font-size:11px;color:#d8c27a;text-transform:uppercase;font-weight:500;letter-spacing:.08em}.sidebar nav{gap:3px}.sidebar nav a{height:42px;min-width:43px;border-radius:12px;padding:10px 13px;gap:11px;color:#b3aed6}.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,#a78bfa42,#ec489914);box-shadow:inset 3px 0 #f5b82e}.sidebar nav a.active .nav-icon{color:#f5b82e}.nav-icon{width:18px;font-size:19px;display:inline-flex;justify-content:center}.nav-label{font-size:14px;font-weight:500}.sidebar-bottom{padding-top:12px;gap:10px;flex-wrap:nowrap;justify-content:flex-start;min-height:46px}.avatar{width:32px;height:32px;font-size:13px}.side-logout{font-size:18px}.account small{font-size:11.5px}.account b{font-size:13px;color:#fff}.sidebar-bottom .theme-button,.sidebar-bottom .side-logout{display:none!important}
@media(min-width:961px){.sidebar:hover{width:248px;padding:18px 14px;box-shadow:0 18px 44px #28165a24}.sidebar:hover .brand-name,.sidebar:hover .nav-label,.sidebar:hover .account{display:block}.sidebar:hover .sidebar-bottom .theme-button,.sidebar:hover .sidebar-bottom .side-logout{display:inline-flex!important}.sidebar:hover .brand{padding-left:4px}.menu-expanded{--sidebar-width:64px}.menu-expanded .sidebar{width:248px}.menu-expanded .sidebar-bottom .theme-button,.menu-expanded .sidebar-bottom .side-logout{display:inline-flex!important}}
.btn{border-radius:11px;min-height:37px;padding:9px 13px;font-size:13px;font-weight:600}.btn.small{min-height:29px;padding:6px 10px;font-size:12px}.btn.primary,.btn.accent{background:linear-gradient(120deg,#7c3aed,#a21caf 55%,#db2777);box-shadow:0 8px 22px #7c3aed47}[data-theme=dark] .btn.primary,[data-theme=dark] .btn.accent{background:linear-gradient(120deg,#8b5cf6,#c026d3 55%,#ec4899)}.btn.pink{background:linear-gradient(120deg,#db2777,#f43f5e)}.btn.success{background:linear-gradient(120deg,#16a34a,#22c55e);border-color:transparent;color:#fff}.btn.danger{background:#e11d4810}.btn.icon{width:32px;min-height:32px}.btn.ghost{box-shadow:none}.card{border-radius:16px;padding:20px;margin-bottom:16px}.card h3{font-size:15px;font-weight:700}.card h3 small{font-size:11.5px;color:var(--muted);font-weight:400;margin-left:6px}.input{border-color:#dcd7ee;border-radius:11px;padding:8px 11px;min-height:34px;font-size:13px;background:var(--panel)}[data-theme=dark] .input{border-color:rgba(180,170,255,.16)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #7c3aed1a}.field label{font-size:12px;font-weight:600;color:color-mix(in srgb,var(--text) 76%,var(--muted))}.field small{font-size:11px}.field{gap:6px;margin-bottom:14px}.grid{gap:14px}.check{font-size:13px}.check input{width:16px;height:16px}.detail-heading{min-height:37px;margin:0 0 18px;gap:8px}.detail-heading .badge{font-size:11px}.detail-heading .actions{gap:8px}.detail-tabs{margin:0 0 20px;border-bottom:1px solid #dcd7ee;gap:4px;padding:0 2px;align-items:flex-end;overflow:auto}.detail-tabs a{font-size:14.5px;font-weight:600;padding:10px 18px;border:1px solid transparent;border-bottom:0;line-height:20px;border-radius:12px 12px 0 0}.detail-tabs a.active{font-weight:700;border-color:#dcd7ee;background:var(--panel);box-shadow:inset 0 3px var(--accent)}[data-theme=dark] .detail-tabs{border-color:rgba(180,170,255,.16)}[data-theme=dark] .detail-tabs a.active{color:var(--accent);border-color:rgba(180,170,255,.16)}.description-card{padding:12px 16px 7px;margin-bottom:0}.description-card h3{margin-bottom:8px;font-size:13px}.description-grid{grid-template-columns:132px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:10px;align-items:end}.description-grid .field{margin:0}.description-grid .field:first-child{position:relative}.description-card .form-footer{display:none}.description-card .form-error{margin:5px 0}.logo-slot{width:132px;min-height:46px;max-height:46px;border-radius:11px;border:2px dashed #b88bfa;background:#a78bfa12;color:var(--accent);font-size:12px;font-weight:600;padding:0;overflow:hidden;display:grid;place-items:center}.logo-slot img{width:100%;height:42px;object-fit:contain}.logo-slot.dragover{background:#a78bfa40}.logo-remove{position:absolute!important;right:4px;bottom:4px;min-height:20px!important;width:20px!important;background:#0008!important;color:#fff!important}.description-grid .field:not(:first-child){padding-bottom:0}.overview-grid{gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.player-card{padding:18px 20px;margin-bottom:0}.player-top{gap:8px;margin-bottom:9px}.mode-switch{border:0;gap:4px;font-size:12px;overflow:visible}.mode-switch>span{padding:5px 10px;white-space:nowrap}.mode-switch .active{border-radius:9px;background:linear-gradient(120deg,#7c3aed,#a855f7)}.mode-switch .unavailable{background:none;padding-right:0}.player-host{border-radius:11px}.player-offline{aspect-ratio:16/9;min-height:0;background:linear-gradient(150deg,#151a26,#0d111a);font-size:13px}.protocol-tabs{border:0;gap:4px;margin:10px 0 22px}.protocol-tabs button{min-height:31px;padding:6px 13px;border:1px solid #dcd7ee;border-radius:8px;font-size:12px;color:var(--text);font-weight:600}.protocol-tabs .active{background:linear-gradient(120deg,#7c3aed,#db2777);color:#fff;border-color:transparent}.protocol-tabs button:disabled{opacity:.45}.url-row{margin-bottom:0;gap:10px}.url-row .input{border:0;background:transparent;font-size:12px;padding:5px 0;color:var(--text);min-height:28px}.url-row .chip{border:0;background:#a78bfa16;color:var(--accent);padding:4px 24px;border-radius:999px;font-size:11px}.embed-label{font-size:13px;font-weight:700;color:var(--text);margin:24px 0 10px}.embed-label+.url-row .input{border:1px solid #dcd7ee;padding:9px 12px;font-size:11px;min-height:38px}.media-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.media-box{background:var(--tint);border:1px solid var(--border);border-radius:11px;padding:14px}.media-box h4{color:var(--text);font-size:12px;font-weight:700;margin-bottom:10px}.media-box .track-line{font-size:11px}.status-line{margin-bottom:14px}.status-line .right{color:var(--muted)}.chart{height:190px}.chart-legend{font-size:11px;gap:14px}.chart-legend .in:before{background:#e11d48}#stream-chart-note{display:none}.stat span{text-transform:uppercase;font-size:11px;font-weight:600}.stat b{font-size:25px;font-weight:800}.stat.card{padding:18px}.stat small{font-size:11px}.form-footer{border:0;padding-top:0;margin:18px 0}.form-footer .btn{min-width:70px}.grid.six{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
#tab-content .card h3>.check{display:inline-flex;vertical-align:middle;gap:7px;font-weight:400;font-size:12px;margin:0 0 0 14px}#tab-content .card h3>.check input{appearance:none;width:34px;height:19px;border-radius:10px;background:var(--border);position:relative;border:1px solid #827ca066;transition:background .2s}#tab-content .card h3>.check input:before{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .2s}#tab-content .card h3>.check input:checked{background:var(--accent);border-color:var(--accent)}#tab-content .card h3>.check input:checked:before{left:17px}.transcoder-empty{display:grid;justify-items:center;gap:10px;padding:24px}.transcoder-empty p{font-size:13px;color:var(--muted)}.transcoder-empty b{font-size:15px}.transcoder-empty .empty-symbol{font-size:32px;margin:0}.track-presets{display:flex;align-items:center;gap:6px;justify-content:flex-end;margin:-40px 0 18px;flex-wrap:wrap}.profile-row.track-card{display:block;background:var(--tint);border:1px solid var(--border);padding:14px;border-radius:11px;margin-top:14px}.track-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.track-heading b{font-size:13px}.track-name{max-width:120px;min-height:29px;padding:5px 9px}.track-card .field{margin:0}.track-card .grid{gap:12px}.advanced{border:1px solid var(--border);border-radius:11px;padding:12px;margin-top:14px}.advanced summary{cursor:pointer;font-weight:600;font-size:13px}.advanced[open] summary{margin-bottom:12px}.track-advanced{border:0;padding:0;font-size:11px}.track-advanced summary{font-size:11px;color:var(--muted)}.transcoder-disable{margin-top:-56px;width:180px}.ffmpeg-command{min-height:0;max-height:160px;margin-top:16px}.depth-presets{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 5px}.depth-presets .btn{min-height:27px;padding:5px 8px;font-size:11px}.depth-note{font-weight:600;color:var(--green)!important}.depth-note.error-text{color:var(--red)!important}#dvr-depth{max-width:260px}#dvr-disk{max-width:120px}#dvr-disk-info{margin:-7px 0 18px}#dvr-status{margin-bottom:12px}#dvr-schedule:empty:after{content:"Always recording (no schedule ranges)";color:var(--muted);font-size:12px}.schedule-range{display:inline-flex;gap:7px;align-items:center;padding:2px 8px;border-radius:6px;background:#a78bfa16;color:var(--accent);margin:0 6px 6px 0;font-size:12px}.schedule-range .btn{width:19px;min-height:20px;font-size:14px;padding:0}.schedule-add{display:flex;align-items:center;gap:10px;margin-top:12px}.schedule-add .field{margin:0;max-width:120px}.schedule-add>span{padding-top:20px}.schedule-add .btn{align-self:flex-end}.archive-facts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:14px}.archive-facts b{color:var(--text)}.archive-bar{height:14px;background:var(--tint);border-radius:5px;position:relative;overflow:hidden}.archive-bar i{position:absolute;top:0;bottom:0;background:#e11d48;border-radius:3px}.archive-play-heading{font-size:13px;font-weight:700;color:var(--text);margin:18px 0 10px}.archive-picker{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.archive-picker .field{margin-bottom:0}.archive-picker .field:first-child{max-width:270px}.archive-picker .field:nth-child(2){width:110px}.archive-link-row{display:flex;gap:8px;align-items:center;margin:12px 0}.archive-link-row code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}.archive-link-row .chip{min-width:105px;text-align:center}
/* Overlay player controls, with the image retaining its 16:9 frame. */
.sl-player{aspect-ratio:16/9;background:#000;border-radius:11px;user-select:none}.sl-player video{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:#000}.player-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;padding:28px 14px 12px;min-height:0;background:linear-gradient(to top,#0009,#0004 55%,transparent);transition:opacity .25s,transform .25s}.player-controls button{min-width:38px;height:38px;min-height:38px;padding:0 9px;border-radius:11px;font-size:12px;display:inline-flex;align-items:center;gap:6px;justify-content:center;color:#fff}.player-controls button:hover{background:#ffffff24}.player-controls button.on{background:linear-gradient(135deg,#a855f7,#ec4899)}.player-title{position:absolute;left:0;right:0;top:0;padding:14px 18px 30px;background:linear-gradient(#0008,transparent);font-size:15px;font-weight:700;text-shadow:0 1px 8px #0009;pointer-events:none;transition:opacity .25s}.player-title:empty{display:none}.sl-player.idle .player-controls,.sl-player.idle .player-title{opacity:0;pointer-events:none}.sl-player.idle .player-controls{transform:translateY(8px)}.sl-player.idle video{cursor:none}.player-controls .player-live{font-size:11px!important;font-weight:800;letter-spacing:.1em;height:28px;min-height:28px;min-width:0;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff!important;box-shadow:0 0 14px #22c55e73}.player-live i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}.player-controls .player-live.behind{background:#ffffff1a;box-shadow:none;color:#ffffff99!important}.player-live.behind i{background:#ffffff66;box-shadow:none}.player-volume-wrap{display:flex;align-items:center}.player-volume{appearance:none;width:0;opacity:0;height:4px;margin:0;background:#ffffff40;border-radius:4px;accent-color:#a855f7;transition:width .2s,opacity .2s,margin .2s}.player-volume-wrap:hover .player-volume,.player-volume:focus-visible{width:80px;opacity:1;margin:0 8px 0 4px}.player-volume::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #a855f75a}.player-latency{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;background:#ffffff14;color:#ffffffbf;font-size:11.5px;white-space:nowrap}.player-latency b{font-family:Consolas,monospace}.player-latency svg{width:13px;height:13px}.player-quality-menu{position:relative}.player-quality-button{font-weight:700;font-size:12.5px!important}.player-quality-list,.player-audio-list{position:absolute;bottom:calc(100% + 12px);right:0;min-width:130px;max-height:230px;padding:6px;border:1px solid #ffffff24;border-radius:13px;background:#0e0c1af0;backdrop-filter:blur(14px);box-shadow:0 18px 44px #0009;overflow:auto}.player-quality-list button,.player-audio-list button{display:flex!important;width:100%;text-align:left;justify-content:space-between;font-size:12px;height:auto;min-height:32px;padding:8px 12px;border-radius:8px}.player-quality-list small,.player-audio-list small{color:#ffffff88}.player-quality.sr-only{width:1px;height:1px;margin:0;padding:0}.player-diagnostics{top:14px;left:auto;right:14px;min-width:210px;padding:10px 12px;border-radius:13px;background:#0a0816c7;border:1px solid #ffffff1f;backdrop-filter:blur(12px);font-size:11px;line-height:1.8}.player-spinner{position:absolute;left:50%;top:50%;margin:-27px 0 0 -27px;width:54px;height:54px;border:4px solid #a855f730;border-right-color:#ec4899;border-top-color:#a855f7;border-radius:50%;animation:player-spin .9s linear infinite;pointer-events:none}.player-message{top:58%;left:20px;right:20px;background:none;padding:0;font-size:12px;text-shadow:0 2px 5px #000}.player-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#a855f7,#ec4899);box-shadow:0 12px 40px #a855f78c,0 0 0 8px #ffffff14}.player-big svg{width:30px;height:30px;margin-left:4px}.player-sound{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid #ffffff24;border-radius:999px;background:#0c0a18a8;backdrop-filter:blur(10px);color:#fff;font-weight:600;font-size:13px;white-space:nowrap}.player-sound:hover{background:linear-gradient(135deg,#a855f7,#ec4899)}.player-retry{top:68%;border-radius:11px;background:linear-gradient(135deg,#a855f7,#ec4899);padding:10px 18px;font-size:13px;font-weight:600}.sl-player:fullscreen{height:100vh;width:100vw;aspect-ratio:auto;display:block;border-radius:0}.sl-player:fullscreen video{height:100%;width:100%}.sl-player:fullscreen .player-controls{position:absolute}.sl-player:not(:hover):focus-within .player-controls{opacity:1;pointer-events:auto}@keyframes player-spin{to{transform:rotate(360deg)}}
/* Archive ruler always has its own dark canvas, as in the reference player. */
.dvrline{margin-top:14px}.dvrline-info{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:8px}.dvrline-info code{font-size:10px;max-width:240px;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.dvrline-meter{display:inline-block;vertical-align:middle;width:70px;height:5px;background:var(--border);border-radius:4px;overflow:hidden}.dvrline-meter i{display:block;height:100%;background:#e11d48}.dvrline-recording{font-size:10px;color:#e11d48;margin-left:5px}.dvrline-panel{border-radius:10px;background:#292439;overflow:hidden;border:1px solid #ffffff1a}.dvrline-ruler{height:54px;position:relative}.dvrline-canvas{display:block;width:100%;height:54px;cursor:crosshair}.dvrline-tip{position:absolute;top:27px;width:90px;text-align:center;color:#fff;background:#09070edb;border-radius:5px;padding:3px 6px;font-size:10px;pointer-events:none}.dvrline-tools{display:flex;align-items:center;gap:5px;padding:7px 8px;background:#0002;color:#f1ebff;font-size:11px}.dvrline-tools button{border:0;border-radius:6px;background:transparent;color:#f1ebff;padding:4px 7px;min-height:25px;font-size:17px;line-height:1}.dvrline-tools button:hover{background:#ffffff1f}.dvrline-tools .dvrline-live{display:flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;background:#16a34a;color:#fff;font-size:10px;font-weight:800;letter-spacing:.07em}.dvrline-live i{display:inline-block;width:6px;height:6px;background:#fff;border-radius:50%}.dvrline-tools .dvrline-live.delayed{background:#ffffff1a;color:#ffffffa6}.dvrline-position{font:10px Consolas,monospace;white-space:nowrap}.dvrline-zoom{font-size:10px;white-space:nowrap}.dvrline-tools .dvrline-download{display:flex;gap:5px;align-items:center;font-size:12px;padding:5px 8px;border:1px solid #ffffff22}.dvrline-download.on{background:#38bdf830!important;color:#7dd3fc!important}.dvrline-cut{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid #38bdf84d;border-radius:9px;background:#38bdf80d;margin-top:9px;padding:10px;font-size:11px}.dvrline-cut small{font-size:10px;width:100%}.dvrline-note{font-size:10px;color:var(--muted);margin-top:6px}
@media(max-width:1150px){.topbar{padding:12px 24px}.topbar h1{font-size:19px}.top-metrics>span{padding:6px 8px;font-size:10px}.content{padding:24px}.description-grid{grid-template-columns:110px repeat(2,minmax(0,1fr))}.description-grid .field:nth-child(4),.description-grid .field:nth-child(5){grid-column:auto}.logo-slot{width:110px}.overview-grid{grid-template-columns:1fr}.grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.track-presets{margin:0 0 14px;justify-content:flex-start}.sidebar-bottom .theme-button{display:inline-flex!important}}
@media(max-width:760px){:root{--sidebar-width:0px}.topbar{padding:12px 14px}.content{padding:18px 14px}.sidebar{width:248px;padding:18px 14px}.sidebar-bottom .theme-button,.sidebar-bottom .side-logout{display:inline-flex!important}.top-right{width:auto;margin-left:auto}.top-metrics{display:none}.detail-heading{flex-wrap:wrap}.detail-heading .actions{width:100%;margin-left:0}.detail-heading .btn{font-size:11px;padding:7px 9px}.detail-tabs a{padding:9px 12px;font-size:12px}.description-grid{grid-template-columns:1fr 1fr}.description-grid .field:last-child{grid-column:auto}.description-grid .field:first-child{display:none}.description-card{padding:14px}.overview-side{display:block}.overview-grid{gap:14px}.player-card{padding:14px}.media-info-grid{grid-template-columns:1fr}.grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-row.track-card{padding:12px;display:block}.track-heading{flex-wrap:wrap}.track-heading .right{flex-basis:0}.player-controls{gap:2px;padding:22px 6px 6px}.player-controls button{min-width:32px;height:32px;min-height:32px;padding:0 6px}.player-volume,.player-volume-wrap:hover .player-volume{display:none}.player-latency{padding:0 6px;font-size:10px}.player-latency svg{display:none}.player-quality-button>span{display:none}.player-big{width:62px;height:62px}.player-info{display:inline-flex!important}.mode-switch{font-size:10px}.mode-switch>span{padding:5px}.protocol-tabs{flex-wrap:wrap;margin-bottom:14px}.protocol-tabs button{font-size:10px;padding:5px 8px}.embed-label{font-size:11px}.archive-link-row{gap:4px}.archive-link-row .chip{min-width:72px;font-size:9px}.dvrline-tools{gap:1px;padding:6px 4px}.dvrline-tools button{padding:4px}.dvrline-position{display:none}.dvrline-info{gap:5px}.dvrline-depth{font-size:10px}.dvrline-path{max-width:180px!important}}
/* Final geometry corrections from live reference screenshots. */
.topbar{height:58px;min-height:58px;padding:13px 28px}.top-metrics>span{padding:5px 12px}.menu-toggle{display:none!important}.detail-tabs{margin-bottom:19px}.description-card{padding-top:10px}.description-card .logo-slot{min-height:43px;max-height:43px}.description-card .logo-slot img{height:39px}.input{min-height:40px;padding:9px 12px;font-size:14px;line-height:20px}.description-card .input{min-height:34px;padding:6px 10px;font-size:12.5px;line-height:18px}.track-name{min-height:32px;padding:5px 9px;font-size:12px}.track-card .field{margin-bottom:14px}.profile-row.track-card{padding:20px}.track-advanced{display:none}.card h3:has(#audio-copy),.card h3:has(#video-copy){font-size:17px;font-weight:700}.card h3:has(#audio-copy)>.check,.card h3:has(#video-copy)>.check{margin-left:9px}.logo-slot span{display:flex;align-items:center;gap:6px}.description-card .input[readonly]{background:var(--panel)}.description-card select:disabled{opacity:1;background:var(--panel);color:var(--text)}#dvr-disk-info{display:block;margin:8px 0 0;color:var(--muted)}.dvr-settings .form-footer{justify-content:flex-start;margin-top:20px;margin-bottom:0}.dvr-settings .form-footer .btn{margin-left:0}.card.dvr-settings{margin-bottom:16px}#tab-content .grid.six .field small{font-size:11.5px;line-height:1.5}.detail-heading svg,.btn svg{flex:none}.theme-button{color:inherit!important}.sidebar .theme-button{color:#b3aed6!important}.sidebar-bottom{overflow:visible}
@media(max-width:1150px){.topbar{padding:13px 24px}.top-metrics>span{padding:5px 8px}}
@media(max-width:760px){.topbar{height:auto;min-height:58px;padding:12px 14px}.menu-toggle{display:inline-flex!important}.profile-row.track-card{padding:14px}.description-card{padding:14px}.track-card .field{margin-bottom:0}.dvr-settings .form-footer{margin-top:14px}}
.player-diagnostics{font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.5;font-size:12px}.player-diagnostics>div{display:flex;justify-content:space-between;gap:16px;margin:2px 0}.player-diagnostics span{color:#ffffff99}.player-diagnostics b{font-family:Consolas,monospace;font-weight:600}.topbar h1>span:last-child,.topbar h1 .stream-crumb{background:linear-gradient(120deg,#7c3aed,#a21caf 55%,#db2777);background-clip:text;-webkit-background-clip:text;color:transparent}.cpu-badge{margin-left:8px;border:0!important;background:#a78bfa14;color:var(--accent);font-size:11px;padding:5px 10px}.dvrline-info{display:block;font-size:12px}.dvrline-info>span{display:flex;align-items:center;gap:6px;margin-bottom:5px}.dvrline-info>span:first-child{white-space:nowrap;min-width:0}.dvrline-info code{flex:1;min-width:0;max-width:none;white-space:nowrap;background:none;color:var(--text);font-size:12px;padding:0;line-height:18px}.dvrline-info .dvrline-meter{flex:none}.dvrline-depth{font-size:12px}.dvrline-tools button{display:inline-flex;align-items:center;justify-content:center}.dvrline-note:empty{display:none}.dvrline-tools .dvrline-download svg{width:14px;height:14px}.dvrline-tools .dvrline-live{padding:5px 11px}.dvrline-cut .btn{display:inline-flex;align-items:center;gap:5px}
.mode-switch .mode-button{border:0;box-shadow:none;border-radius:9px;background:transparent;color:var(--muted);min-height:25px;padding:5px 10px;font-size:12px;font-weight:600}.mode-switch .mode-button.active{background:linear-gradient(120deg,#7c3aed,#a855f7);color:#fff}.mode-switch .mode-button:hover:not(.active){background:var(--tint)}.description-card .field:nth-child(5){align-self:end}.nav-icon svg{width:18px;height:18px}

.topbar h1>.tab-crumb{background:none;color:var(--text)}.dvrline-info .dvrline-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

[data-theme=dark] .protocol-tabs button{border-color:rgba(180,170,255,.16)}.protocol-tabs button.active{border-color:transparent}.url-row .chip{min-width:78px;display:inline-flex;justify-content:center}.url-row:has(#playback-url) .input{color:var(--muted);font-size:12.5px}.mode-switch .mode-button svg{width:14px;height:14px}.embed-label+.url-row .input{min-height:34px;font-size:12px;padding:7px 11px;line-height:18px}

.topbar h1>span.tab-crumb{background:none;color:var(--text)}.card h3>.check{color:var(--muted)}
.pulse-head{display:flex;align-items:center;gap:12px;margin-bottom:17.23px;flex-wrap:wrap;min-height:37px}.pulse-head>.sub{font-size:13px;color:var(--muted);margin:0}.pulse-head .right{display:flex;align-items:center}.pulse-head .btn{font-size:12px;padding:9px 13px}.pulse-section{margin-bottom:25px}.pulse-section>h3{font-size:16px;font-weight:700;margin:0 0 4px}.pulse-section>.sub{font-size:12.5px;color:var(--muted);margin:5px 0 10px}.pulse-pair{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:stretch}.pulse-pair>.card{margin:0;padding:18px 20px;min-width:0;display:flex;flex-direction:column}.pulse-pair .chart-box{margin-top:auto}.pulse-pair .card h3{font-size:13px;font-weight:700;letter-spacing:.01em;margin:0 0 4px}.pulse-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-bottom:6px;flex-wrap:wrap}.pulse-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.pulse-pair .chart{height:190px}.pulse-disk-row{display:grid;grid-template-columns:140px 1fr 210px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.pulse-disk-row:last-child{border:0}.pulse-disk-row .name b{display:block;font-size:13px}.pulse-disk-row .name span{font-size:11.5px;color:var(--muted)}.pulse-disk-row .num{text-align:right;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.pulse-meter{height:8px;background:var(--tint);border-radius:5px;overflow:hidden}.pulse-meter i{display:block;height:100%;background:#16a34a;border-radius:5px}.pulse-meter.warn i{background:#d97706}.pulse-meter.danger i{background:#e11d48}.pulse-host{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px}.pulse-host dt{color:var(--muted);font-weight:500}.pulse-host dd{margin:0;overflow-wrap:anywhere;min-width:0;font-weight:500}.chart-box{position:relative}.chart-tip{position:absolute;z-index:5;pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:var(--shadow);font-size:12px;min-width:150px}.chart-tip .when{font-size:11px;color:var(--muted);margin-bottom:4px;white-space:nowrap}.chart-tip .row{display:flex;align-items:center;gap:7px;padding:1px 0}.chart-tip .row i{width:8px;height:8px;border-radius:50%;flex:none}.chart-tip .row b{margin-left:auto;padding-left:12px;font-variant-numeric:tabular-nums}.chart-cursor{position:absolute;width:0;border-left:1px dashed var(--muted);pointer-events:none;z-index:4}
@media(max-width:1000px){.pulse-pair{grid-template-columns:1fr}.pulse-pair>.card+.card{margin-top:0}.pulse-disk-row{grid-template-columns:110px 1fr 160px}}@media(max-width:600px){.pulse-head .right{margin-left:0}.pulse-disk-row{grid-template-columns:100px 1fr}.pulse-disk-row .num{grid-column:1/-1}.pulse-host{grid-template-columns:1fr}.pulse-host dd{margin-bottom:8px}}

.auth-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.auth-choice{text-align:left;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--tint);color:var(--text);transition:background .15s,border-color .15s}.auth-choice b{display:block;font-size:13px}.auth-choice span{display:block;font-size:11.5px;color:var(--muted);line-height:1.5}.auth-choice.active{border-color:var(--accent);background:#6d5cf614;box-shadow:0 0 0 3px #6d5cf624}.auth-choice:disabled{opacity:.65}.auth-choice[aria-checked=true]{cursor:default}#securelink-fields .btn,#token-fields>.btn{margin-bottom:16px}#token-fields textarea{font-family:Consolas,monospace}#tab-content:has(.auth-cards) .form-footer{justify-content:flex-start}#tab-content:has(.auth-cards) .form-footer>.btn{margin-left:0}.num{text-align:right}

.source-row{display:block;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--tint)}.source-top{display:flex;align-items:center;gap:8px}.source-top>.source-url{flex:1}.source-top>.check{margin:0}.source-top .row-number{width:auto;min-width:29px;height:auto;font-size:11px;font-weight:600;margin:0;border:0;border-radius:6px;padding:4px 7px}.source-top .row-number.online{color:var(--green);background:#16a34a14}.source-row.off{opacity:.6}.source-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.source-options .field{margin:0}.source-options .input{min-height:34px;font-size:12px}.input-add{display:flex;gap:8px}.publication-radios{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.publication-radios label{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--muted);cursor:pointer}.publication-radios input{accent-color:var(--accent);width:16px;height:16px}.slate-editor{display:flex;align-items:flex-start;gap:18px}.slate-editor>img{width:240px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}.slate-editor>div{flex:1;min-width:240px}.input-checks{display:flex;gap:14px;flex-wrap:wrap}.input-checks .check{margin:0}#tab-content:has(#sources-editor) .card:last-of-type .form-footer{justify-content:flex-start}#tab-content:has(#sources-editor) .form-footer>.btn{margin-left:0}.archive-link-row.off code{text-decoration:line-through;color:var(--muted)}#publication-urls .archive-link-row .chip{min-width:150px}
@media(max-width:760px){.source-top{flex-wrap:wrap;row-gap:8px}.source-top>.source-url{flex:1 1 100%;order:2}.slate-editor{flex-wrap:wrap}.slate-editor>img{width:100%;max-width:320px}.slate-editor>div{min-width:0}#publication-urls .archive-link-row .chip{min-width:100px;font-size:9px}}
.create-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 210px;gap:14px}.create-bar .field{margin-bottom:14px}.create-bar label>small{display:inline;color:var(--muted);font-weight:400;margin-left:6px}.input-row{display:flex;gap:8px;align-items:center}.input-row>.input{flex:1}.create-bar .form-error{margin:0 0 12px}.create-bar .actions{margin-top:2px}.create-test-result{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--tint);border-radius:9px;margin-top:8px;font-size:12px}.create-test-result b,.create-test-result span{display:block}.create-test-result span{color:var(--muted);font-size:11px;margin-top:3px}.create-test-result.good{color:var(--green)}.create-test-result.bad{color:var(--red)}.info-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--accent);padding:3px;cursor:pointer}.info-btn svg{width:15px;height:15px}.info-btn:hover{background:var(--tint)}.input-summary{display:flex;align-items:center;gap:6px}.input-summary code{flex:1;min-width:0}.popover{position:absolute;z-index:80;width:min(540px,calc(100vw - 24px));border:1px solid var(--border);background:var(--panel);border-radius:12px;box-shadow:0 15px 50px #0003;padding:14px}.popover .table-wrap{border-radius:6px;box-shadow:none}.popover th,.popover td{padding:7px 8px;font-size:11px;letter-spacing:0}.popover td.mono{max-width:390px;overflow-wrap:anywhere}.popover h4{color:var(--text);font-size:12px;margin:12px 0 5px}.popover .mini{margin:10px 0 0}.compact-list td,.compact-list th{padding:9px 12px}.compact-name{display:flex;align-items:center;gap:8px;white-space:nowrap}.compact-name a{font-weight:700;color:var(--text)}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--muted);flex:none}.status-dot.online{background:var(--green)}.status-dot.error{background:var(--red)}.status-dot.waiting,.status-dot.starting{background:var(--orange)}.compact-input{display:flex;gap:10px;align-items:center;white-space:nowrap}.compact-input .badge{margin:0}.compact-list .row-actions{gap:5px}.compact-list .row-actions .btn{width:28px;min-height:28px}.stream-tile{cursor:pointer}.stream-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.list-more{font-size:11px;margin:4px 0;color:var(--muted)}.stream-logo{width:32px;height:32px;object-fit:contain;border:1px solid var(--border);border-radius:6px;background:var(--panel);padding:2px;margin-right:8px;float:left}
@media(max-width:1000px){.create-grid{grid-template-columns:1fr 2fr}.create-grid>.field:last-child{grid-column:1/-1}}@media(max-width:600px){.create-grid{grid-template-columns:1fr}.create-grid>.field:last-child{grid-column:auto}.input-row{flex-wrap:wrap}}
.golive-page{background:#0b0e17;color:#e6edff;font-family:"Segoe UI",system-ui,sans-serif;line-height:1.5;font-size:14px}.golive-page #golive-app{max-width:880px;margin:24px auto;padding:0}.golive-page h1{font-size:23px;font-weight:700;margin:0 0 2px}.golive-intro{color:#98b0d3;font-size:14px;margin:0 0 18px}.golive-card{background:#141a29;border:1px solid #27324b;border-radius:15px;padding:18px}.golive-card #pv{display:block;width:100%;aspect-ratio:16/9;background:#06080d;object-fit:contain;border-radius:11px;margin-bottom:14px}.golive-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.golive-fields label{font-size:12px;color:#a0b6db}.golive-fields select{display:block;width:100%;background:#0b0e17;color:#edf3ff;border:1px solid #303b56;border-radius:9px;height:42px;padding:8px 10px;font-size:14px;margin-top:4px}.golive-actions{display:flex;gap:10px;align-items:center;margin:14px 0 12px}.golive-actions button{height:42px;padding:10px 20px;background:#20283a;color:#eef3ff;border:0;border-radius:10px;font-weight:600;font-size:14px}.golive-actions #go{background:linear-gradient(120deg,#f33b4d,#e71c71)}.golive-actions #status{margin-left:auto;font-size:13px;color:#9eb6db}.golive-actions #status.error{color:#ffa3b2}.golive-hint{font-size:12px;color:#819cc5;margin:0;line-height:1.6}.golive-hint a{color:#b4b4ff;text-decoration:underline}.golive-page select:disabled{opacity:.6}@media(max-width:930px){.golive-page #golive-app{margin:24px 20px}}@media(max-width:620px){.golive-fields{grid-template-columns:1fr 1fr}.golive-page #golive-app{margin:16px}.golive-page h1{font-size:20px}}
.output-url-row{display:flex;align-items:center;gap:10px;margin:12px 0;min-width:0}.output-url-row>.chip{min-width:105px;text-align:center;margin:0}.output-url-row>code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--muted)}.output-url-row.off>code{text-decoration:line-through;opacity:.6}.output-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);width:92px;flex:none;cursor:pointer;position:relative}.output-toggle>input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.toggle-track{width:31px;height:17px;border-radius:999px;background:var(--border);position:relative;box-shadow:inset 0 0 0 1px #827ca033}.toggle-track:before{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:left .2s}.output-toggle:has(input:checked) .toggle-track{background:var(--accent)}.output-toggle:has(input:checked) .toggle-track:before{left:16px}.output-toggle:has(input:checked)>span:last-child{font-weight:700;color:var(--accent)}.output-toggle>input:focus-visible+.toggle-track{outline:3px solid var(--accent);outline-offset:3px}.output-spacer{width:92px;flex:none}.protocol-help{margin:-2px 0 8px 104px;font-size:11.5px;color:var(--muted);line-height:1.5}.output-settings>.card{margin-bottom:0}.output-save{margin:0 0 16px}.overlay-preview{border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;background:var(--tint);color:var(--muted);width:100px;height:66px;padding:4px;cursor:pointer;margin-bottom:16px}.overlay-preview img{display:block;width:100%;height:100%;object-fit:contain}.udp-builder{display:grid;grid-template-columns:1.4fr .8fr 1.2fr auto;gap:10px;align-items:end}.udp-builder>.btn{margin-bottom:14px}.push-table{margin-top:12px}.push-table .push-row{display:table-row;margin:0}.push-table td,.push-table th{padding:8px 10px}.push-table .input{min-height:32px;padding:5px 8px;font-size:12px}.push-table .push-timeout,.push-table .push-retry{width:70px}.push-table .push-limit{width:64px}.push-table .push-name{min-width:90px}.push-table .push-url{min-width:260px}.push-table .push-comment{min-width:100px}.push-table .badge{margin:0}#output-cards{margin:0 0 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}#output-cards:empty{display:none}.compact-input svg{vertical-align:middle;width:12px;height:12px}.tile-preview{position:relative;background:linear-gradient(135deg,#1d172a,#100e17);height:auto;aspect-ratio:16/9;color:#9691a3}.tile-preview>.badge{position:absolute;top:8px;left:8px}.tile-preview>span>svg{width:32px;height:32px}.input-dots i.error{background:var(--red)}@media(max-width:900px){.udp-builder{grid-template-columns:1fr 1fr}.udp-builder>.btn{margin-bottom:0}.output-settings{grid-template-columns:1fr!important}}@media(max-width:600px){.output-toggle,.output-spacer{width:75px}.output-url-row{gap:5px}.output-url-row>.chip{min-width:65px;font-size:10px}.protocol-help{margin-left:0}.output-url-row>code{font-size:10px}.udp-builder{grid-template-columns:1fr}.udp-builder>.btn{justify-self:start}}
#unsaved{display:none}.form-footer{justify-content:flex-start}.form-footer .btn{margin-left:0}.content:has(#stream-list){padding-top:10px}.streams-head{position:sticky;top:58px;z-index:15;background:var(--bg);margin:0 -28px;padding:0 28px}.streams-head .media-nav{min-height:40px;margin-bottom:0;gap:10px;overflow:auto;white-space:nowrap}.streams-head .media-tab{border:0;border-radius:0;padding:9px 10px;font-size:14px;font-weight:600;color:var(--muted);box-shadow:none;text-decoration:none;align-self:auto}.streams-head .media-tab.active{border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;padding:9px 18px;box-shadow:inset 0 3px var(--accent);color:var(--accent)}.streams-head .add-stream{width:44px;min-height:38px;border-radius:6px 6px 0 0!important}.streams-head .add-stream svg{width:18px;height:18px}.streams-head .toolbar{padding:10px 0;margin-bottom:0;gap:10px}.streams-head .search{max-width:420px}.streams-head .search>.input{min-height:40px;font-size:13px}.streams-head .search>span{top:12px;left:13px;font-size:0}.streams-head .search>span svg{width:14px;height:14px}.streams-head .filter-label{margin-left:auto;font-size:11px}.streams-head .view-switch{padding:3px;border-radius:11px}.streams-head .view-switch .btn{width:39px;min-width:39px;min-height:28px;padding:0}.streams-head .view-switch svg{width:15px;height:15px}.streams-head .filters{gap:5px}.streams-head .filter{min-height:33px;padding:5px 11px;font-size:12px}.streams-head .bulk-bar{margin:0 0 10px}.streams-head~#stream-list th{padding:14px 12px}.streams-head~#stream-list .source-cell{max-width:380px;min-width:280px}.streams-head~#stream-list td{padding:15px 12px}.streams-head~#stream-list .stream-name{font-size:13px}.streams-head~#stream-list .row-actions .btn{width:27px;min-height:27px;border-radius:8px}.streams-head~#stream-list .row-actions svg{width:14px;height:14px}.streams-head~#stream-list .input-dots i{width:10px;height:10px}.streams-head~#stream-list table{font-size:12px}.pagination{gap:14px;margin-top:12px}.pagination .input{width:83px;min-height:32px;padding:5px 10px;font-size:12px}.pagination .refresh-note{display:none}.log-workers:has(#workers-status:empty){display:none}.log-lines{background:var(--tint);border:0;border-radius:8px;font-size:12px;line-height:1.65;min-height:0;max-height:440px}.log-workers dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:12px}.log-workers dt{color:var(--muted)}.log-workers dd{margin:0}.log-workers .badge{margin:0 8px 0 0}@media(min-width:961px){.streams-head~#stream-list>.table-wrap{overflow:clip}.streams-head~#stream-list th{position:sticky;top:calc(58px + var(--streams-head-height,100px));z-index:5}}@media(max-width:760px){.streams-head{margin:0 -14px;padding:0 14px}.streams-head .filter-label{margin-left:0}.streams-head .search{max-width:none}.streams-head .media-tab{font-size:12px}.streams-head .media-tab.active{padding:9px 14px}.streams-head .filters{flex:1 1 100%}.streams-head .filter{padding:5px 8px}.streams-head~#stream-list .source-cell{min-width:200px}}

.detail-tabs{padding:0;gap:4px;margin-bottom:20px}.detail-tabs a{line-height:1.45;padding:9px 18px;margin:0 -1px -1px 0}.detail-tabs a.active{border-bottom:1px solid var(--panel)}[data-theme=dark] .detail-tabs a:not(.active){color:#b8b1dc}.btn.small{line-height:1.45;padding:5px 10px}.btn.small svg{width:14px;height:14px}.mode-switch .mode-button{line-height:1.45;padding:4px 10px}.player-top{margin-bottom:8.53px}.player-host{margin-left:1px;margin-right:1px}.streams-head .filter-label{display:block}@media(max-width:760px){.detail-tabs a{padding:9px 12px}.player-host{margin:0}}
.output-toggle>input{inset:0;z-index:1}
.tile-preview>.tile-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:9px}.tile-preview.has-image>small{display:none}.tile-preview.has-image>span{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#0007;color:#fff;opacity:0;transition:opacity .15s}.stream-tile:hover .tile-preview.has-image>span{opacity:1}.tile-preview>.badge{z-index:1}

/* Browser publication follows the original compact standalone form. */
.golive-page{color:#e7e9f2;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:24px 16px}
.golive-page #golive-app{width:100%;max-width:880px;margin:0 auto;padding:0}
.golive-page h1{font-size:22px;margin:0 0 2px}
.golive-intro{color:#9aa3bd;font-size:15px;margin:0 0 18px}
.golive-card{background:#141a2a;border-color:#232b40;border-radius:14px}
.golive-card #pv{background:#05070d;border-radius:10px;margin:0}
.golive-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:14px 0}
.golive-fields label{font-size:12.5px;color:#9aa3bd}
.golive-fields select,.golive-fields input{display:block;width:100%;height:auto;background:#0b0e17;color:#e7e9f2;border:1px solid #2c3550;border-radius:9px;padding:9px 10px;font:inherit;font-size:15px;margin-top:4px}
.golive-actions{flex-wrap:wrap;margin:0}
.golive-actions button{height:auto;font:600 15px system-ui;padding:11px 20px}
.golive-actions #go{background:linear-gradient(120deg,#ef4444,#db2777);color:#fff}
.golive-actions #stop{background:#232b40;color:#e7e9f2}
.golive-actions button:disabled{opacity:.45;cursor:default}
.golive-actions #status{font-size:13.5px;color:#9aa3bd}
.golive-actions #status.live{color:#f87171;font-weight:700}
.golive-actions #status.error{color:#fb7185}
.golive-hint{font-size:12.5px;color:#7d86a3;margin-top:12px;line-height:1.5}
.golive-hint a{color:#a5b4fc;text-decoration:none}
@media(max-width:620px){.golive-page #golive-app{margin:0}.golive-page h1{font-size:22px}.golive-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}

/* Keep the Transcoder action pair on opposite sides of its shared row. */
#tab-form:has(#processing) .form-footer{justify-content:flex-end}
#tab-form:has(#processing) .form-footer .btn{margin-left:auto}


@font-face{font-family:"JetBrains Mono";src:url('/vendor/fonts/JetBrainsMono-variable.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
code,.mono,pre,.player-latency b,.player-diagnostics b,.dvrline-position{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}

/* Form typography and row geometry measured against the live panel. */
:root{--input-bg:#fff;--text-secondary:#4d4868}
:root[data-theme=dark]{--input-bg:#110e26;--text-secondary:#b8b1dc}
.input{background:var(--input-bg)}
#tab-form .input{font-size:14.5px;line-height:1.45;min-height:0;border-radius:11px}
#tab-form .input.mono,#tab-form .source-url,#tab-form #auth-app-keys{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.45}
#tab-form .card h3{margin-bottom:12px}
#tab-form .card h3 small{font-size:12px}
#tab-form .field small,#tab-content .mini{font-size:12px;line-height:1.45}
#tab-form .field label,#tab-form .check{color:var(--text-secondary)}
#tab-form .grid{gap:16px}
#tab-form .profile-row .grid{gap:16px}
#tab-form .profile-row .track-name{font-size:12.5px;line-height:1.45;padding:6px 10px}
#tab-form .description-grid .input{font-size:13px;line-height:18px;min-height:34px;padding:6px 10px}
#tab-form .description-grid .field label{font-size:12px}
#tab-form .source-top .row-number{width:84px;min-width:84px;padding:0;background:transparent;font-size:12px;text-align:center}
#tab-form .source-top .source-url{padding:9px 12px}
.btn.icon.small{width:27px;min-height:27px;height:27px;padding:0;border-radius:8px}
#tab-form .source-options .input{padding:6px 10px;font-size:12.5px;min-height:0}
.source-row{background:var(--input-bg)}
.input-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;color:#0369a1;background:#0284c71c;border-color:#0284c74d;margin-bottom:16px}
.input-notice>svg{width:18px;height:18px;flex:none;margin-top:1px}
[data-theme=dark] .input-notice{color:#7dd3fc;background:#38bdf81f}
.input-notice code{font-size:12.5px;font-weight:600}
.output-url-row{margin:0;padding:9px 0;border-bottom:1px solid var(--border)}
.output-url-row:last-child{border-bottom:0}
.output-url-row>.chip{min-width:78px;font-size:12px;line-height:1.45;padding:3px 12px;color:var(--accent);background:#a78bfa21}
.output-url-row>code{font-size:12.5px;line-height:1.45;color:var(--text-secondary)}
.output-toggle{width:81px;font-size:12px;line-height:1.45}
.output-toggle .toggle-track{width:34px;height:18px;background:#827ca026;border:1px solid #827ca03d}
.output-toggle .toggle-track:before{width:12px;height:12px;left:2px;top:2px}
.output-toggle:has(input:checked) .toggle-track{background:linear-gradient(120deg,#8b5cf6,#c026d3,#ec4899)}
.output-toggle:has(input:checked) .toggle-track:before{left:18px}
.output-toggle:has(input:checked)>span:last-child{color:var(--green)}
.output-toggle:not(:has(input:checked))>span:first-child{color:var(--red)}
.protocol-help{font-size:12px;line-height:1.45}
#tab-form:has(.output-proto)>.card:first-child>.mini{margin-bottom:16px}
.auth-choice span{font-size:12px;line-height:1.45}
#tab-form:has(.auth-cards) #auth-app-keys{font-family:"JetBrains Mono",ui-monospace,monospace}
@media(max-width:760px){#tab-form .source-top .row-number{width:auto;min-width:40px}#tab-form .grid{gap:12px}.output-toggle{width:81px}.output-url-row>.chip{min-width:65px;font-size:10px}}

.btn{gap:8px;line-height:1.45;padding:8px 13px;min-height:36.84375px}
.btn.small{padding:5px 10px;min-height:29px}
.btn.icon{padding:0;min-height:32px}.btn.icon.small{min-height:27px}
.stream-fab{display:none}
@media(max-width:960px){
:root{--sidebar-width:0px}.shell{grid-template-columns:minmax(0,1fr)}.workspace{grid-column:1;overflow-x:clip}
.sidebar{width:min(82vw,300px);height:100dvh;transform:translateX(-100%);overflow-y:auto;padding:18px 14px}
.menu-open .sidebar{transform:none}.menu-open .menu-scrim{display:block;position:fixed;inset:0;z-index:45;background:#0508148c;backdrop-filter:blur(2px);border:0}
.sidebar .brand-name,.sidebar .nav-label,.sidebar .account{display:block}.sidebar-bottom .theme-button,.sidebar-bottom .side-logout{display:inline-flex!important}
.topbar{height:auto;min-height:67px;padding:12px 16px;flex-wrap:nowrap}.topbar .menu-toggle{display:inline-flex!important;width:42px;height:42px;min-height:42px;flex:none}.topbar .menu-toggle svg{width:22px;height:22px}
.topbar h1{font-size:17px;min-width:0;max-width:none;gap:8px}.top-right{display:none}
.content{padding:16px}.streams-head{top:67px;margin:0 -16px;padding:0 16px}
.description-grid{grid-template-columns:1fr 1fr;gap:10px}.description-grid .field:first-child{display:flex}.logo-slot{display:grid;width:132px}
.detail-heading{flex-wrap:wrap}.detail-heading>.actions{margin-left:0;width:100%}.grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}
.output-settings{grid-template-columns:1fr!important}.udp-builder{grid-template-columns:1fr;gap:10px}.udp-builder>.btn{margin-bottom:14px;justify-self:start}
}
@media(max-width:760px){
.content{padding:12px}.content:has(#stream-list){padding-top:12px}.card{padding:14px}.streams-head{margin:0 -12px;padding:0 12px}
.detail-heading>.actions .btn{flex:1 1 calc(50% - 8px);justify-content:center}
.detail-tabs,.streams-head .media-nav{flex-wrap:wrap;overflow:visible;gap:6px;border-bottom:0;padding:0;margin-bottom:14px;white-space:normal;align-items:center}
.detail-tabs a,.streams-head .media-tab{margin:0;border:1px solid #827ca044;border-radius:999px;padding:7px 13px;font-size:13px;background:var(--tint);box-shadow:none;line-height:1.45}
.detail-tabs a.active,.streams-head .media-tab.active{padding:7px 13px;border-color:transparent;border-radius:999px;background:var(--accent);color:#fff;box-shadow:none}
.streams-head .add-stream{width:40px;height:34px;min-height:34px;border-radius:999px!important}
.stream-fab{display:grid;place-items:center;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:58px;height:58px;min-height:58px;border-radius:50%;border:0;padding:0;background:linear-gradient(120deg,#8b5cf6,#c026d3,#ec4899);color:#fff;box-shadow:0 10px 24px #a78bfa52,0 2px 6px #0004}.stream-fab svg{width:26px;height:26px}
.streams-head .toolbar{padding-top:0;gap:10px}.streams-head .search{min-width:0;flex:1 1 200px}.streams-head .filter-label{margin:0}.streams-head .filters{flex:1 1 100%}
#stream-list>.table-wrap:not(.compact-list){overflow:visible;border:0;background:transparent;box-shadow:none}
#stream-list>.table-wrap:not(.compact-list) table,#stream-list>.table-wrap:not(.compact-list) tbody{display:block;width:100%}
#stream-list>.table-wrap:not(.compact-list) thead{display:none}
#stream-list>.table-wrap:not(.compact-list) tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;position:relative;padding:14px;margin-bottom:12px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
#stream-list>.table-wrap:not(.compact-list) td{display:block;padding:0;border:0;min-width:0;background:transparent!important}
#stream-list>.table-wrap:not(.compact-list) td:nth-child(1){position:absolute;top:14px;right:14px}
#stream-list>.table-wrap:not(.compact-list) td:nth-child(2),#stream-list>.table-wrap:not(.compact-list) td:nth-child(3),#stream-list>.table-wrap:not(.compact-list) td:nth-child(7){grid-column:1/-1}
#stream-list>.table-wrap:not(.compact-list) td:nth-child(2){padding-right:34px}
#stream-list>.table-wrap:not(.compact-list) td:nth-child(7){border-top:1px dashed var(--border);padding-top:10px}
#stream-list>.table-wrap:not(.compact-list) .row-actions{justify-content:flex-start;gap:10px}
#stream-list>.table-wrap:not(.compact-list) .row-actions .btn{width:42px;min-height:42px;padding:9px}
#stream-list .source-cell{max-width:100%;min-width:0!important}#stream-list .source-cell code{max-width:100%}.compact-list{-webkit-overflow-scrolling:touch}
.description-grid{grid-template-columns:1fr}.description-grid .field:first-child{display:flex}.description-grid .field:last-child{grid-column:auto}.description-card{padding:14px}.description-card .logo-slot{display:grid}
#tab-form .grid.two,#tab-form .grid.three,#tab-form .grid.four{grid-template-columns:minmax(0,1fr)}
#tab-form .grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}
.source-top>.source-url{order:0;flex:1 1 100%}.source-top{flex-wrap:wrap}
.output-url-row{flex-wrap:wrap;gap:10px}.output-url-row>code{min-width:120px;font-size:12.5px}.output-url-row>.chip{min-width:78px;font-size:12px}.protocol-help{margin-left:0}
#publication-urls .archive-link-row{flex-wrap:wrap}.archive-link-row code{min-width:120px;white-space:nowrap}.slate-editor>img{width:240px;max-width:100%}
.dvrline-tools{flex-wrap:wrap;gap:4px}.dvrline-tools .dvrline-position{display:block;flex-basis:100%}.dvrline-info{font-size:12px}
.player-card{padding:14px}.player-top{gap:8px}.player-host{margin:0}.protocol-tabs{gap:4px;margin-bottom:14px}
.pagination{flex-wrap:wrap}.form-footer{flex-wrap:wrap}.auth-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}

/* The later reference theme keeps the wrapped tab strip on small screens. */
@media(max-width:960px){
.topbar .menu-toggle{border:0;background:transparent;box-shadow:none;border-radius:0;width:42px;min-height:42px;padding:10px}
.topbar .menu-toggle svg{width:22px;height:22px}
.topbar h1{flex:1;display:flex;flex-wrap:nowrap;min-width:0;max-width:none;gap:8px;font-size:17px;line-height:1.45}
.topbar h1>a,.topbar h1>.stream-crumb{min-width:0;overflow-wrap:anywhere}
.topbar h1>a[href="#/streams"],.topbar h1>.crumb,.topbar h1>.tab-crumb{flex:none}
.topbar h1>a:not([href="#/streams"]){background:linear-gradient(110deg,#a855f7,#d946ef);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:700}
}
@media(max-width:760px){
.detail-heading>.actions>[form="tab-form"],.detail-heading>.actions>[data-action="save-template"]{flex:1 1 100%}
.detail-tabs,.streams-head .media-nav{border-bottom:1px solid var(--border);align-items:flex-end;touch-action:manipulation}
.detail-tabs a,.streams-head .media-tab{background:transparent;border-color:transparent;border-bottom:0;border-radius:12px 12px 0 0;margin:0 -1px -1px 0;font-size:13px;line-height:1.45;padding:7px 13px;color:var(--text-secondary);box-shadow:none}
.detail-tabs a.active,.streams-head .media-tab.active,[data-theme=dark] .detail-tabs a.active{background:var(--panel);border-color:var(--border);border-bottom:1px solid var(--panel);border-radius:12px 12px 0 0;color:var(--accent);padding:7px 13px;box-shadow:inset 0 3px var(--accent);font-weight:700}
#tab-form>.card:not(.description-card)>h3 small{display:block;margin:6px 0 0}
.streams-head .filter{border-radius:999px}
}

/* Tablet landscape keeps the original two-column overview above the drawer breakpoint. */
@media(min-width:961px){
.overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.overview-side{display:block}.overview-side>.card{margin-bottom:16px}
}
@media(min-width:961px) and (max-width:1100px){
.content{padding:24px 28px 48px}
.description-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.description-grid>.field:last-child{grid-column:auto}
.description-grid>.field:first-child{display:flex}.description-grid .logo-slot{width:132px}
.topbar{height:auto;min-height:58px;padding:14px 28px;align-items:center}
.topbar h1{max-width:none;min-width:0;flex-wrap:nowrap;font-size:19px;line-height:1.45;gap:8px}
.topbar h1>a,.topbar h1>.stream-crumb{min-width:0;overflow-wrap:anywhere}
.topbar h1>a[href="#/streams"],.topbar h1>.crumb,.topbar h1>.tab-crumb{flex:none}
.top-right{display:flex;flex-direction:column;align-items:flex-end;flex-wrap:nowrap;gap:4px;max-width:none;min-width:0}
.topbar .version{display:inline-flex;font-size:13px;padding:6px 12px;line-height:1.45}
.top-metrics{flex-wrap:nowrap;border-radius:999px;max-width:100%}.top-metrics>span{padding:5px 12px;font-size:11px}
.top-metrics small{font-size:11px}
}
@media(max-width:960px){.overview-side{display:block}.overview-side>.card{margin-bottom:16px}}
@media(max-width:800px){.media-info-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.player-host{margin-left:1px;margin-right:1px}}
.output-rtc-state{font-size:12px;color:var(--muted);white-space:nowrap}

@media(max-width:1100px){
.description-card h3{margin-bottom:6px}
.description-card .field label{font-size:11.5px;line-height:1.45}
#tab-form .description-grid .input{min-height:0;line-height:1.45}
.description-card .logo-slot{min-height:46px;max-height:46px}
}
@media(max-width:960px){.detail-heading{margin-bottom:19.421875px}}
@media(max-width:760px){.detail-tabs,.streams-head .media-nav{align-items:center}.detail-tabs a,.streams-head .media-tab{margin:0}}

@media(min-width:961px) and (max-width:1100px){.topbar{min-height:94.625px}}
.topbar h1>a:not([href="#/streams"]){background:linear-gradient(110deg,#a855f7,#d946ef);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:700}

.auth-brand{display:flex;justify-content:center;align-items:center;margin-bottom:20px}
.auth-brand img{display:block;width:min(100%,342px);height:auto;aspect-ratio:342/200;object-fit:contain}

.mode-switch .mode-button{min-height:0}
.player-top .btn,.player-top .mode-button{gap:7px}
@media(max-width:1100px){
#tab-form .description-grid .field label{font-size:11.5px}
#tab-form .description-grid select.input{height:32.84375px}
}
@media(max-width:760px){.detail-tabs{margin-bottom:13px}.player-top{margin-bottom:9px}}

/* Independent Config and VOD layouts, confined to their page containers. */
.phase2-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.phase2-head h2{font-size:22px;letter-spacing:-.02em;font-weight:700}.phase2-head .sub{color:var(--muted);font-size:13px}.phase2-head>.right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.phase2-tabs{display:flex;gap:3px;padding:0;border-bottom:1px solid var(--border);margin-bottom:20px;overflow:auto;white-space:nowrap}.phase2-tabs>button{display:block;padding:9px 18px;border:1px solid transparent;border-bottom:0;border-radius:12px 12px 0 0;background:transparent;color:#b8b1dc;font-size:14.5px;line-height:21px;font-weight:600;margin-bottom:-1px}.phase2-tabs>button.active{background:var(--panel);color:var(--accent);border-color:var(--border);box-shadow:inset 0 3px var(--accent);font-weight:700}[data-theme=light] .phase2-tabs>button{color:#5d5575}.phase2-tabs>button:hover{background:var(--tint);color:var(--text)}.phase2-page .mb{margin-bottom:16px}.phase2-page .card h3{font-size:15px;font-weight:700}.phase2-page .mini,.phase2-page .field small{font-size:12px;line-height:1.45}.phase2-page .field label{font-size:12px;font-weight:600}.phase2-page .field{margin-bottom:16px}.phase2-page .input-row{display:flex;align-items:center;gap:8px;min-width:0}.phase2-page .input-row>.input{flex:1;min-width:0}.phase2-page .input-row>.btn{flex:none}.phase2-page textarea.input{resize:vertical}.phase2-page .check{align-items:flex-start}.phase2-page .check small{font-size:12px;line-height:1.45}.phase2-page .code-box{white-space:pre;overflow:auto;background:var(--tint);border:1px solid var(--border);padding:14px;border-radius:10px;font-size:12px;line-height:1.65;margin:0}.cfg-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}.cfg-grid>div,.cfg-auth-grid>div{min-width:0}.cfg-actions{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap}.cfg-section-title{font-size:15px;font-weight:700;margin:18px 0 10px}.cfg-section-title>span{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.cfg-notice{margin-top:16px;font-size:12px;line-height:1.45}.cfg-notice.warn{background:#d9901a15;color:var(--orange);border-color:#d9901a44}.cfg-notice>svg{flex:none}.cfg-radios{display:flex;gap:16px;flex-wrap:wrap}.cfg-radios label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.cfg-radios input{accent-color:var(--accent)}.cfg-listener-section{padding:10px 0 12px;border-bottom:1px solid var(--border)}.cfg-listener-section:last-child{border-bottom:0}.cfg-listener-title{display:flex;align-items:center;gap:8px}.cfg-listener-title>b{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text)}.cfg-listener-title>span{display:inline-flex;color:var(--accent)}.cfg-listener-title>.btn{width:23px;min-height:23px}.cfg-listener-head,.cfg-listener-row{display:grid;grid-template-columns:minmax(60px,120px) minmax(0,1fr) 60px 40px;gap:10px;align-items:center}.cfg-listener-section:has([data-listener=rtmp]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtmp]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtmps]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtmps]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtsp]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtsp]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtsps]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtsps]) .cfg-listener-row{grid-template-columns:minmax(60px,120px) minmax(0,1fr) 40px}.cfg-listener-head{font-size:11.5px;font-weight:700;color:var(--muted);padding:8px 0 4px}.cfg-listener-row{padding:4px 0}.cfg-listener-head.tls,.cfg-listener-row.tls{grid-template-columns:minmax(60px,120px) minmax(0,1fr) minmax(0,1fr) 60px 40px}.cfg-listener-row .input{min-height:32px;padding:5px 9px;font-size:12px;line-height:20px}.cfg-listener-row .btn{width:40px;min-height:28px}.cfg-switch{display:block;position:relative;width:38px;height:21px;flex:none;cursor:pointer}.cfg-switch>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.cfg-switch>span{display:block;width:100%;height:100%;border:1px solid var(--border);border-radius:12px;background:var(--border);transition:background .15s}.cfg-switch>span:after{content:"";display:block;width:15px;height:15px;position:absolute;left:3px;top:3px;border-radius:50%;background:white;transition:left .15s}.cfg-switch>input:checked+span{background:var(--accent);border-color:var(--accent)}.cfg-switch>input:checked+span:after{left:20px}.cfg-switch>input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.cfg-cert-status small,.cfg-cert-status b{display:block;overflow-wrap:anywhere}.cfg-cert-status small{color:var(--muted)}.cfg-cert-status b{font-size:12px;font-weight:600}.cfg-tls textarea{min-height:90px;font-size:11.5px}.cfg-cert-log{max-height:160px;margin-top:16px;overflow:auto}.cfg-editor{min-height:68vh;font-size:13px!important;line-height:1.5!important;white-space:pre;overflow:auto;tab-size:2}.cfg-hook{background:var(--tint);box-shadow:none}.cfg-hook .field{margin-top:12px}.cfg-event-chips .chip{margin:0;white-space:normal;min-height:28px;border:1px solid var(--border);padding:5px 10px}.cfg-event-chips .chip.active{background:var(--accent);color:white;border-color:transparent}.cfg-log-heading{justify-content:flex-end;margin-top:-40px;margin-bottom:12px}.cfg-log-url{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfg-facts{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 14px;font-size:12px}.cfg-facts dt{color:var(--muted)}.cfg-facts dd{margin:0;overflow-wrap:anywhere}.cfg-import-text{min-height:260px}.cfg-import-table{max-height:50vh}.cfg-wide-dialog{width:min(1050px,calc(100% - 30px))}.confirmation-copy{white-space:pre-wrap}.vod-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:40px 20px;color:var(--muted)}.vod-empty>svg{width:44px;height:44px;stroke:var(--accent)}.vod-empty>b{font-size:17px;color:var(--text)}.vod-page .table-wrap td{font-size:13.5px}.vod-browser-card{margin-top:20px}.vod-browser-card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vod-browser-card h3 code{font-size:15px;font-weight:600}.vod-browser-card h3 .btn{margin-left:4px}.vod-browser-card td:first-child a{display:inline-flex;align-items:center;gap:6px}.vod-browser-card th:nth-child(4){min-width:210px}.vod-page .row-actions{gap:6px}.vod-page .badge{margin:0}
@media(max-width:1100px){.cfg-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.phase2-head>.right{margin-left:0;width:100%}.phase2-tabs{flex-wrap:wrap;overflow:visible;gap:6px;border-bottom:0;align-items:center;margin-bottom:14px}.phase2-tabs>button{border:1px solid var(--border);border-radius:999px;padding:7px 13px;margin:0;font-size:13px;line-height:19px;background:var(--tint)}.phase2-tabs>button.active{background:var(--accent);color:white;border-color:transparent;box-shadow:none}.phase2-page .grid.two,.cfg-auth-grid,.cfg-tls{grid-template-columns:minmax(0,1fr)}.phase2-page .cfg-actions>.btn{min-height:37px}.cfg-listener-head,.cfg-listener-row{grid-template-columns:70px minmax(0,1fr) 38px 32px;gap:7px}.cfg-listener-head.tls,.cfg-listener-row.tls{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr) 32px 30px;gap:5px}.cfg-listener-row.tls .input{padding:5px 6px;font-size:11px}.cfg-listener-row.tls .btn{width:30px}.cfg-listener-row .btn{width:32px}.cfg-listener-row .cfg-switch{width:30px;height:19px}.cfg-listener-row .cfg-switch>span:after{width:13px;height:13px}.cfg-listener-row .cfg-switch>input:checked+span:after{left:14px}.cfg-facts{grid-template-columns:85px minmax(0,1fr)}.cfg-section-title>span{display:block;margin-left:0}.vod-page .phase2-head .btn{flex:1}.phase2-page .code-box{font-size:11.5px}.cfg-editor{min-height:60vh}.cfg-tls .actions{margin-top:8px}}

/* Listener captions and switches follow the observed Config controls. */
.cfg-listener-section{padding:8px 0 10px}.cfg-listener-title>b{text-transform:none;letter-spacing:.02em;color:var(--text-secondary)}.cfg-listener-title>span svg{width:15px;height:15px}.cfg-listener-title>.btn{width:22px;min-height:22px;border-radius:6px;padding:0}.cfg-listener-title>.btn svg{width:13px;height:13px}.cfg-listener-head{font-size:12.5px;color:var(--text);padding-top:10px}.cfg-switch{width:40px;height:22px}.cfg-switch>span:after{width:16px;height:16px;top:3px;left:3px}.cfg-switch>input:checked+span{background:#d946ef;border-color:transparent}.cfg-switch>input:checked+span:after{left:21px}

/* Measured Phase 2 spacing is isolated from the established Streams screens. */
.phase2-head .sub{margin-top:0}.phase2-page .card{padding:18px 20px}.phase2-page .card h3{margin-bottom:12px}.phase2-tabs{align-items:flex-end}.phase2-tabs>button{line-height:1.45}.phase2-tabs>button.active{border-bottom:1px solid var(--panel)}.phase2-page .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.phase2-page .field label{margin-bottom:0}.phase2-page .field small{margin-top:0}.cfg-listener-title>.btn.icon.small{height:22px;min-height:22px}.cfg-listener-row .input{padding:6px 10px;font-size:12.5px;line-height:1.45;min-height:0}.cfg-notice{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;padding:12px 14px;margin-bottom:16px}.cfg-notice>svg{width:18px;height:18px;margin-top:1px}.cfg-switch>input:checked+span{background:linear-gradient(120deg,#8b5cf6,#c026d3 55%,#ec4899)}
@media(min-width:961px){.shell:has(.phase2-page) .topbar{min-height:58.390625px}.shell:has(.phase2-page) .top-right{flex-direction:row;align-items:center;gap:8px}.shell:has(.phase2-page) .topbar .version{font-size:12px;padding:5px 11px}.shell:has(.phase2-page) .top-metrics>span{padding:5px 12px;font-size:12px}}
@media(max-width:760px){.phase2-page .card{padding:14px}.phase2-tabs{gap:4px;border-bottom:1px solid var(--border);align-items:center}.phase2-tabs>button{border-radius:12px 12px 0 0;background:transparent;border-color:transparent;line-height:1.45}.phase2-tabs>button.active{background:var(--panel);color:var(--accent);border-color:var(--border);border-bottom-color:var(--panel);box-shadow:inset 0 3px var(--accent)}.cfg-listener-head,.cfg-listener-row{grid-template-columns:minmax(60px,120px) minmax(0,1fr) 60px 40px;gap:6px}.cfg-listener-head.tls,.cfg-listener-row.tls{grid-template-columns:minmax(60px,120px) minmax(0,1fr) minmax(0,1fr) 60px 40px;gap:6px}.cfg-listener-section:has([data-listener=rtmp]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtmp]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtmps]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtmps]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtsp]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtsp]) .cfg-listener-row,.cfg-listener-section:has([data-listener=rtsps]) .cfg-listener-head,.cfg-listener-section:has([data-listener=rtsps]) .cfg-listener-row{grid-template-columns:minmax(60px,120px) minmax(0,1fr) 40px}.cfg-listener-row .btn,.cfg-listener-row.tls .btn{width:40px}.cfg-listener-row .cfg-switch{width:40px;height:22px}.cfg-listener-row .cfg-switch>span:after{width:16px;height:16px}.cfg-listener-row .cfg-switch>input:checked+span:after{left:21px}.cfg-listener-row.tls .input{padding:6px 10px;font-size:12.5px}.cfg-listener-head>*{min-width:0}}

.cfg-listener-title>.btn.icon.small{width:22px}.cfg-listener-row>.btn.icon.small{width:40px}

.phase2-page .input{font-size:14.5px;line-height:1.45;min-height:0}.phase2-page .input.mono{font-size:12.5px}.phase2-page .input.small{font-size:12.5px;padding:6px 10px}.cfg-grid #cfg-api-token,.cfg-grid #cfg-securelink{padding:6px 10px}.cfg-grid:has(#cfg-user) #cfg-user~.cfg-section-title{font-size:13px}.cfg-grid .cfg-section-title:has(+.input-row){font-size:13px}.phase2-page .cfg-listener-row .input{font-size:12.5px}.dialog:has(#vod-location-form){width:min(560px,calc(100% - 40px))}.dialog:has(#vod-location-form)>header{padding:18px 22px 0;border-bottom:0}.dialog:has(#vod-location-form)>header h2{font-size:17px}.dialog:has(#vod-location-form) .dialog-body{padding:18px 22px 20px}.dialog:has(#vod-location-form) .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.dialog:has(#vod-location-form) .field label{margin-bottom:0;font-size:12px}.dialog:has(#vod-location-form) .field small{margin-top:0;font-size:12px;line-height:1.45}.dialog:has(#vod-location-form) .input{font-size:14.5px;line-height:1.45;min-height:0}.dialog:has(#vod-location-form) .input.mono{font-size:12.5px}.dialog:has(#vod-location-form) #vod-error:empty{display:none}.dialog:has(#vod-location-form) footer{padding-top:0;margin-top:18px;border-top:0;gap:8px}

/* Config choice descriptions occupy normal body line boxes, as measured live. */
.phase2-page .auth-choice{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;font-size:14.5px;line-height:1.45}.phase2-page .auth-choice b{line-height:1.45}.phase2-page .auth-choice span{font-size:11.5px;line-height:21.025px}.phase2-page .cfg-precedence{margin-bottom:16px}.phase2-page textarea.input{min-height:80px}.phase2-page textarea.cfg-editor{min-height:68vh}.cfg-auth-grid .check{font-size:14.5px}.phase2-page .code-box{padding:10px 12px;line-height:1.45;color:var(--text-secondary)}.cfg-migration-grid>.card+.card{margin-top:16px}
@media(max-width:760px){.phase2-page textarea.cfg-editor{min-height:60vh}}
.phase2-page .auth-choice{background:var(--input-bg);border-color:#dcd7ee}.phase2-page .auth-choice.active{background:#7c3aed1a;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed1a}[data-theme=dark] .phase2-page .auth-choice{border-color:#b4aaff29}[data-theme=dark] .phase2-page .auth-choice.active{background:#a78bfa21;border-color:var(--accent);box-shadow:0 0 0 3px #a78bfa21}.cfg-actions .btn.primary.success{background:#17a36112;color:var(--green);border-color:#17a36144}
.dialog:has(#vod-location-form) footer{padding-top:14px}
.phase2-page label:has(>#cfg-auto-publish){flex-direction:column;align-items:flex-start;gap:10px;font-size:14.5px;margin-bottom:10px}.phase2-page #cfg-auto-publish{width:13px;height:13px}.phase2-page label:has(>#cfg-auto-publish)>span small{margin-top:0}.phase2-page .cfg-tls textarea.input{min-height:90px}
@media(max-width:800px){.phase2-page .grid.two,.cfg-auth-grid,.cfg-tls{grid-template-columns:minmax(0,1fr)}}

.retry-countdown{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.35;margin-top:4px;white-space:nowrap}.tile-preview .retry-countdown{position:absolute;top:37px;left:8px;z-index:1;color:#bbb2cc;background:#171121bf;padding:2px 6px;border-radius:4px}

.media-info-grid.media-info-single{grid-template-columns:minmax(0,1fr)}
.player-audio-list{min-width:200px}.player-audio-list button[aria-checked="true"]{background:#ffffff24}.player-audio-button{font-weight:700}

/* Stable polling layout and compact, explicit stream controls. */
.top-metrics>span{box-sizing:border-box;flex:0 0 108px;width:108px;overflow:hidden}
.top-metrics>span:nth-child(2){flex-basis:98px;width:98px}
.top-metrics>span:nth-child(3),.top-metrics>span:nth-child(4){flex-basis:158px;width:158px}
.top-metrics>span:nth-child(5){flex-basis:88px;width:88px}
.top-metrics>span:nth-child(6){flex-basis:124px;width:124px}
.top-metrics b{font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stream-name-group{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-bottom:3px}
.stream-name-group .stream-name{display:inline;flex:0 1 auto;min-width:0;margin:0}
.stream-name-group .copy-stream-name{flex:none;width:23px;min-height:23px;padding:3px;border:0;background:transparent;color:var(--muted);box-shadow:none}
.stream-name-group .copy-stream-name:hover{color:var(--accent);background:var(--tint)}
.copy-stream-name svg{width:14px;height:14px}
.stream-status{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;min-height:24px}
.stream-status .badge{flex:none;margin:0}
.stream-status .retry-countdown{display:inline-block;box-sizing:border-box;flex:0 0 200px;width:200px;margin:0;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.tile-preview .stream-status{position:absolute;top:8px;left:8px;right:8px;z-index:1}
.tile-preview .stream-status .badge,.tile-preview .stream-status .retry-countdown{position:static}
.tile-preview .stream-status .retry-countdown{padding:2px 6px;background:#171121bf}
#stream-list .row-actions.stream-row-actions{display:grid;grid-template-columns:repeat(2,max-content);justify-content:end;align-items:center;gap:6px}
#stream-list .stream-row-actions .btn.stream-toggle{grid-column:1/-1;justify-self:end;display:inline-flex;align-items:center;gap:7px;width:auto;min-width:68px;min-height:27px;padding:3px 5px;border:0;background:transparent;box-shadow:none;font-size:11px}
.stream-toggle .switch-track{display:inline-block;width:30px;height:17px;border-radius:20px;background:var(--muted);position:relative;flex:none}
.stream-toggle .switch-track:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;background:var(--panel);border-radius:50%;transition:transform .15s}
.stream-toggle[aria-checked=true] .switch-track{background:var(--green)}
.stream-toggle[aria-checked=true] .switch-track:after{transform:translateX(13px)}

/* Size the Streams table to the viewport; never clip its action column. */
.streams-head~#stream-list>.table-wrap{overflow:visible}
#stream-list table{table-layout:fixed;width:100%}
#stream-list th:first-child{width:40px}
#stream-list th:nth-child(2){width:28%}
#stream-list th:nth-child(3){width:24%}
#stream-list th:nth-child(4){width:14%}
#stream-list th:nth-child(5){width:10%}
#stream-list th:last-child{width:104px}
.streams-head~#stream-list .source-cell{min-width:0;max-width:none}
#stream-list td{overflow-wrap:anywhere}
#stream-list .source-cell code{max-width:100%}
#stream-list .stream-status{min-width:0;max-width:100%}
#stream-list .stream-status .retry-countdown{flex:0 1 200px;min-width:0}
#stream-list .compact-name{white-space:normal}
#stream-list .compact-input{flex-wrap:wrap}
.tile-preview .stream-status .badge{font-size:11px}
.streams-head{top:var(--app-topbar-height,58px)}
.streams-head~#stream-list th{top:calc(var(--app-topbar-height,58px) + var(--streams-head-height,100px))}
@media(min-width:961px) and (max-width:1279px){
 .top-metrics>span{flex-basis:94px;width:94px}
 .top-metrics>span:nth-child(2){flex-basis:82px;width:82px}
 .top-metrics>span:nth-child(3),.top-metrics>span:nth-child(4){flex-basis:136px;width:136px}
 .top-metrics>span:nth-child(5){flex-basis:74px;width:74px}
 .top-metrics>span:nth-child(6){flex-basis:98px;width:98px}
 .top-metrics>span,.shell:has(.phase2-page) .top-metrics>span{padding:5px 7px;font-size:10px}
 .top-metrics small{font-size:9px}
 .topbar{gap:10px}
}
@media(max-width:960px){
 #stream-list>.table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
 #stream-list>.table-wrap table,#stream-list>.table-wrap tbody{display:block;width:100%}
 #stream-list>.table-wrap thead{display:none}
 #stream-list>.table-wrap tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;position:relative;padding:14px;margin-bottom:12px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
 #stream-list>.table-wrap td{display:block;padding:0;border:0;min-width:0;background:transparent!important}
 #stream-list>.table-wrap td:first-child{position:absolute;top:14px;right:14px}
 #stream-list>.table-wrap td:nth-child(2),#stream-list>.table-wrap td:nth-child(3),#stream-list>.table-wrap td:last-child{grid-column:1/-1}
 #stream-list>.table-wrap td:nth-child(2){padding-right:30px}
 #stream-list>.table-wrap td:last-child{border-top:1px dashed var(--border);padding-top:10px}
 #stream-list>.table-wrap .row-actions.stream-row-actions{justify-content:start}
 #stream-list>.table-wrap .row-actions .btn.icon{width:40px;min-height:40px}
 #stream-list .source-cell{min-width:0!important;max-width:100%}
 #stream-list .compact-input{gap:8px}
 .stream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 #stream-list>.table-wrap tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stream-grid{grid-template-columns:minmax(0,1fr)}
}
