:root{--bg:#09090b;--panel:rgba(255,255,255,.08);--line:rgba(255,255,255,.14);--text:#fff;--muted:#b8b8c0;--gold:#fbbf24;--red:#dc2626;--green:#34d399;--blue:#60a5fa;--purple:#c084fc}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(251,191,36,.20),transparent 35%),linear-gradient(135deg,#18181b,#09090b 55%,#000);min-height:100vh}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:18px}.card,.hero{border:1px solid var(--line);background:var(--panel);border-radius:28px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}.hero{padding:28px;margin-bottom:20px}.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.25em;font-size:13px;font-weight:900}h1{font-size:clamp(42px,7vw,76px);margin:8px 0;letter-spacing:-2px}.muted{color:var(--muted)}.btn{border:0;border-radius:16px;padding:10px 12px;cursor:pointer;font-weight:900;background:white;color:#111;min-height:44px;font-size:15px}.btn.ghost{background:rgba(255,255,255,.08);color:white;border:1px solid var(--line)}.btn.gold{background:var(--gold);color:#111}.btn.red{background:var(--red);color:white}.btn.blue{background:var(--blue);color:#07111d}.btn.purple{background:var(--purple);color:#13091e}.btn:disabled{opacity:.45;cursor:not-allowed}input,textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.28);color:white;padding:13px;outline:none;font:inherit}label{display:block;font-weight:900;color:#ddd;font-size:13px;margin:10px 0 5px}.status{display:inline-block;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;text-transform:uppercase}.status.open{background:var(--green);color:#111}.status.closed{background:#3f3f46;color:white}.status.rotate{background:var(--blue);color:#07111d}.grid{display:grid;gap:16px}.two{grid-template-columns:1fr 1fr}@media(max-width:900px){.two{grid-template-columns:1fr}}.adminBody{padding:10px;max-width:520px;margin:0 auto}.adminTop{position:sticky;top:0;z-index:5;background:rgba(9,9,11,.96);border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.42)}.adminStatusGrid{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;margin-bottom:7px}.remoteGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.remoteGrid .btn{min-height:42px;font-size:13px;padding:8px 6px;border-radius:14px}.section{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.22)}.songRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.06);border-radius:16px;padding:10px;margin:8px 0}.small{font-size:13px}.barRow{margin:14px 0;text-align:left}.barLabel{display:flex;justify-content:space-between;font-weight:900;margin-bottom:6px}.barTrack{height:18px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.barFill{height:100%;background:var(--gold);border-radius:99px}

.appLogo{display:block;max-width:420px;width:100%;height:auto;margin:0 auto 16px;object-fit:contain}
.adminLogo{display:block;max-width:210px;width:100%;height:auto;margin:0 auto 8px;object-fit:contain}
.voteLogo{display:block;max-width:320px;width:100%;height:auto;margin:0 auto 18px;object-fit:contain}

.imageManager{display:grid;gap:8px;margin-top:10px}
.imageItem{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:14px;padding:8px}
.imageItem img{width:64px;height:44px;object-fit:contain;background:#111;border-radius:8px}
.imageItem .imgName{font-size:12px;color:var(--muted);word-break:break-all}
.imageItem .deleteBtn{min-height:34px;font-size:12px;padding:6px 8px;border-radius:10px}
.adminBrandBlock{padding:4px 0 6px;text-align:center}
.adminBrandName{font-size:18px;font-weight:950;line-height:1.1}
.adminVenueName{font-size:12px;color:var(--muted);margin-top:2px}

.productBrandRow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;padding:2px 0 6px}.productBrandRow img.sslMini{width:52px;height:auto;display:block;flex:0 0 auto}.productBrandRow img.mainProductLogo{width:min(250px,72vw);height:auto;display:block}.customerLogo{display:block;max-width:190px;width:100%;height:auto;margin:4px auto 8px;object-fit:contain}.poweredBy{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.poweredBy .poweredText{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:8px}.poweredBy img{display:block;margin:0 auto;width:min(210px,74vw);height:auto}.poweredBy.small img{width:min(170px,60vw)}.voteLogo{display:block;max-width:260px;width:100%;height:auto;margin:0 auto 8px;object-fit:contain}.theatrePoweredBy{position:absolute;right:2vw;bottom:1.35vw;z-index:10;display:flex;align-items:center;gap:.55vw;opacity:.40;filter:drop-shadow(0 .25vw .75vw rgba(0,0,0,.65));pointer-events:none}.theatrePoweredBy .poweredLabel{font-size:clamp(9px,.72vw,14px);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:900;white-space:nowrap}.theatrePoweredBy img{width:min(11vw,185px);height:auto;display:block}

.adminFooterBrand{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);text-align:center}
.adminFooterBrand img{display:block;margin:0 auto 8px;width:min(240px,72vw);height:auto}
.adminFooterBrand .copyright{font-size:12px;color:var(--muted);letter-spacing:.04em}


/* v17 compact phone-first admin remote */
.adminBody{padding:8px;max-width:520px;margin:0 auto}
.adminTop{position:sticky;top:0;z-index:5;background:rgba(9,9,11,.97);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.42)}
.customerLogo{display:block;max-width:150px;width:100%;height:auto;margin:2px auto 5px;object-fit:contain}
.adminBrandBlock{padding:1px 0 5px;text-align:center}
.adminBrandName{font-size:20px;font-weight:950;line-height:1.05}
.adminVenueName{font-size:12px;color:var(--muted);margin-top:1px}
.adminStatusGrid{display:block;margin-bottom:6px}
.adminModeLine{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.adminStatusPills{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:7px}
.adminStatusPills .status{text-align:center;width:100%;padding:7px 8px;font-size:11px}
.remoteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.remoteGrid .btn{min-height:35px;font-size:11.5px;padding:6px 4px;border-radius:11px;line-height:1.05}
.section{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05)}
.section .remoteGrid{grid-template-columns:repeat(4,1fr)}
.section .remoteGrid .btn{min-height:33px;font-size:11px}
.adminFooterBrand{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10);text-align:center}
.adminFooterBrand img{display:block;margin:0 auto 6px;width:min(190px,62vw);height:auto}
.adminFooterBrand .copyright{font-size:11px;color:var(--muted);letter-spacing:.03em}
@media(max-width:380px){
  .remoteGrid{grid-template-columns:repeat(2,1fr)}
  .section .remoteGrid{grid-template-columns:repeat(3,1fr)}
  .adminBrandName{font-size:18px}
}


