body{margin:0;background:#0d1117;color:#f3f6fb;font-family:Arial,sans-serif}.hidden{display:none!important}.center{min-height:100vh;display:grid;place-items:center}.card{background:#161b22;border:1px solid #283548;border-radius:18px;padding:24px;box-shadow:0 14px 40px #0006;margin-bottom:18px}.login-card{width:430px}input,select{width:100%;padding:12px;border-radius:10px;border:1px solid #334155;background:#0f172a;color:white;margin-top:8px;box-sizing:border-box}button{width:100%;padding:12px;margin-top:14px;border:0;border-radius:10px;background:#22c55e;color:#052e16;font-weight:900}.danger{background:#ef4444;color:white}.smallbtn{width:auto;display:inline-block;margin-right:8px;padding:9px 12px}#app{display:flex;min-height:100vh}aside{width:270px;background:#111827;padding:22px;border-right:1px solid #263244}aside button{background:#1f2937;color:white;text-align:left}main{flex:1;padding:28px;overflow:auto}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.row,.check-row{padding:16px;border:1px solid #263244;border-radius:14px;margin-bottom:14px;background:#0f172a}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#1f2937;color:#dbeafe;font-size:12px;margin:4px}.success{background:#14532d;color:#bbf7d0}.warning{background:#713f12;color:#fde68a}.fail{background:#7f1d1d;color:#fecaca}.program-badge{background:#991b1b;color:#fecaca}.preview-badge{background:#14532d;color:#bbf7d0}.url{font-size:12px;word-break:break-all;color:#bfdbfe}.readyBig{font-size:44px;font-weight:900}.banner{padding:16px;border-radius:14px;margin-bottom:18px}.program{border-color:#991b1b}.preview{border-color:#14532d}.overlay{background:#020617;border-left:5px solid #22c55e;border-radius:14px;padding:16px;margin-top:10px}.monitor{aspect-ratio:16/9;background:#020617;border:1px solid #334155;border-radius:12px;display:grid;place-items:center;overflow:hidden}.monitor iframe{width:100%;height:100%;border:0}.locked{opacity:.45}.hint{color:#cbd5e1}@media(max-width:1000px){#app{display:block}aside{width:auto}.grid,.cards{grid-template-columns:1fr}}
.player-pool{position:fixed;left:-99999px;top:-99999px;width:1px;height:1px;overflow:hidden}.monitor .player-frame{width:100%;height:100%;border:0}

.monitor-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.monitor-tile{background:#020617;border:1px solid #334155;border-radius:14px;padding:14px}
.monitor-tile.active{border-color:#22c55e}
.monitor-tile.warn{border-color:#f59e0b}
.inspector iframe{width:100%;height:360px;border:0;border-radius:12px;background:#000}
.inspector-empty{height:220px;display:grid;place-items:center;background:#020617;border:1px dashed #475569;border-radius:12px;color:#cbd5e1}

.distribution-live{border-color:#22c55e}.distribution-error{border-color:#ef4444}

/* v8.5 production polish */
.live-window iframe{width:100%;height:100%;border:0;background:#000}.source-card h3,.phone-card h3{margin-top:0}.phone-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-grid{grid-template-columns:2fr 1fr}.phone-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.phone-status-grid div{background:#020617;border:1px solid #263244;border-radius:12px;padding:12px}.phone-card hr{border:0;border-top:1px solid #263244;margin:16px 0}.program .monitor,.preview .monitor{min-height:260px}.program .monitor iframe,.preview .monitor iframe{background:#000}.row input[readonly]{opacity:.8}@media(max-width:1000px){.compact-grid,.phone-status-grid{grid-template-columns:1fr}.program .monitor,.preview .monitor{min-height:190px}}

/* v8.6 event control + graphics */
textarea{width:100%;min-height:90px;padding:12px;border-radius:10px;border:1px solid #334155;background:#0f172a;color:white;margin-top:8px;box-sizing:border-box}
.event-title{font-size:24px;margin-bottom:8px}.leaderboard-head{display:flex;justify-content:space-between;gap:12px;font-size:18px;margin-bottom:12px}.leaderboard-row{border-left:4px solid #22c55e}.slate{font-size:30px;text-align:center;padding:38px}.sponsor{display:inline-block;border-left-color:#f59e0b}.ticker{border-left-color:#3b82f6}.angler-card{border-left-color:#a855f7}.lower{border-left-color:#22c55e}.check-row{display:block}.check-row .badge{margin-right:8px}.tab h1{margin-top:0}

/* v8.7/v8.8 OBS overlay and scene automation */
.overlay-frame{width:100%;aspect-ratio:16/9;border:1px solid #334155;border-radius:14px;background:#020617;overflow:hidden}.setup-list li{margin:10px 0;color:#dbeafe}.setup-list b{color:#bbf7d0}

/* v8.8 OBS scene automation */
#obsauto .check-row { margin-bottom: 10px; }
#obsauto .url { word-break: break-all; }
#obsauto input[type="number"] { max-width: 140px; }

.log-line{padding:10px 12px;border:1px solid #263244;border-radius:10px;margin:8px 0;background:#0b1220;font-size:12px;white-space:normal;overflow-wrap:anywhere}.log-line.success{border-color:#166534}.log-line.error{border-color:#991b1b}.log-line.info{border-color:#1e3a8a}.log-line span{color:#94a3b8}.fail{color:#fecaca}.success{color:#bbf7d0}.warning{color:#fde68a}details.row summary{cursor:pointer}

/* v9.6.0 restored normal in-panel Program/Preview monitors */


/* v9.7.3 mobile producer helpers */
.device-banner{border:1px solid #60a5fa;background:#0b1220;color:#dbeafe;border-radius:14px;padding:12px;margin-bottom:12px;box-shadow:0 10px 20px #0004}
.device-banner b{color:#fff}
.device-banner .smallbtn{width:auto;margin:6px 6px 0 0}
.device-banner.warn{border-color:#f59e0b;background:#1f1605;color:#fde68a}
.device-banner.success{border-color:#22c55e;background:#052e1a;color:#bbf7d0}
.device-banner.hidden{display:none}

/* v9.7.3 mobile producer dashboard */
.mobile-producer-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.mobile-producer-toolbar button,.mobile-quick-grid button{margin-top:0}
.mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-source-list{display:grid;gap:10px}
.mobile-source-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #263244;border-radius:14px;background:#0b1220}
.mobile-source-card.program{border-color:#dc2626;background:#1c0b0b}.mobile-source-card.preview{border-color:#22c55e;background:#071a10}
.mobile-source-actions{display:grid;grid-template-columns:1fr;gap:8px}.mobile-source-actions button{margin-top:0;width:110px}
@media(max-width:720px){
  #app{display:block}.login-card{width:min(94vw,430px)}main{padding:10px}aside{position:sticky;top:0;z-index:30;width:auto;display:flex;gap:8px;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid #263244}aside h2{display:none}aside button{min-width:130px;text-align:center;margin-top:0;padding:10px 12px}.grid,.cards,.mobile-producer-grid{grid-template-columns:1fr;gap:10px}.card{padding:14px;border-radius:14px}.smallbtn{width:100%;margin:6px 0}.mobile-producer-toolbar{grid-template-columns:1fr}.mobile-source-card{grid-template-columns:1fr}.mobile-source-actions{grid-template-columns:1fr 1fr}.mobile-source-actions button{width:100%}.mobile-quick-grid{grid-template-columns:1fr 1fr}.program .monitor,.preview .monitor{min-height:170px}.phone-head{display:block}.readyBig{font-size:32px}h1{font-size:24px}
}

.player-host{width:100%;height:100%}.player-host .monitor{width:100%;height:100%}

/* v9.8.2 source profiles + audio readiness */
.source-profile-card{border-left:4px solid #22c55e}
.profile-line{font-size:13px;color:#dbeafe;background:#08111f;border:1px solid #263244;border-radius:12px;padding:10px;margin-top:8px}
.profile-line b{font-size:15px;color:#fff}.profile-preview{margin:12px 0}.source-profile-card .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:720px){.source-profile-card .compact-grid{grid-template-columns:1fr}}
.big-code{font-size:1.25rem;font-weight:900;letter-spacing:.08em}

/* v9.9.2 desktop dashboard polish — visual layer only */
:root{
  --bg:#080d14;--panel:#111824;--panel2:#0c131f;--line:#223146;--line2:#2f425d;
  --text:#f7fbff;--muted:#9fb0c7;--green:#21d07a;--green2:#0f8f52;--amber:#f59e0b;--red:#ef4444;--blue:#60a5fa;
}
body{background:radial-gradient(circle at top left,#142238 0,#080d14 38%,#05080d 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}
#app{min-height:100vh;background:linear-gradient(90deg,#060a10 0,#0b111c 280px,transparent 280px)}
.desktop-sidebar{width:292px;background:linear-gradient(180deg,#090f18,#0d1522);padding:18px 14px;border-right:1px solid #1c2b3e;box-shadow:12px 0 40px #0005;position:sticky;top:0;height:100vh;overflow-y:auto;box-sizing:border-box}
.brand-block{display:flex;align-items:center;gap:12px;padding:8px 8px 18px;margin-bottom:10px;border-bottom:1px solid #1d2a3b}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#14b8a6);color:#02130c;font-weight:1000;box-shadow:0 10px 28px #22c55e33}.brand-block h2{margin:0;font-size:18px}.brand-block p{margin:2px 0 0;color:var(--muted);font-size:12px}
.nav-group{margin:14px 0}.nav-group span{display:block;padding:0 10px 7px;color:#7f91aa;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.13em}.desktop-sidebar button{position:relative;width:100%;margin:4px 0;padding:10px 12px;border-radius:12px;background:transparent;color:#cbd7e8;text-align:left;border:1px solid transparent;font-weight:800;transition:.16s ease}.desktop-sidebar button:hover{background:#121d2b;border-color:#24364f;color:#fff;transform:translateX(2px)}.desktop-sidebar button.active{background:linear-gradient(90deg,#143622,#111c2b);border-color:#1f8f54;color:#eafff4;box-shadow:inset 3px 0 0 var(--green),0 8px 18px #0003}.logout-btn{margin-top:18px!important;background:#2a1114!important;border-color:#7f1d1d!important;color:#fecaca!important;text-align:center!important}
main{padding:24px 28px 42px;max-width:1680px;margin:0 auto;box-sizing:border-box}.desktop-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#101927,#0c121c);border:1px solid #223146;border-radius:22px;padding:20px 22px;margin-bottom:18px;box-shadow:0 18px 50px #0005}.desktop-topbar h1{margin:2px 0 4px;font-size:30px;letter-spacing:-.03em}.eyebrow{margin:0;color:#7dd3fc;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:1000}.topbar-subtitle{margin:0;color:var(--muted)}.status-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.status-pill{display:inline-flex;flex-direction:column;gap:2px;min-width:118px;padding:10px 12px;border:1px solid #334155;border-radius:14px;background:#0b1220;color:#dbeafe;font-size:12px}.status-pill b{font-size:13px;color:#fff}.status-pill span{color:#8ea0b9}.status-pill.ok{border-color:#176640;background:#071a11}.status-pill.warn{border-color:#765017;background:#201606}
.card{background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(12,18,29,.98));border:1px solid #24344b;border-radius:20px;padding:20px;box-shadow:0 14px 36px #0004}.card h3{margin-top:0;letter-spacing:-.01em}.grid{gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.overview-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;border-color:#1f8f54;background:linear-gradient(135deg,#102117,#101827 55%,#0b1220)}.overview-hero h1{font-size:34px;margin:4px 0 8px;letter-spacing:-.04em}.hero-actions{display:grid;gap:10px;min-width:250px}.hero-actions button,.quick-action-grid button{margin-top:0}.secondary{background:#1f2937!important;color:#dbeafe!important;border:1px solid #334155!important}.metric-card{border:1px solid #29384d;border-radius:18px;padding:16px;background:#0b1220;min-height:104px}.metric-card span{display:block;color:#8496ad;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.metric-card b{display:block;font-size:28px;line-height:1.1;margin:8px 0;color:#fff}.metric-card p{margin:0;color:#aebdd0;font-size:13px;overflow-wrap:anywhere}.metric-card.ok{border-color:#176640;background:linear-gradient(180deg,#071a11,#0b1220)}.metric-card.warn{border-color:#765017;background:linear-gradient(180deg,#201606,#0b1220)}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.section-head span{display:block;color:#7f91aa;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:1000}.section-head h3{margin:2px 0 0}.overview-route-summary h2{margin:0 0 8px;font-size:26px}.overview-route-summary .button-row{margin-top:12px}.empty-state{border:1px dashed #3a4e69;border-radius:16px;background:#080e18;padding:22px;text-align:center;color:#cbd5e1}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-snapshot-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #233146}.source-snapshot-row:last-child{border-bottom:0}.source-snapshot-row span{color:#9fb0c7;font-size:12px}.source-snapshot-row.program{border-left:4px solid #dc2626;padding-left:10px}.source-snapshot-row.preview{border-left:4px solid #22c55e;padding-left:10px}
button{cursor:pointer;transition:.15s ease;box-shadow:none}button:hover{filter:brightness(1.08)}.smallbtn{border-radius:10px}.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.button-row .smallbtn{margin:0}.row{background:#0b1220;border-color:#26384f;border-radius:16px}.badge{font-weight:900;letter-spacing:.03em}.url{color:#93c5fd}.program{border-color:#7f1d1d}.preview{border-color:#176640}.monitor{background:#030712;border-color:#27384e;border-radius:16px}.tab h1{letter-spacing:-.03em}.hint{color:#aebdd0;line-height:1.5}input,select,textarea{background:#09111d;border-color:#2e415b;border-radius:12px}.banner{border:1px solid #334155;background:#0b1220;color:#dbeafe}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-topbar,.overview-hero{display:block}.status-strip{justify-content:flex-start;margin-top:14px}.hero-actions{min-width:0;margin-top:14px}.dashboard-grid-main{grid-template-columns:1fr}}
@media(max-width:720px){#app{background:#080d14}.desktop-sidebar{position:sticky;height:auto;width:auto;display:flex;gap:8px;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid #263244}.brand-block,.nav-group span{display:none}.nav-group{display:flex;gap:8px;margin:0}.desktop-sidebar button{min-width:138px;text-align:center;margin:0}.desktop-topbar{padding:14px;border-radius:16px}.desktop-topbar h1{font-size:24px}.status-strip{display:grid;grid-template-columns:1fr 1fr}.cards,.quick-action-grid{grid-template-columns:1fr}.overview-hero h1{font-size:26px}main{padding:10px}}


/* v9.9.3 logo branding patch */
.login-logo-panel,.sidebar-logo-panel,.topbar-logo-panel{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,244,248,.92));border:1px solid rgba(255,255,255,.72);border-radius:16px;box-shadow:0 14px 32px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center}
.login-logo-panel{padding:14px 18px;margin:0 auto 14px;max-width:min(96%,calc(var(--login-logo-size,340px) + 80px))}.login-logo{width:min(100%,var(--login-logo-size,340px));height:auto;display:block}
.sidebar-logo-panel{width:var(--sidebar-logo-size,72px);height:var(--sidebar-logo-size,72px);padding:6px;border-radius:18px;flex:0 0 auto}.sidebar-logo{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px}
.topbar-brand-wrap{display:flex;align-items:center;gap:18px}.topbar-logo-panel{width:var(--topbar-logo-size,200px);min-width:var(--topbar-logo-size,200px);padding:8px 12px}.topbar-logo{width:100%;height:auto;display:block}
@media(max-width:1180px){.topbar-brand-wrap{display:block}.topbar-logo-panel{width:min(100%,240px);min-width:0;margin-bottom:12px}}
@media(max-width:720px){.login-logo-panel{max-width:280px;padding:10px 12px}.sidebar-logo-panel,.topbar-logo-panel{display:none}}

/* v9.9.4 Customization Studio + Viewer Page */
.viewer-preview-frame{width:100%;height:620px;border:1px solid #26384f;border-radius:18px;background:#02040a}.branding-preview{border:1px solid #26384f;border-radius:18px;background:#07101a;padding:16px}.brand-sample{display:flex;align-items:center;gap:18px;border:2px solid var(--green);border-radius:20px;padding:18px;background:linear-gradient(135deg,#0b1220,#101827)}.brand-sample img{width:min(260px,42vw);background:#fff;border-radius:16px;padding:10px;box-shadow:0 12px 26px #0004}.brand-sample h2{font-size:30px;margin:2px 0}.brand-sample button{width:auto;margin-top:8px}.compact-grid label{display:block}body[data-brand-style="clean-light"]{background:#f8fafc;color:#0f172a}body[data-brand-style="clean-light"] .card,body[data-brand-style="clean-light"] .desktop-topbar{background:#ffffff;color:#0f172a}body[data-brand-style="black-green"]{background:radial-gradient(circle at top left,#11331f,#020403 45%,#000)}
@media(max-width:720px){.viewer-preview-frame{height:430px}.brand-sample{display:block}.brand-sample img{width:100%;margin-bottom:12px}}

/* v9.9.5 advanced customization + logo placement controls */
:root{--login-logo-size:340px;--sidebar-logo-size:72px;--topbar-logo-size:200px;--viewer-logo-size:240px}
.login-logo{width:min(100%,var(--login-logo-size))}.sidebar-logo-panel{width:var(--sidebar-logo-size);height:var(--sidebar-logo-size)}.topbar-logo-panel{width:var(--topbar-logo-size);min-width:var(--topbar-logo-size)}
.advanced-brand-preview{display:grid;gap:16px}.brand-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brand-preview-login,.brand-preview-dashboard,.brand-preview-viewer,.brand-preview-overlay{border:1px solid #26384f;border-radius:18px;background:#08111f;padding:16px}.brand-preview-login span,.brand-preview-dashboard span,.brand-preview-overlay span{display:block;color:#7f91aa;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:1000;margin-bottom:10px}.brand-preview-login img,.brand-preview-dashboard img,.brand-preview-viewer img,.brand-preview-overlay img{background:#fff;border-radius:14px;padding:8px;box-shadow:0 12px 24px #0004}.brand-preview-dashboard h2,.brand-preview-viewer h2{margin:10px 0 4px}.brand-preview-viewer{display:flex;align-items:center;gap:18px;border-width:2px}.brand-preview-viewer img.plain{background:transparent;padding:0;box-shadow:none}.brand-preview-viewer img.badge{border-radius:999px;aspect-ratio:1/1;object-fit:contain}.overlay-mini{height:180px;position:relative;background:#02040a;border:1px solid #26384f;border-radius:16px;overflow:hidden}.overlay-mini img{position:absolute;right:16px;top:16px}.overlay-mini img.muted{opacity:.25;filter:grayscale(1)}.overlay-mini em{position:absolute;left:16px;bottom:16px;color:#9fb0c7}.branding-preview-card{border-color:var(--green)}
@media(max-width:900px){.brand-preview-row{grid-template-columns:1fr}.brand-preview-viewer{display:block}.topbar-logo-panel{min-width:0}}

/* v9.9.6 logo apply hotfix */
body[data-brand-style="black-green"]{background:radial-gradient(circle at top left,#0b2a18 0,#050906 45%,#020402 100%)}
body[data-brand-style="clean-light"]{background:#f8fafc;color:#0f172a}