.btn.activeScreen{outline:2px solid rgba(251,191,36,.95);box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 22px rgba(251,191,36,.25)}
.btn.activePromo{background:#22c55e!important;color:#07110a!important;border-color:#22c55e!important;outline:2px solid rgba(34,197,94,.95);box-shadow:0 0 0 3px rgba(34,197,94,.18),0 0 22px rgba(34,197,94,.28)}
.rotationActionGrid{grid-template-columns:1fr 1fr!important;margin-bottom:6px}
.rotationActionGrid .btn{min-height:36px!important;font-size:12px!important}

.btn.saveFlash{background:#22c55e!important;color:#07110a!important;box-shadow:0 0 0 3px rgba(34,197,94,.22),0 0 22px rgba(34,197,94,.28)!important}

/* v23 clean rotation choice button states */
.rotationModeChoiceGrid{grid-template-columns:repeat(3,1fr)!important;margin-bottom:6px}
.rotationModeChoiceGrid .btn{min-height:36px!important;font-size:11.5px!important}
.rotationChoiceBtn{outline:none!important;box-shadow:none!important}
.rotationChoiceBtn.rotationSelected{outline:2px solid rgba(251,191,36,.95)!important;box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 22px rgba(251,191,36,.25)!important}
.rotationChoiceBtn.rotationPromoSelected{background:#22c55e!important;color:#07110a!important;border-color:#22c55e!important;outline:2px solid rgba(34,197,94,.95)!important;box-shadow:0 0 0 3px rgba(34,197,94,.18),0 0 22px rgba(34,197,94,.28)!important}

.votingToggleRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.radioPill{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.06);padding:10px 8px;font-weight:900;font-size:13px;color:white}
.radioPill input{width:auto;margin:0;accent-color:#22c55e}
#openVoteBtn:disabled{opacity:.45;cursor:not-allowed;background:#3f3f46!important;color:#d4d4d8!important}


.durationPresetGrid{grid-template-columns:repeat(3,1fr)!important}
.durationSliderBox{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.05)}
.durationSliderBox label{margin-top:0}
.durationSliderBox input[type="range"]{padding:0;height:34px;accent-color:var(--gold)}
.disabledBlock{opacity:.45}
.disabledBlock button,.disabledBlock input{cursor:not-allowed!important}
@media(max-width:380px){.durationPresetGrid{grid-template-columns:repeat(2,1fr)!important}}


/* v27 stabilization polish */
.liveStateBox{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:7px 0 8px}
.liveStateBox div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:7px 8px}
.liveStateBox span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.liveStateBox strong{display:block;color:white;font-size:13px;line-height:1.1;margin-top:2px}
.saveStatusText{min-height:16px;margin:7px 0 0;text-align:center}
@media(max-width:380px){.liveStateBox strong{font-size:12px}.liveStateBox span{font-size:9px}}


/* v28 phone-space compression and sliders */
.liveStateBox{grid-template-columns:repeat(4,1fr)!important;gap:4px!important;margin:4px 0 6px!important}
.liveStateBox div{padding:5px 4px!important;border-radius:10px!important;text-align:center}
.liveStateBox span{font-size:8px!important;letter-spacing:.08em!important}
.liveStateBox strong{font-size:10.5px!important;line-height:1!important;margin-top:1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.durationSliderBox,.rotationSliderBox{margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.05)}
.durationSliderBox label,.rotationSliderBox label{margin-top:0;font-size:12px}
.durationSliderBox input[type="range"],.rotationSliderBox input[type="range"]{padding:0;height:30px;accent-color:var(--gold)}
@media(max-width:380px){
  .liveStateBox strong{font-size:9.5px!important}
  .liveStateBox span{font-size:7.5px!important}
}


/* v29 rotation power and clear tally polish */
.rotationPowerBtn.activePower{
  outline:2px solid rgba(251,191,36,.95)!important;
  box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 22px rgba(251,191,36,.25)!important;
}
#clearVotesBtn{
  min-height:38px;
}


/* v31 promo timing separation */
.promoPhotoSliderBox{margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.05)}
.promoPhotoSliderBox label{margin-top:0;font-size:12px}
.promoPhotoSliderBox input[type="range"]{padding:0;height:30px;accent-color:var(--gold)}
.promoPhotoSliderBox p{margin:4px 0 0}

/* v33 promo manager + giveaway */
.promoSetManager{margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}
.smallTitle{display:block;margin-bottom:7px}
.promoSetRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:6px 0}
.promoSetRow select,.miniSelect{border:1px solid var(--line);border-radius:10px;background:#111;color:white;padding:7px;font-size:12px}
.inlineAddSet{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}
.imageItem{grid-template-columns:64px 1fr auto!important}
.imageActions{display:grid;gap:5px}
.imageActions .btn{min-height:30px!important;font-size:11px!important;padding:5px 7px!important}


/* v34 status highlights and dropdown readability */
.liveStateBox div.stateVotingOpen,
.liveStateBox div.stateTimerRunning{
  border-color:#22c55e!important;
  box-shadow:0 0 0 2px rgba(34,197,94,.25),0 0 18px rgba(34,197,94,.20)!important;
}
.liveStateBox div.stateRotationOn{
  border-color:#60a5fa!important;
  box-shadow:0 0 0 2px rgba(96,165,250,.25),0 0 18px rgba(96,165,250,.18)!important;
}
.liveStateBox div.statePromo{
  border-color:var(--gold)!important;
  box-shadow:0 0 0 2px rgba(251,191,36,.25),0 0 18px rgba(251,191,36,.18)!important;
}
.liveStateBox div.stateGiveaway{
  border-color:#c084fc!important;
  box-shadow:0 0 0 2px rgba(192,132,252,.25),0 0 18px rgba(192,132,252,.18)!important;
}
.adminSelect,
.promoSetRow select,
.miniSelect{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(0,0,0,.35)!important;
  border-radius:10px!important;
  padding:7px!important;
  font-size:12px!important;
  min-height:34px!important;
}
.adminSelect option,
.promoSetRow select option,
.miniSelect option{
  background:#ffffff!important;
  color:#111111!important;
}
.imageItem select{
  width:100%!important;
  max-width:100%!important;
}


/* v38 dropdown/input interaction fixes */
.adminSelect,
.promoSetRow select,
.miniSelect{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(0,0,0,.35)!important;
  border-radius:10px!important;
  padding:8px!important;
  font-size:13px!important;
  min-height:36px!important;
}
.adminSelect option,
.promoSetRow select option,
.miniSelect option{
  background:#ffffff!important;
  color:#111111!important;
}
#promoSetManager:focus-within,
#imageList:focus-within{
  outline:2px solid rgba(251,191,36,.25);
  border-radius:14px;
}

/* v39 URL QR enable/disable controls */
.urlToggleRow{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:8px}
.miniToggle{display:flex;align-items:center;gap:8px;color:white;font-size:12px;font-weight:900;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:8px}
.miniToggle input{width:auto;margin:0;accent-color:var(--gold)}
.btn.disabledQr,button:disabled.disabledQr{opacity:.35!important;filter:grayscale(1);cursor:not-allowed!important}
.qrUnavailable{width:min(39vw,620px);height:min(39vw,620px);display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.28);border-radius:1.4vw;padding:2vw;color:rgba(255,255,255,.72);font-size:clamp(22px,2.4vw,44px);font-weight:950}


/* v42 marketing/goal shortcuts */
.goalPanel{padding:10px!important}
.goalHeader{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.goalHint{margin:5px 0 8px}
.goalGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.goalGrid .btn{min-height:34px!important;font-size:11px!important;padding:6px 4px!important;border-radius:11px!important;line-height:1.05}
.goalBtn.activeGoal{outline:2px solid rgba(251,191,36,.95)!important;box-shadow:0 0 0 3px rgba(251,191,36,.18),0 0 20px rgba(251,191,36,.20)!important}
.goalStatusText{min-height:14px;margin:7px 0 0;text-align:center}
@media(max-width:380px){.goalGrid{grid-template-columns:repeat(2,1fr)}.goalGrid .btn{font-size:10.5px!important}}


/* v43 giveaway emphasis + promo sequence ordering */
.btn.deepOrange{
  background:#ea580c!important;
  color:#fff!important;
  border-color:#fb923c!important;
}
.btn.deepOrange.activeScreen,
.btn.deepOrange:focus{
  outline:3px solid rgba(251,146,60,.95)!important;
  box-shadow:0 0 0 4px rgba(234,88,12,.28),0 0 28px rgba(234,88,12,.42)!important;
}
.imageActions{
  grid-template-columns:1fr 1fr!important;
}
.imageActions .btn{
  min-height:28px!important;
  font-size:10.5px!important;
  padding:4px 6px!important;
}


/* v44 promo sequence order visibility */
.imageItem .muted.small{
  font-size:10.5px!important;
  margin:2px 0 4px!important;
}


/* v45 promo media video support */
.imageItem video{
  width:64px;
  height:46px;
  object-fit:cover;
  border-radius:10px;
  background:#000;
}
.promoFullFrame video{
  background:#000;
}


/* v46 theatre screen dark integration */
body.theatreMode,
body.screenMode{
  background:#000!important;
}
body.theatreMode .screenCard,
body.theatreMode .stageFrame,
body.theatreMode .screenFrame,
body.theatreMode .theatreShell,
body.theatreMode .panel,
body.theatreMode .slide,
body.screenMode .screenCard,
body.screenMode .stageFrame,
body.screenMode .screenFrame,
body.screenMode .theatreShell,
body.screenMode .panel,
body.screenMode .slide{
  background:#000!important;
}


/* v47 giveaway action button active states */
.giveawayActionBtn.activeGiveawayOpen{
  outline:2px solid rgba(251,191,36,.98)!important;
  box-shadow:0 0 0 3px rgba(251,191,36,.22),0 0 24px rgba(251,191,36,.28)!important;
}
.giveawayActionBtn.activeGiveawayClosed{
  outline:2px solid rgba(148,163,184,.55)!important;
  box-shadow:0 0 0 3px rgba(148,163,184,.12)!important;
}
.giveawayActionBtn.activeGiveawayWinner,
.giveawayActionBtn.activeGiveawayShown{
  outline:2px solid rgba(234,88,12,.98)!important;
  box-shadow:0 0 0 3px rgba(234,88,12,.22),0 0 24px rgba(234,88,12,.26)!important;
}

/* v48 promo media video upload fix */
.imageItem video{width:64px;height:46px;object-fit:cover;border-radius:10px;background:#000}
.promoFullFrame video{background:#000}


/* v49 promo media tray video display */
.imageItem video{
  width:64px;
  height:46px;
  object-fit:cover;
  border-radius:10px;
  background:#000;
}
.promoFullFrame video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}


/* v50 first-class promo video player */
.imageItem video{
  width:64px;
  height:46px;
  object-fit:cover;
  border-radius:10px;
  background:#000;
}
.promoFullFrame video,
.promoVideoPlayer{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}
.promoVideoError{
  position:absolute;
  inset:0;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:4vw;
  background:rgba(0,0,0,.82);
  color:#fff;
  font-weight:900;
  font-size:clamp(20px,2vw,42px);
}


/* v52 video preview usability */
.imageItem{position:relative}
.promoPreviewVideo{
  width:64px!important;
  height:46px!important;
  object-fit:cover!important;
  border-radius:10px!important;
  background:#000!important;
}
.videoBadge{
  position:absolute;
  left:10px;
  top:8px;
  background:rgba(0,0,0,.82);
  color:#f7c325;
  border:1px solid rgba(247,195,37,.45);
  border-radius:999px;
  padding:2px 6px;
  font-size:9px;
  font-weight:950;
  letter-spacing:.08em;
}


/* v56 full black vote/audience screen fallback */
body.voteMode,
body.audienceVoteMode{
  background:#000!important;
}
body.voteMode .voteCard,
body.voteMode .card,
body.voteMode .panel,
body.audienceVoteMode .voteCard,
body.audienceVoteMode .card,
body.audienceVoteMode .panel{
  background:#000!important;
  box-shadow:none!important;
}

/* v58 theatre screen refinements */
.promoVideoPlayButton,
.promoVideoAudioButton,
.videoButtonStack{
  display:none!important;
}

/* v85 logo live slider and old tv toggle */
#logoLiveSizeSlider{accent-color:var(--gold)!important;padding:0;height:30px}
.oldTvToggle input{width:auto;margin-right:8px;accent-color:var(--gold)}


/* v95 admin live status compacting */
.liveStateBox{gap:3px!important;margin:3px 0 4px!important}
.liveStateBox div{padding:4px 3px!important;border-radius:10px!important}
.liveStateBox span{font-size:8.5px!important;line-height:1!important;letter-spacing:.09em!important}
.liveStateBox strong{font-size:11.5px!important;line-height:1!important;margin-top:1px!important}


/* v95 excluded QR manual button visual */
.btn.excludedFromRotation{opacity:.48!important;filter:grayscale(.75)!important;border-style:dashed!important}
.btn.excludedFromRotation::after{content:"  OFF";font-size:10px;letter-spacing:.08em;opacity:.8}


/* v95 green room QR panel */
.greenRoomQrGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.greenRoomQrGrid>div{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:10px;text-align:center}
.greenRoomQrGrid img{width:128px;max-width:100%;background:white;border-radius:14px;padding:8px;margin:8px auto;display:block}
.greenRoomQrGrid .btn{display:block;text-decoration:none;font-size:12px;padding:8px}
@media(max-width:420px){.greenRoomQrGrid{grid-template-columns:1fr}.greenRoomQrGrid img{width:150px}}


/* v96 Open on Theatre PC QR utilities */
.theatrePcQrPanel{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.theatrePcQrPanel > strong{
  display:block;
  margin-bottom:4px;
}


/* v98 Pre-Show, Break & Closing Music Setup */
.encoreBtn{background:#166534!important;border:1px solid rgba(34,197,94,.55)!important;color:#fff!important}
.encoreBtn.activeEncore,.activeMusicMode{outline:3px solid #22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.18),0 0 18px rgba(34,197,94,.42)!important;background:#15803d!important;color:#fff!important}
.musicModeControls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.closingVisualBox{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04)}
.musicListGrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.musicList{margin-top:8px}
.musicItem{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:14px;padding:8px;margin:7px 0}
.musicItem.activeMusicItem{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.14)}
.musicActions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.closingScreen{text-align:center}
@media(min-width:780px){.musicListGrid{grid-template-columns:1fr 1fr 1fr}.musicModeControls{grid-template-columns:repeat(4,1fr)}}


/* v99 music panel formatting cleanup */
.musicSetupPanel{
  max-width:100%;
  overflow:hidden;
}
.musicSetupPanel .adminSelect{
  max-width:100%;
}
.musicModeControls{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:12px 0!important;
}
.musicModeControls .btn{
  min-height:56px;
  padding:10px 8px;
  white-space:normal;
}
.musicNowPlayingStatus{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  color:var(--muted);
  font-weight:800;
}
.musicNowPlayingStatus.activeMusicStatus{
  border-color:#22c55e;
  color:#d1fae5;
  background:rgba(34,197,94,.12);
}
.musicListGrid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  margin-top:14px!important;
}
.musicListGrid > div{
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px;
  background:rgba(255,255,255,.035);
}
.musicItem{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  align-items:start!important;
}
.musicItem strong{
  word-break:break-word;
  overflow-wrap:anywhere;
}
.musicActions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:6px!important;
}
.musicActions .btn{
  min-height:44px;
  padding:8px 6px;
}
@media(min-width:900px){
  .musicListGrid{
    grid-template-columns:1fr 1fr!important;
  }
}


/* v100 music section polish */
.musicOnIndicator{
  position:fixed;
  top:10px;
  left:10px;
  z-index:9999;
  display:none;
  align-items:center;
  gap:7px;
  background:rgba(22,101,52,.95);
  border:1px solid rgba(34,197,94,.7);
  color:#ecfdf5;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 16px rgba(34,197,94,.25);
  pointer-events:none;
}
.musicOnIndicator.visible{display:flex}
.musicPulseDot{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#22c55e;
  color:#052e16;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:950;
  animation:musicPulse 1.2s infinite;
}
@keyframes musicPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}
  50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}
}

.musicSetupPanel,
.musicSetupPanel p,
.musicSetupPanel label,
.musicSetupPanel input,
.musicSetupPanel select,
.musicSetupPanel button,
.musicSetupPanel .muted,
.musicSetupPanel .small{
  font-size:12px!important;
  line-height:1.22!important;
}
.musicSetupPanel > strong{
  font-size:17px!important;
  line-height:1.15!important;
}
.musicSetupPanel label{
  margin-top:9px!important;
  margin-bottom:4px!important;
}
.musicSetupPanel input,
.musicSetupPanel select{
  min-height:38px!important;
  padding:8px 10px!important;
}
.musicSetupPanel .btn{
  font-size:12px!important;
  min-height:42px!important;
  padding:8px 10px!important;
}
.musicModeControls .btn{
  min-height:46px!important;
}
.musicNowPlayingStatus{
  font-size:12px!important;
  padding:8px 10px!important;
}
.musicListGrid{
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.musicListGrid > div > strong{
  display:block;
  font-size:15px!important;
  margin-bottom:7px!important;
}
.musicItem{
  padding:8px!important;
  margin:6px 0!important;
}
.musicItem strong{
  font-size:12px!important;
  line-height:1.15!important;
}
.musicItem p{
  margin:4px 0 0!important;
  font-size:11px!important;
}
.musicActions .btn{
  min-height:38px!important;
  font-size:11px!important;
  padding:7px 5px!important;
}
.closingVisualBox{
  margin-top:12px!important;
  padding:10px!important;
}
.closingVisualBox > strong{
  font-size:14px!important;
}
.closingVisualBox p{
  font-size:11px!important;
}
@media(min-width:900px){
  .musicListGrid{
    grid-template-columns:1fr 1fr!important;
  }
}

/* v101 music UI/audio polish */
.musicOnIndicator{position:fixed!important;top:10px!important;left:10px!important;z-index:9999!important;display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:rgba(55,65,81,.95)!important;border:1px solid rgba(148,163,184,.45)!important;color:#cbd5e1!important;font-size:17px!important;font-weight:950!important;box-shadow:0 8px 24px rgba(0,0,0,.35)!important;pointer-events:none!important}
.musicOnIndicator.musicOn{background:rgba(22,101,52,.96)!important;color:#dcfce7!important;border-color:rgba(34,197,94,.75)!important;box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 18px rgba(34,197,94,.35)!important}
.musicOnIndicator.musicOn::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(34,197,94,.45);animation:musicPulse 1.4s infinite}
.musicSetupPanel{padding:12px!important}
.musicSetupPanel>strong{font-size:15px!important}
.musicSetupPanel p{margin:5px 0 8px!important}
.musicSetupPanel label{font-size:11px!important}
.musicModeControls{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
.musicModeControls .btn{min-height:38px!important;font-size:11px!important;padding:6px!important}
.musicTransportControls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:center;margin:8px 0 0;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}
.musicTransportControls .btn{min-height:34px!important;padding:5px!important;font-size:11px!important}
.musicVolumeControl{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:0!important}
.musicVolumeControl input{min-height:24px!important;padding:0!important;accent-color:#f7c325}
.musicNowPlayingStatus{padding:7px 9px!important;font-size:11px!important;margin:8px 0!important}
.musicNowPlayingStatus.emptyMusicStatus{border-color:rgba(148,163,184,.5)!important;color:#cbd5e1!important;background:rgba(148,163,184,.08)!important}
.musicListGrid>div{padding:8px!important}
.musicItem{padding:7px!important}
.musicActions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.musicActions .btn{min-height:32px!important;font-size:10.5px!important}
.closingVisualBox{padding:8px!important}
.closingVisualBox input,.closingVisualBox select{min-height:32px!important;font-size:11px!important}
@media(max-width:520px){.musicModeControls{grid-template-columns:1fr 1fr!important}}

/* v102 pin Closing / Encore Visual under the complete music selection area */
.musicSetupPanel > .closingVisualBox{
  margin-top:12px!important;
  grid-column:1 / -1!important;
  width:100%!important;
}
.musicSetupPanel .closingVisualBox{
  border-color:rgba(247,195,37,.22)!important;
}


/* v103 giveaway open status in admin remote */
.giveawayStatusPill{
  background:rgba(107,114,128,.45)!important;
  border:1px solid rgba(156,163,175,.45)!important;
}
.giveawayStatusPill.activeGiveawayStatus{
  background:#10b981!important;
  border-color:rgba(52,211,153,.85)!important;
  color:#04130c!important;
}
.giveawayStatusPill.activeGiveawayStatus span,
.giveawayStatusPill.activeGiveawayStatus strong{
  color:#04130c!important;
}

/* v104 emergency stop button layout */
.emergencyStopNote{
  margin-top:8px!important;
  line-height:1.2!important;
}
.rotationActionGrid{
  align-items:stretch!important;
}

/* v105 emergency stop note layout */
.emergencyStopNote{margin-top:8px!important;line-height:1.2!important}
.rotationActionGrid{align-items:stretch!important}

/* v106 stop button feedback */
.buttonWorking{outline:4px solid #22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.18),0 0 20px rgba(34,197,94,.45)!important}

/* v107 phone-first admin reorganization */
.liveConsoleLabel{
  color:#f7c325;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-size:11px;
  margin:10px 0 6px;
}
.showConsoleBtn{
  border-width:2px!important;
}
#topStopRotationBtn{
  background:#7f1d1d!important;
  color:#fff!important;
  border-color:rgba(248,113,113,.7)!important;
}
.setupNavigator{
  margin:12px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.setupNavigator strong{
  color:#fff;
  font-size:15px;
}
.setupNavigator p{
  margin:4px 0 0;
}
.setupNavActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.showReadyStrip{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin:10px 0 12px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(34,197,94,.08);
  border:1px solid rgba(34,197,94,.18);
  color:#d1fae5;
  font-size:11px;
  font-weight:800;
}
.showReadyStrip div{
  display:flex;
  gap:7px;
  align-items:center;
}
.readyDot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 10px rgba(34,197,94,.5);
  flex:0 0 auto;
}
.collapsibleSection{
  padding:0!important;
  overflow:hidden;
}
.sectionToggle{
  width:100%;
  background:rgba(255,255,255,.055);
  color:#fff;
  border:0;
  border-bottom:1px solid var(--line);
  min-height:54px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  text-align:left;
  cursor:pointer;
}
.sectionToggleTitle{
  font-weight:950;
  font-size:15px;
}
.sectionToggleHint{
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
}
.sectionChevron{
  color:#f7c325;
  font-size:18px;
  transform:rotate(-90deg);
  transition:transform .15s ease;
}
.collapsibleSection.open .sectionChevron{
  transform:rotate(0deg);
}
.collapsibleSection .sectionBody{
  padding:12px;
}
.collapsibleSection.collapsed .sectionBody{
  display:none!important;
}
.collapsibleSection.open{
  border-color:rgba(247,195,37,.22);
}
.adminTop{
  position:relative;
}
@media(max-width:520px){
  .remoteGrid{
    gap:7px!important;
  }
  .remoteGrid .btn{
    min-height:46px;
    font-size:12px;
    padding:8px 7px;
  }
  .adminTop{
    padding-bottom:12px;
  }
}
@media(min-width:700px){
  .setupNavigator{
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .setupNavActions{
    min-width:260px;
  }
  .showReadyStrip{
    grid-template-columns:repeat(3,1fr);
  }
}

/* v108 reliable collapsible setup panels */
.sectionToggle{
  user-select:none!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(247,195,37,.18)!important;
}
.sectionToggle:active{
  background:rgba(247,195,37,.12)!important;
}
.collapsibleSection.collapsed > .sectionBody{
  display:none!important;
}
.collapsibleSection.open > .sectionBody{
  display:block!important;
}

/* v109 premium dark control-board color system */
.adminTop .remoteGrid .btn{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035))!important;
  color:#f8fafc!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 4px 0 0 rgba(148,163,184,.35)!important;
}
.adminTop .remoteGrid .btn:hover{
  filter:brightness(1.12);
}
.adminTop .remoteGrid .screenBtn.manualActive,
.adminTop .remoteGrid .btn.manualActive{
  border-color:#f7c325!important;
  outline:2px solid rgba(247,195,37,.75)!important;
  box-shadow:inset 4px 0 0 #f7c325,0 0 0 3px rgba(247,195,37,.18),0 0 18px rgba(247,195,37,.38)!important;
}
.adminTop .remoteGrid .blue{box-shadow:inset 4px 0 0 #60a5fa!important}
.adminTop .remoteGrid .purple,.adminTop .remoteGrid .logoLiveBtn{box-shadow:inset 4px 0 0 #a855f7!important}
.adminTop .remoteGrid .deepOrange{box-shadow:inset 4px 0 0 #f97316!important}
.adminTop .remoteGrid .gold{box-shadow:inset 4px 0 0 #f7c325!important}
.adminTop .remoteGrid .red{box-shadow:inset 4px 0 0 #ef4444!important}
.adminTop .remoteGrid #openVoteBtn{
  background:#f8fafc!important;
  color:#111827!important;
  border-color:rgba(255,255,255,.95)!important;
  box-shadow:inset 4px 0 0 #22c55e!important;
}
.adminTop .remoteGrid .encoreBtn,
.adminTop .remoteGrid .showStateBtn{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.adminTop .remoteGrid .doorsOpenBtn{box-shadow:inset 4px 0 0 #22c55e!important}
.adminTop .remoteGrid .breakModeBtn{box-shadow:inset 4px 0 0 #60a5fa!important}
.adminTop .remoteGrid .encoreBtn{box-shadow:inset 4px 0 0 #a855f7!important}
.adminTop .remoteGrid #topStopRotationBtn,
.adminTop .remoteGrid #stopRotationBtn{
  background:linear-gradient(180deg,rgba(127,29,29,.95),rgba(69,10,10,.95))!important;
  border-color:rgba(248,113,113,.75)!important;
  color:#fff!important;
  box-shadow:inset 4px 0 0 #ef4444!important;
}
.adminTop .remoteGrid #topStartRotationBtn,
.adminTop .remoteGrid #startRotationBtn{
  box-shadow:inset 4px 0 0 #f7c325!important;
}
.adminTop .remoteGrid .disabledQr{
  opacity:.42!important;
  filter:grayscale(.8)!important;
}
.adminTop .remoteGrid .excludedFromRotation{
  opacity:.56!important;
  filter:grayscale(.65)!important;
  border-style:dashed!important;
}
.status.open,
.activeMusicMode,
.encoreBtn.activeEncore{
  background:#16a34a!important;
  color:#04130c!important;
}
.showStateBtn.buttonWorking,
.buttonWorking{
  outline:3px solid #22c55e!important;
  box-shadow:inset 4px 0 0 #22c55e,0 0 0 4px rgba(34,197,94,.18),0 0 22px rgba(34,197,94,.42)!important;
}


/* v110 Option 2 Control Board deployment */
.adminTop{
  background:
    radial-gradient(circle at 50% 0%,rgba(247,195,37,.08),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.adminBrandName{
  letter-spacing:.02em!important;
}
.adminStatusPills{
  gap:8px!important;
}
.status{
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.status.open{
  background:rgba(34,197,94,.16)!important;
  border-color:rgba(34,197,94,.48)!important;
  color:#86efac!important;
}
.status.closed{
  background:rgba(239,68,68,.08)!important;
  border-color:rgba(239,68,68,.25)!important;
  color:#fca5a5!important;
}
.liveStateBox{
  background:rgba(0,0,0,.18)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:14px!important;
  padding:6px!important;
  gap:6px!important;
}
.liveStateBox > div{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.1)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.liveStateBox span{
  color:#cbd5e1!important;
}
.liveStateBox strong{
  color:#fff!important;
}
.liveConsoleLabel{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding-top:12px!important;
  margin-top:12px!important;
  color:#fff!important;
  letter-spacing:.08em!important;
}
.liveConsoleLabel::after{content:"";display:none;}

/* Show State Cards */
.showStateGroupLabel{
  grid-column:1 / -1;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:4px 0 -2px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.showStateGroupLabel span{
  color:#94a3b8;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:none;
}
.adminTop .remoteGrid .showStateBtn{
  min-height:86px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:2px!important;
  align-items:center!important;
  justify-items:start!important;
  text-align:left!important;
  padding:12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  box-shadow:inset 0 -3px 0 rgba(255,255,255,.07)!important;
}
.showStateIcon{
  grid-row:1 / 3;
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
}
.showStateMain{
  font-size:16px;
  line-height:1;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.showStateSub{
  font-size:11px;
  color:#cbd5e1;
  font-weight:700;
}
.doorsOpenBtn .showStateIcon{
  background:rgba(34,197,94,.12);
  color:#86efac;
  border:1px solid rgba(34,197,94,.35);
}
.breakModeBtn .showStateIcon{
  background:rgba(96,165,250,.13);
  color:#93c5fd;
  border:1px solid rgba(96,165,250,.35);
}
.encoreBtn .showStateIcon{
  background:rgba(168,85,247,.14);
  color:#c084fc;
  border:1px solid rgba(168,85,247,.38);
}
.adminTop .remoteGrid .doorsOpenBtn{
  border-color:rgba(34,197,94,.28)!important;
}
.adminTop .remoteGrid .breakModeBtn{
  border-color:rgba(96,165,250,.28)!important;
}
.adminTop .remoteGrid .encoreBtn{
  border-color:rgba(168,85,247,.32)!important;
}

/* Live control grid buttons: tactical, dark, categorized by accent only */
.adminTop .remoteGrid .btn:not(.showStateBtn){
  background:linear-gradient(180deg,rgba(255,255,255,.064),rgba(255,255,255,.026))!important;
  color:#f8fafc!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:10px!important;
  box-shadow:inset 3px 0 0 rgba(148,163,184,.38), inset 0 1px 0 rgba(255,255,255,.04)!important;
  transition:filter .12s ease, border-color .12s ease, box-shadow .12s ease!important;
}
.adminTop .remoteGrid .btn:not(.showStateBtn):active{
  transform:translateY(1px);
}
.adminTop .remoteGrid .btn:not(.showStateBtn).manualActive,
.adminTop .remoteGrid .screenBtn.manualActive{
  border-color:#f7c325!important;
  outline:none!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #f7c325,0 0 0 2px rgba(247,195,37,.42),0 0 18px rgba(247,195,37,.24)!important;
}
.adminTop .remoteGrid .blue{box-shadow:inset 3px 0 0 #3b82f6!important}
.adminTop .remoteGrid .purple,.adminTop .remoteGrid .logoLiveBtn{box-shadow:inset 3px 0 0 #8b5cf6!important}
.adminTop .remoteGrid .deepOrange{box-shadow:inset 3px 0 0 #f97316!important}
.adminTop .remoteGrid .gold{box-shadow:inset 3px 0 0 #f7c325!important}
.adminTop .remoteGrid .red{box-shadow:inset 3px 0 0 #ef4444!important}
.adminTop .remoteGrid #openVoteBtn{
  background:linear-gradient(180deg,#f8fafc,#dbeafe)!important;
  color:#0f172a!important;
  border-color:rgba(255,255,255,.95)!important;
  box-shadow:inset 3px 0 0 #22c55e!important;
}
.adminTop .remoteGrid #topStartRotationBtn{
  box-shadow:inset 3px 0 0 #f7c325!important;
}
.adminTop .remoteGrid #topStopRotationBtn,
.adminTop .remoteGrid #stopRotationBtn{
  background:linear-gradient(180deg,rgba(127,29,29,.92),rgba(69,10,10,.92))!important;
  border-color:rgba(248,113,113,.55)!important;
  box-shadow:inset 3px 0 0 #ef4444!important;
}
.setupNavigator,
.showReadyStrip,
.section{
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}
@media(max-width:520px){
  .adminTop .remoteGrid .showStateBtn{
    min-height:78px!important;
    padding:10px!important;
  }
  .showStateIcon{
    width:30px;
    height:30px;
    font-size:18px;
  }
  .showStateMain{
    font-size:14px;
  }
  .showStateSub{
    font-size:10px;
  }
}

/* v110 active show-state glow */
.showStateBtn.activeShowState{
  border-color:#f7c325!important;
  box-shadow:0 0 0 2px rgba(247,195,37,.42),0 0 22px rgba(247,195,37,.22),inset 0 -3px 0 rgba(247,195,37,.28)!important;
}


/* v111 TRUE Option 2 Premium Control Board */
:root{
  --v111-bg:#05070b;
  --v111-panel:#0b0f16;
  --v111-panel2:#101620;
  --v111-line:rgba(255,255,255,.12);
  --v111-soft:rgba(255,255,255,.055);
  --v111-text:#f8fafc;
  --v111-muted:#94a3b8;
  --v111-gold:#f7c325;
  --v111-green:#58c144;
  --v111-red:#ef4444;
  --v111-blue:#3b82f6;
  --v111-purple:#a855f7;
  --v111-orange:#f97316;
}
body{
  background:
    radial-gradient(circle at 50% 0%,rgba(247,195,37,.075),transparent 28%),
    linear-gradient(180deg,#03050a,#080a0f 45%,#030406)!important;
}
.adminTop{
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),
    #070a0f!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:18px!important;
  box-shadow:0 26px 70px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)!important;
  padding:14px!important;
  overflow:hidden!important;
}
.adminTop::before{
  opacity:.32!important;
}
.adminBrand{
  padding-bottom:8px!important;
}
.adminBrandName{
  font-size:18px!important;
  line-height:1.05!important;
  color:#fff!important;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.adminVenue{
  color:#cbd5e1!important;
  font-size:12px!important;
}
.liveStateBox{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(0,0,0,.18)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  margin:10px 0 14px!important;
}
.liveStateBox > div{
  min-height:50px!important;
  padding:7px 8px!important;
  display:grid!important;
  grid-template-columns:22px 1fr!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:6px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.liveStateBox > div:last-child{border-right:0!important}
.v111StatusIcon{
  grid-row:1 / 3;
  color:#cbd5e1;
  font-size:17px;
  opacity:.92;
}
.liveStateBox span:not(.v111StatusIcon){
  color:#cbd5e1!important;
  font-size:10px!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  line-height:1!important;
}
.liveStateBox strong{
  color:#fff!important;
  font-size:11px!important;
  line-height:1.05!important;
  letter-spacing:.02em!important;
}
.v111ControlBoard{
  display:grid;
  gap:13px;
}
.v111Group{
  border-top:1px solid rgba(255,255,255,.075);
  padding-top:12px;
}
.v111GroupHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 0 8px;
}
.v111GroupHeader span{
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v111GroupHeader small{
  color:var(--v111-gold);
  font-size:9px;
  letter-spacing:.10em;
  text-transform:uppercase;
  opacity:.86;
}
.v111ShowStateGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.v111ShowStateCard{
  min-height:100px!important;
  border-radius:12px!important;
  padding:12px 10px!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  grid-template-columns:1fr!important;
  justify-items:start!important;
  text-align:left!important;
  gap:7px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  box-shadow:inset 0 -4px 0 rgba(255,255,255,.06),0 14px 35px rgba(0,0,0,.22)!important;
}
.v111ShowStateCard .showStateIcon{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  margin:0!important;
}
.v111ShowStateCard .showStateMain{
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  line-height:1.05!important;
}
.v111ShowStateCard .showStateSub{
  font-size:10.5px!important;
  color:#cbd5e1!important;
  line-height:1.25!important;
  font-weight:650!important;
}
#doorsOpenBtn{
  border-color:rgba(88,193,68,.38)!important;
  background:linear-gradient(180deg,rgba(88,193,68,.12),rgba(255,255,255,.025))!important;
}
#doorsOpenBtn .showStateIcon{
  background:rgba(88,193,68,.18)!important;
  color:#86efac!important;
  border:1px solid rgba(88,193,68,.38)!important;
}
#breakModeBtn{
  border-color:rgba(59,130,246,.35)!important;
  background:linear-gradient(180deg,rgba(59,130,246,.10),rgba(255,255,255,.025))!important;
}
#breakModeBtn .showStateIcon{
  background:rgba(59,130,246,.16)!important;
  color:#93c5fd!important;
  border:1px solid rgba(59,130,246,.36)!important;
}
#closingEncoreBtn{
  border-color:rgba(168,85,247,.42)!important;
  background:linear-gradient(180deg,rgba(168,85,247,.13),rgba(255,255,255,.025))!important;
}
#closingEncoreBtn .showStateIcon{
  background:rgba(168,85,247,.18)!important;
  color:#c084fc!important;
  border:1px solid rgba(168,85,247,.42)!important;
}
.v111ShowStateCard.activeShowState{
  border-color:var(--v111-gold)!important;
  box-shadow:0 0 0 2px rgba(247,195,37,.42),0 0 22px rgba(247,195,37,.25),inset 0 -4px 0 rgba(247,195,37,.28)!important;
}
.v111LiveGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.v111LiveBtn,
.v111RotationBtn{
  min-height:52px!important;
  border-radius:9px!important;
  padding:9px 8px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#f8fafc!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  box-shadow:inset 3px 0 0 rgba(148,163,184,.45)!important;
}
.v111LiveBtn.manualActive,
.v111LiveBtn.screenBtn.manualActive{
  border-color:var(--v111-gold)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--v111-gold),0 0 0 2px rgba(247,195,37,.42),0 0 18px rgba(247,195,37,.22)!important;
}
.v111LiveBtn.blue{box-shadow:inset 3px 0 0 var(--v111-blue)!important}
.v111LiveBtn.purple,.v111LiveBtn.logoLiveBtn{box-shadow:inset 3px 0 0 var(--v111-purple)!important}
.v111LiveBtn.deepOrange{box-shadow:inset 3px 0 0 var(--v111-orange)!important}
.v111LiveBtn.gold{box-shadow:inset 3px 0 0 var(--v111-gold)!important}
.v111LiveBtn.red{box-shadow:inset 3px 0 0 var(--v111-red)!important}
#openVoteBtn.v111LiveBtn{
  background:linear-gradient(180deg,#f8fafc,#dfe8f5)!important;
  color:#0f172a!important;
  border-color:rgba(255,255,255,.95)!important;
  box-shadow:inset 3px 0 0 var(--v111-green)!important;
}
.v111RotationGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.v111RotationBtn{
  min-height:54px!important;
  font-size:13px!important;
}
#topStartRotationBtn,
#startRotationBtn{
  border-color:rgba(247,195,37,.32)!important;
  box-shadow:inset 3px 0 0 var(--v111-gold)!important;
}
#topStopRotationBtn,
#stopRotationBtn{
  background:linear-gradient(180deg,rgba(127,29,29,.92),rgba(69,10,10,.92))!important;
  border-color:rgba(248,113,113,.55)!important;
  box-shadow:inset 3px 0 0 var(--v111-red)!important;
}
.musicNowPlayingStatus,
.musicTransportControls{
  background:rgba(0,0,0,.20)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.setupNavigator,
.showReadyStrip,
.section{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  border-color:rgba(255,255,255,.12)!important;
}
.showReadyStrip{
  color:#d1fae5!important;
}
@media(max-width:520px){
  .adminTop{padding:10px!important}
  .liveStateBox > div{
    min-height:46px!important;
    padding:6px!important;
    grid-template-columns:18px 1fr!important;
  }
  .v111StatusIcon{font-size:15px}
  .liveStateBox strong{font-size:10px!important}
  .liveStateBox span:not(.v111StatusIcon){font-size:9px!important}
  .v111ShowStateGrid{gap:6px}
  .v111ShowStateCard{
    min-height:92px!important;
    padding:10px 8px!important;
  }
  .v111ShowStateCard .showStateIcon{
    width:29px!important;
    height:29px!important;
    font-size:17px!important;
  }
  .v111ShowStateCard .showStateMain{font-size:12.5px!important}
  .v111ShowStateCard .showStateSub{font-size:9px!important}
  .v111LiveGrid{gap:6px}
  .v111LiveBtn{
    min-height:47px!important;
    font-size:11px!important;
    padding:8px 5px!important;
  }
  .v111RotationBtn{
    min-height:50px!important;
    font-size:12px!important;
  }
}


/* v112 polished consistent icon system */
.v112Icon,
.v112BtnIcon,
.v112ShowSvg,
.v112StatusSvg,
.v112MusicIndicatorSvg{
  width:1.25em;
  height:1.25em;
  fill:none;
  stroke:currentColor;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.v112BtnIcon{
  width:18px;
  height:18px;
  margin-right:7px;
  vertical-align:-3px;
  opacity:.94;
}
.v111LiveBtn,
.v111RotationBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}
.v111LiveBtn .v112BtnIcon,
.v111RotationBtn .v112BtnIcon{
  margin-right:6px;
}
.v112ShowIcon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.v112ShowSvg{
  width:24px!important;
  height:24px!important;
  stroke-width:1.95!important;
}
.v112StatusSvg{
  width:17px!important;
  height:17px!important;
  opacity:.95;
}
.v111StatusIcon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#doorsOpenBtn .v112ShowSvg{color:#86efac}
#breakModeBtn .v112ShowSvg{color:#93c5fd}
#closingEncoreBtn .v112ShowSvg{color:#c084fc}
button[data-mode="welcome"] .v112BtnIcon{color:#e5e7eb}
button[data-mode="vote"] .v112BtnIcon{color:#e5e7eb}
#openVoteBtn .v112BtnIcon{color:#15803d}
button[onclick*="confirmCloseReveal"] .v112BtnIcon{color:#ef4444}
button[data-mode="results"] .v112BtnIcon{color:#cbd5e1}
button[data-mode="reveal"] .v112BtnIcon{color:#f7c325}
button[data-mode="facebook"] .v112BtnIcon{color:#60a5fa}
button[data-mode="instagram"] .v112BtnIcon{color:#c084fc}
button[data-mode="mailing"] .v112BtnIcon{color:#e5e7eb}
button[data-mode="giveaway"] .v112BtnIcon,
button[onclick*="showGiveaway"] .v112BtnIcon{color:#fb923c}
.logoLiveBtn .v112BtnIcon{color:#a855f7}
#topStartRotationBtn .v112BtnIcon,
#startRotationBtn .v112BtnIcon{color:#f7c325}
#topStopRotationBtn .v112BtnIcon,
#stopRotationBtn .v112BtnIcon{color:#f87171}
.musicTransportControls .v112BtnIcon{
  width:15px;
  height:15px;
  margin-right:5px;
}
.musicVolumeControl{
  color:#cbd5e1!important;
}
.musicVolumeControl .v112BtnIcon{
  width:16px;
  height:16px;
  margin-right:2px;
}
#musicOnIndicator{
  font-size:0!important;
}
#musicOnIndicator .v112MusicIndicatorSvg{
  width:17px!important;
  height:17px!important;
  stroke-width:2.2!important;
}
#musicOnIndicator.musicOn .v112MusicIndicatorSvg{
  color:#dcfce7!important;
}
.adminTop .remoteGrid .btn,
.v111LiveBtn,
.v111RotationBtn{
  letter-spacing:.01em!important;
}
@media(max-width:520px){
  .v112BtnIcon{
    width:16px;
    height:16px;
    margin-right:5px;
  }
  .v112ShowSvg{
    width:21px!important;
    height:21px!important;
  }
  .v112StatusSvg{
    width:15px!important;
    height:15px!important;
  }
}


/* v113 rotation status + compact music rows */
.liveStateBox > div.rotationIsOn{
  background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.055))!important;
  border-color:rgba(34,197,94,.38)!important;
}
.liveStateBox > div.rotationIsOn .v112StatusSvg,
.liveStateBox > div.rotationIsOn strong{
  color:#86efac!important;
  stroke:#86efac!important;
}
.liveStateBox > div.rotationIsOff strong{
  color:#fca5a5!important;
}
#topStartRotationBtn.rotationIsOnButton,
#startRotationBtn.rotationIsOnButton{
  background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.055))!important;
  border-color:rgba(34,197,94,.45)!important;
  color:#dcfce7!important;
  box-shadow:inset 3px 0 0 #22c55e,0 0 0 2px rgba(34,197,94,.22),0 0 18px rgba(34,197,94,.18)!important;
}

.v113CompactMusic .musicListGrid{
  gap:10px!important;
}
.v113CompactMusic .musicListGrid > div{
  padding:10px!important;
  border-radius:16px!important;
}
.v113CompactMusic .musicItem{
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 9px!important;
  margin:6px 0!important;
  min-height:54px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.04)!important;
}
.v113CompactMusic .musicItem > div:first-child{
  min-width:0!important;
}
.v113CompactMusic .musicItem strong{
  display:block!important;
  font-size:11.5px!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
.v113CompactMusic .musicItem p{
  margin:3px 0 0!important;
  font-size:10px!important;
  color:#94a3b8!important;
}
.v113CompactMusic .musicActions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.iconOnlyBtn{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.iconOnlyBtn .v112BtnIcon{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.1!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.moveIconBtn{
  background:rgba(255,255,255,.06)!important;
  color:#cbd5e1!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.moveIconBtn:hover{
  color:#fff!important;
  border-color:rgba(247,195,37,.35)!important;
}
.trashIconBtn{
  background:rgba(239,68,68,.13)!important;
  color:#f87171!important;
  border:1px solid rgba(239,68,68,.34)!important;
}
.trashIconBtn:hover{
  background:rgba(239,68,68,.25)!important;
  color:#fff!important;
}
@media(max-width:520px){
  .v113CompactMusic .musicItem{
    padding:7px!important;
  }
  .iconOnlyBtn{
    width:31px!important;
    min-width:31px!important;
    height:31px!important;
    min-height:31px!important;
  }
  .v113CompactMusic .musicItem strong{
    font-size:10.8px!important;
  }
}


/* v114 top rotation pill and neutral setup checklist */
.adminTop .rotationTopOn{
  background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.055))!important;
  border-color:rgba(34,197,94,.48)!important;
  color:#dcfce7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 2px rgba(34,197,94,.14),0 0 18px rgba(34,197,94,.18)!important;
}
.adminTop .rotationTopOn strong,
.adminTop .rotationTopOn span,
.adminTop .rotationTopOn{
  color:#dcfce7!important;
}
.adminTop .rotationTopOff{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.adminTop .votingTopOpen{
  background:linear-gradient(180deg,rgba(34,197,94,.17),rgba(34,197,94,.05))!important;
  border-color:rgba(34,197,94,.44)!important;
  color:#dcfce7!important;
}
.adminTop .votingTopClosed{
  background:linear-gradient(180deg,rgba(127,29,29,.24),rgba(127,29,29,.08))!important;
  border-color:rgba(239,68,68,.28)!important;
  color:#fecaca!important;
}

/* The green checklist was visual only, not a live heartbeat. Make it neutral. */
.showReadyStrip.neutralReadyStrip,
.showReadyStrip{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#cbd5e1!important;
}
.showReadyStrip.neutralReadyStrip .readyDot,
.showReadyStrip .readyDot{
  background:#64748b!important;
  box-shadow:none!important;
}
.showReadyStrip.neutralReadyStrip div,
.showReadyStrip div{
  color:#cbd5e1!important;
}


/* v115 real readiness + music time */
.showReadyStrip.connectedReadyStrip{
  background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(34,197,94,.035))!important;
  border-color:rgba(34,197,94,.22)!important;
}
.showReadyStrip.connectedReadyStrip .readyDot{
  background:#22c55e!important;
  box-shadow:0 0 10px rgba(34,197,94,.5)!important;
}
.showReadyStrip.neutralReadyStrip .readyDot{
  background:#64748b!important;
  box-shadow:none!important;
}
.musicTimeStatus{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:6px 0 8px;
}
.musicTimeStatus span{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.16);
  border-radius:12px;
  padding:7px 9px;
  color:#94a3b8;
  font-size:11px;
  font-weight:800;
}
.musicTimeStatus strong{
  color:#f7c325;
  font-size:12px;
}
#musicVolumeSlider{
  cursor:pointer;
}


/* v116 pro audio playback panel */
.musicPlaybackPanel{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border-radius:20px;
  padding:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 12px 30px rgba(0,0,0,.18);
}
.musicPlaybackTop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.musicLoopToggle{margin:0!important}
.musicPlaybackBadge{padding:8px 12px;border-radius:999px;border:1px solid rgba(247,195,37,.24);background:rgba(247,195,37,.08);color:#f8d666;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.musicNowPlayingStatus{display:flex!important;align-items:center;gap:10px;padding:14px 16px!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(6,10,18,.86),rgba(12,17,27,.86))!important;border:1px solid rgba(255,255,255,.09)!important;font-size:14px!important;line-height:1.35!important;color:#f8fafc!important;margin:0 0 12px!important;min-height:56px}
.musicNowPlayingStatus::before{content:"♫";display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.28);color:#86efac;font-weight:900;flex:0 0 28px}
.musicNowPlayingStatus.emptyMusicStatus::before{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.28);color:#cbd5e1}
.audioMetricCards{grid-template-columns:1fr 1fr!important;gap:12px!important;margin:0 0 12px!important}
.audioMetricCard{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(5,8,15,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.audioMetricLabel{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}
.audioMetricCard strong{font-size:24px!important;line-height:1;color:#f7c325;letter-spacing:.02em}
.audioTransportCompact{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px!important}
.compactTransportBtn{min-height:48px!important;border-radius:16px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;font-weight:800!important}
.compactTransportBtn .v112BtnIcon{width:18px!important;height:18px!important;margin:0!important;stroke:currentColor!important;fill:none!important;stroke-width:2.1!important}
.musicVolumePanel{border:1px solid rgba(255,255,255,.09);background:rgba(5,8,15,.5);border-radius:16px;padding:14px 16px}
.musicVolumeHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.musicVolumeTitle{display:flex;align-items:center;gap:8px;color:#e2e8f0;font-weight:800}
.musicVolumeTitle .v112BtnIcon{width:18px!important;height:18px!important;margin:0!important;stroke:currentColor!important;fill:none!important;stroke-width:2.1!important}
.musicVolumeValue{font-size:18px;font-weight:900;color:#f7c325}
.musicVolumePanel input[type=range]{width:100%;accent-color:#f7c325;height:28px;cursor:pointer}
.musicVolumeHint{margin-top:6px;font-size:11px;color:#94a3b8}
#musicTimeStatus.musicTimeStatus span{all:unset}
@media(max-width:640px){
  .audioMetricCards{grid-template-columns:1fr!important}
  .audioTransportCompact{grid-template-columns:1fr 1fr 1fr!important}
  .compactTransportBtn{min-height:44px!important;font-size:14px!important}
  .audioMetricCard strong{font-size:22px!important}
}


/* v117 compact professional audio time rail */
.audioMetricCards{
  display:none!important;
}
.audioTimeRail{
  display:block!important;
  margin:0 0 12px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(180deg,rgba(5,8,15,.72),rgba(7,11,18,.54))!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.audioTimeReadout{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}
.audioTimeItem{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:7px!important;
}
.audioTimeDivider{
  color:rgba(255,255,255,.25)!important;
  font-weight:900!important;
  font-size:20px!important;
}
.audioTimeRail .audioMetricLabel{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  color:#94a3b8!important;
}
.audioTimeRail strong{
  font-size:22px!important;
  line-height:1!important;
  color:#f7c325!important;
  letter-spacing:.02em!important;
}
.audioProgressTrack{
  margin-top:10px!important;
  height:5px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  overflow:hidden!important;
}
.audioProgressBar{
  width:0%;
  height:100%;
  border-radius:999px!important;
  background:linear-gradient(90deg,#f7c325,#ffe08a)!important;
  box-shadow:0 0 12px rgba(247,195,37,.32)!important;
  transition:width .25s linear!important;
}
.musicPlaybackPanel{
  padding:12px!important;
}
.musicNowPlayingStatus{
  min-height:48px!important;
  padding:12px 14px!important;
  margin-bottom:10px!important;
}
.musicVolumeHint{
  font-size:10.5px!important;
  line-height:1.25!important;
}
@media(max-width:520px){
  .audioTimeReadout{
    gap:8px!important;
  }
  .audioTimeRail strong{
    font-size:19px!important;
  }
  .audioTimeRail .audioMetricLabel{
    font-size:9px!important;
  }
  .audioTimeDivider{
    font-size:17px!important;
  }
}


/* v124 safe local admin mute — no MutationObserver */
.musicPlaybackToggles{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.adminAudioMuteBtn{
  min-height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#cbd5e1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  touch-action:manipulation;
}
.adminAudioMuteBtn .v112BtnIcon{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.1!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.adminAudioMuteBtn.adminAudioSuppressed{
  border-color:rgba(248,113,113,.34);
  background:rgba(239,68,68,.09);
  color:#fca5a5;
}
.adminAudioMuteBtn.adminAudioAllowed{
  border-color:rgba(34,197,94,.36);
  background:rgba(34,197,94,.09);
  color:#86efac;
}
.adminAudioMuteBtn .adminAudioIconOn,
.adminAudioMuteBtn .adminAudioIconOff{
  display:none;
}
.adminAudioMuteBtn.adminAudioAllowed .adminAudioIconOn{
  display:block;
}
.adminAudioMuteBtn.adminAudioSuppressed .adminAudioIconOff{
  display:block;
}
.adminAudioMuteBtn:active{
  transform:translateY(1px);
}


/* v125 focused UI cleanup from stable v124 */
html, body{
  background:#000!important;
}
body{
  background:#000!important;
}
body::before,
body::after{
  background:#000!important;
}

/* Remove the old Option 2 label from view */
.liveConsoleLabel::after{
  content:""!important;
  display:none!important;
}
.liveConsoleLabel{
  justify-content:flex-start!important;
}

/* Top giveaway status */
.topGiveawayStatusPill{
  width:100%;
  margin:8px 0 10px;
  padding:10px 14px;
  border-radius:999px;
  text-align:center;
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#cbd5e1;
  box-sizing:border-box;
}
.topGiveawayStatusPill.giveawayOpen{
  border-color:rgba(34,197,94,.45);
  background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.055));
  color:#dcfce7;
  box-shadow:0 0 0 2px rgba(34,197,94,.12),0 0 16px rgba(34,197,94,.18);
}
.topGiveawayStatusPill.giveawayActive:not(.giveawayOpen){
  border-color:rgba(247,195,37,.35);
  background:rgba(247,195,37,.08);
  color:#fde68a;
}
.topGiveawayStatusPill.giveawayClosed{
  border-color:rgba(148,163,184,.18);
  background:rgba(15,23,42,.38);
  color:#94a3b8;
}

/* Colorful setup icons */
.sectionToggleTitle{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.sectionIcon{
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.sectionIcon-logo{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.32)}
.sectionIcon-show{background:rgba(247,195,37,.13);border-color:rgba(247,195,37,.30)}
.sectionIcon-vote{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.30)}
.sectionIcon-songs{background:rgba(168,85,247,.16);border-color:rgba(168,85,247,.34)}
.sectionIcon-gift{background:rgba(249,115,22,.16);border-color:rgba(249,115,22,.34)}
.sectionIcon-music{background:rgba(14,165,233,.14);border-color:rgba(14,165,233,.34)}
.sectionIcon-promo{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.28)}
.sectionIcon-screen{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.30)}
.sectionIcon-status{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.30);color:#86efac}

/* Mark duplicate voting section visually if it exists until we fully consolidate content */
#setup-voting[data-merged-note="combined-with-song-selection"] .sectionToggleTitle::after{
  content:"combined";
  margin-left:auto;
  color:#94a3b8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* v126: polished icons for every setup category */
.sectionToggleTitle{display:flex!important;align-items:center!important;gap:12px!important;}
.sectionIcon{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  font-size:18px;
  font-weight:900;
  line-height:1;
  color:#f8fafc;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(0,0,0,.22);
}
.sectionIcon-logo{background:linear-gradient(180deg,rgba(56,189,248,.22),rgba(37,99,235,.14));border-color:rgba(96,165,250,.45);color:#dbeafe;}
.sectionIcon-show{background:linear-gradient(180deg,rgba(250,204,21,.20),rgba(202,138,4,.14));border-color:rgba(250,204,21,.38);color:#fef3c7;}
.sectionIcon-vote{background:linear-gradient(180deg,rgba(34,197,94,.20),rgba(21,128,61,.14));border-color:rgba(74,222,128,.36);color:#dcfce7;}
.sectionIcon-songs{background:linear-gradient(180deg,rgba(192,132,252,.22),rgba(126,34,206,.16));border-color:rgba(216,180,254,.36);color:#f3e8ff;}
.sectionIcon-gift{background:linear-gradient(180deg,rgba(249,115,22,.22),rgba(194,65,12,.16));border-color:rgba(251,146,60,.38);color:#ffedd5;}
.sectionIcon-music{background:linear-gradient(180deg,rgba(34,211,238,.22),rgba(8,145,178,.16));border-color:rgba(103,232,249,.36);color:#ecfeff;}
.sectionIcon-promo{background:linear-gradient(180deg,rgba(244,63,94,.20),rgba(159,18,57,.16));border-color:rgba(251,113,133,.36);color:#ffe4e6;}
.sectionIcon-screen{background:linear-gradient(180deg,rgba(148,163,184,.22),rgba(71,85,105,.14));border-color:rgba(203,213,225,.30);color:#f1f5f9;}
.sectionToggleHint{margin-left:auto;}
