/* SoulOne LIVE 3.0 — Premium Stage Pro
   A deliberate layout system, not another dark theme.
   This style sheet replaces experimental v20/v21 visual layers. No audio logic.
   Grid: precise global toolbar / spacious performance canvas / compact mixer.
*/
:root {
  --p3-canvas:#eceff1;
  --p3-white:#ffffff;
  --p3-paper:#f8fafb;
  --p3-muted-bg:#f0f4f6;
  --p3-stroke:#dbe3e8;
  --p3-stroke-strong:#cbd7df;
  --p3-ink:#182e40;
  --p3-muted:#778e9d;
  --p3-blue:#1f7fb9;
  --p3-blue-soft:#e5f2f9;
  --p3-navy:#152c40;
  --p3-navy2:#203d54;
  --p3-sea:#51c0af;
  --p3-shadow:0 4px 22px rgba(27,51,69,.045);
  --p3-radius:12px;
}
html:not(.soulone-ipad-classic),
html:not(.soulone-ipad-classic) body {
  background:var(--p3-canvas);
  color:var(--p3-ink);
}
html:not(.soulone-ipad-classic) body>.app {
  color:var(--p3-ink);
}
body>.app button,
body>.app input,
body>.app select {
  font-family:inherit;
}
body>.app button {
  box-shadow:none;
  filter:none;
}
body>.app button:focus-visible,
body>.app input:focus-visible,
body>.app select:focus-visible {
  outline:2px solid #2b92d1;
  outline-offset:2px;
}
body>.app .panel {
  background:var(--p3-white);
  border:1px solid var(--p3-stroke);
  border-radius:var(--p3-radius);
  box-shadow:var(--p3-shadow);
}
body>.app .top.stage-header {
  background:var(--p3-white);
  border:1px solid var(--p3-stroke);
  border-radius:13px;
  box-shadow:0 2px 10px #152b3f09;
}
body>.app .stage-identity .brand {
  color:#176aa1;
  font-size:19px;
  font-weight:860;
  letter-spacing:-.065em;
}
body>.app .stage-identity .brand .live {
  background:#1977b6;
  color:#fff;
  border-radius:4px;
  font-size:10px;
  letter-spacing:.06em;
  font-weight:840;
}
body>.app .stage-identity .song-head{
  border-left:1px solid #e4ebf0;
  padding-left:14px;
}
body>.app .stage-identity .song-head strong {
  color:#192e41;
  letter-spacing:-.045em;
  font-weight:850;
}
body>.app .stage-identity .song-head small {
  color:#8295a2;
  font-weight:540;
}
body>.app .stage-center .field-label {
  color:#788b9c;
  font-size:9px;
  letter-spacing:.065em;
  font-weight:780;
  text-transform:none;
}
body>.app .stage-center .stage-field strong,
body>.app .stage-center .ctl-group .val {
  font-weight:830;
  color:#1b394e;
  font-variant-numeric:tabular-nums;
}
body>.app .stage-center .stage-field--key {border-color:#e6edf2}
body>.app .stage-center button {
  border:1px solid #d7e2ea;
  border-radius:8px;
  background:#f4f8fa;
  color:#315e7b;
  box-shadow:none;
}
body>.app .stage-center button:hover:not(:disabled) {
  background:#e8f2f8;
  border-color:#bbd5e6;
}
body>.app .stage-actions #status {
  background:#e8f7ef;
  color:#19805f;
  border:1px solid #bee4d2;
  box-shadow:none;
  letter-spacing:.02em;
}
body>.app .stage-actions .stage-icon,
body>.app .stage-actions .stage-more {
  background:#f6f9fb;
  border:1px solid #dce5eb;
  color:#45677e;
  border-radius:9px;
}
body>.app .stage-actions .stage-icon:hover,
body>.app .stage-actions .stage-more:hover {
  background:#ebf4f9;
}
body>.app>.stage-footer-note {color:#77909f}
body>.app>.stage-footer-note>.protected {color:#6f899b}
body>.app .sl-mode-group {
  background:#e5ebef;
  border:1px solid #d8e2e9;
  border-radius:10px;
  box-shadow:none;
}
body>.app .sl-mode-group .sl-mode-btn {
  font-weight:740;
  text-transform:none;
}
body>.app .sl-mode-group .sl-mode-btn[aria-pressed=true]{
  background:white;
  color:#186da4;
  box-shadow:0 1px 4px #142e4313;
}
body>.app .sl-desktop-views>.sl-repertoire-view[aria-pressed=true] {
  background:#e5f1f8!important;
  border-color:#a9d2e8!important;
  color:#176ca5!important;
}

/* The left rail is a setlist, not a mini dashboard. */
body>.app .right.live-library-panel {
  background:white;
  border:1px solid var(--p3-stroke);
  border-radius:12px;
  box-shadow:var(--p3-shadow);
}
body>.app .right.live-library-panel .live-library-header {
  padding:12px 14px 10px!important;
  background:#fff;
  border-bottom:1px solid #edf1f4;
}
body>.app .right.live-library-panel .live-library-header strong {
  font-size:15px!important;
  font-weight:830;
  letter-spacing:-.035em;
  text-transform:none;
  color:#1d384d;
}
body>.app .right.live-library-panel .live-library-header small {
  font-size:10px!important;
  color:#8a9ba7;
  font-weight:550;
  margin-top:3px;
}
body>.app .right.live-library-panel>.cloud-toolbar {
  background:#f9fbfc!important;
  border-bottom:1px solid #edf1f4!important;
  padding:6px 11px!important;
  min-height:31px!important;
}
body>.app .right.live-library-panel>.cloud-toolbar strong {
  color:#6f8799;
  font-size:10px!important;
  font-weight:650;
}
body>.app .right.live-library-panel .tabs {
  padding:0 10px;
  background:white!important;
  border-bottom:1px solid #e8eef3;
  gap:4px;
}
body>.app .right.live-library-panel .tabs button {
  font-size:11px!important;
  min-height:38px;
  padding:8px 6px!important;
  font-weight:660!important;
  color:#8296a5!important;
  text-transform:none;
}
body>.app .right.live-library-panel .tabs button.active {
  color:#176eab!important;
  border-bottom:2px solid #2488c3!important;
  font-weight:830!important;
}
body>.app .right.live-library-panel .tabcontent {
  background:white!important;
  padding:11px 12px 13px!important;
  scrollbar-color:#bfced9 transparent;
}
body>.app .right.live-library-panel .search {
  min-height:39px!important;
  max-height:39px!important;
  margin:0 0 11px!important;
  border:1px solid #dce6ed;
  background:#f7f9fa;
  border-radius:8px!important;
  color:#375b72;
  font-size:12px!important;
  font-weight:500;
  box-shadow:none;
}
body>.app .right.live-library-panel .search:focus {
  background:white;
  border-color:#62aad6;
  box-shadow:0 0 0 3px #2486c214;
}
body>.app .right.live-library-panel .setlist {
  gap:4px;
  padding:0 0 5px;
}
body>.app .right.live-library-panel .songitem,
body>.app .right.live-library-panel .reorder-setlist .songitem {
  background:white!important;
  color:#244259!important;
  border:1px solid transparent!important;
  border-bottom:1px solid #edf1f4!important;
  border-radius:8px!important;
  padding:9px 10px!important;
  min-height:59px;
  gap:6px!important;
  box-shadow:none!important;
  transition:background .12s;
}
body>.app .right.live-library-panel .songitem:hover {
  background:#f5f9fb!important;
  border-color:#e8eef3!important;
}
body>.app .right.live-library-panel .songitem.selected,
body>.app .right.live-library-panel .reorder-setlist .songitem.selected {
  background:#eaf4fa!important;
  border-color:#bedce9!important;
  box-shadow:inset 3px 0 #2387be!important;
}
body>.app .right.live-library-panel .songitem .name b {
  color:#1d394e!important;
  font-weight:810;
  letter-spacing:-.018em;
  font-size:12px!important;
}
body>.app .right.live-library-panel .songitem .name small {
  color:#7990a1!important;
  font-size:10px!important;
}
body>.app .right.live-library-panel .songitem .sl-song-details .song-meta {
  color:#718d9e!important;
  font-size:9px!important;
}
body>.app .right.live-library-panel .songitem .sl-mini-transport {
  gap:3px;
  flex-shrink:0;
}
body>.app .right.live-library-panel .songitem .sl-mini-transport button {
  width:30px!important;min-width:30px!important;flex-basis:30px!important;
  height:33px!important;min-height:33px!important;
  padding:0!important;
  background:#f4f8fb!important;
  color:#47718e!important;
  border:1px solid #dbe7ef!important;
  border-radius:7px!important;
  animation:none!important;
  transform:none!important;
  filter:none!important;
}
body>.app .right.live-library-panel .songitem .sl-mini-transport .sl-mini-play:not(:disabled) {
  color:#1376b3!important;
}
body>.app .right.live-library-panel .songitem .sl-mini-transport button:disabled {opacity:.4}
body>.app .right.live-library-panel .side-actions {padding:10px 0 7px!important}
body>.app .right.live-library-panel .side-actions button {
  min-height:35px!important;
  border-radius:8px!important;
  font-size:10px!important;
}

/* Song header in dedicated Repertoire view uses no duplicate white cards. */
body>.app .right.live-library-panel .sl-now-playing {
  background:#f2f7fa!important;
  color:#254860!important;
  border:0!important;
  border-bottom:1px solid #dfe9ef!important;
  box-shadow:none!important;
  padding:14px 16px!important;
  gap:0!important;
}
body>.app .right.live-library-panel .sl-np-state{
  color:#628da4!important;
  font-size:9px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:none;
}
body>.app .right.live-library-panel .sl-np-title{
  color:#1d3b53!important;
  font-weight:840;
  letter-spacing:-.03em;
}
body>.app .right.live-library-panel .sl-np-time {
  color:#4c6f84!important;
  font-weight:770;
  font-variant-numeric:tabular-nums;
}
body>.app .right.live-library-panel .sl-pro-transport {
  background:#fff!important;
  border:1px solid #d5e4ed!important;
  border-radius:9px!important;
  padding:3px!important;
  gap:4px!important;
}
body>.app .right.live-library-panel .sl-pro-transport button {
  background:#f0f6f9!important;
  border:0!important;
  color:#416d8a!important;
  border-radius:6px!important;
  box-shadow:none!important;
  filter:none!important;
  transition:none!important;
}
body>.app .right.live-library-panel .sl-pro-transport .sl-pro-play {
  background:#207fbb!important;color:white!important;
}
body>.app .right.live-library-panel .sl-pro-transport button:disabled{opacity:.38}
body>.app .right.live-library-panel .sl-np-track {
  margin-top:10px;
  background:#d8e6ef!important;
}
body>.app .right.live-library-panel .sl-np-fill {
  background:linear-gradient(90deg,#2388c8,#60c5b3)!important;
}
body>.app .right.live-library-panel .sl-pro-context {
  color:#8298a7;
}
body>.app .right.live-library-panel .sl-pro-context [data-sl-next]{
  color:#4d738b;
}
body>.app .right.live-library-panel .sl-np-fullscreen {
  background:white!important;
  border:1px solid #d7e3ec!important;
  color:#52748b!important;
}

/* Timeline is a real instrument surface, never a large color slab. */
body>.app .live-workspace .timeline {
  background:#fff!important;
  color:#234259!important;
  border:1px solid var(--p3-stroke)!important;
  border-radius:12px!important;
  box-shadow:var(--p3-shadow)!important;
}
body>.app .live-workspace .timeline .heading {
  padding:0 0 9px;
  border-bottom:1px solid #edf1f4;
}
body>.app .live-workspace .timeline .heading .eyebrow{
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
  text-transform:none!important;
  color:#183b53!important;
}
body>.app .live-workspace .timeline .heading .small-note{
  color:#7892a3!important;
  font-weight:540;
}
body>.app .live-workspace .timeline .section-nav{
  background:#f3f7f9!important;
  border:1px solid #e1e9ef!important;
  padding:3px;
  border-radius:9px;
  gap:4px;
}
body>.app .live-workspace .timeline .section-nav button{
  background:white!important;
  border:1px solid #e0e7ec!important;
  color:#496e86!important;
  box-shadow:none;
  border-radius:6px;
  font-weight:750;
  min-height:31px;
  padding:5px 10px;
}
body>.app .live-workspace .timeline .section-nav button.active{
  background:#deedf7!important;
  color:#176a9c!important;
  border-color:#b9d7e9!important;
}
body>.app .live-workspace .timeline .section-nav .section-label{
  color:#1c4a67!important;
  font-weight:850!important;
  font-size:11px!important;
  letter-spacing:0;
}
body>.app .live-workspace .timeline .segments {
  padding-top:6px;
  box-sizing:content-box;
}
body>.app .live-workspace .timeline .segment {
  font-size:10px;
  font-weight:780;
  text-transform:none;
  text-shadow:none;
  letter-spacing:.01em;
  border-radius:6px 6px 0 0;
}
body>.app .live-workspace .timeline .stems-visual {
  border-color:#d9e4eb!important;
  background:#fafcfd;
  border-radius:0 0 8px 8px;
}
body>.app .live-workspace .timeline .wave-name {
  background:#f4f8fa!important;
  color:#355870!important;
  border-color:#dce6ed!important;
  font-weight:720;
}
body>.app .live-workspace .timeline .wave-row {
  border-bottom-color:#e6edf1!important;
}
body>.app .live-workspace .timeline .time-numbers{
  color:#899dac!important;
  font-variant-numeric:tabular-nums;
}

/* Transport: the single visual anchor in a controlled premium navy. */
body>.app .live-workspace .progress-panel {
  background:linear-gradient(105deg,#142b40,#1c3c53)!important;
  color:#fff;
  border:1px solid #25475d!important;
  box-shadow:0 6px 22px #14304921!important;
  border-radius:12px!important;
}
body>.app .live-workspace .progress-panel .clock {
  color:#f9fcfe!important;
  font-weight:840;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.05em;
}
body>.app .live-workspace .progress-panel .clock small{
  color:#b2cbd9!important;
  font-weight:610;
}
body>.app .live-workspace .progress-panel .transport button {
  background:#ffffff16!important;
  border:1px solid #ffffff26!important;
  border-radius:8px!important;
  color:#e7f5fc!important;
  box-shadow:none!important;
  filter:none!important;
  animation:none!important;
  transform:none!important;
  transition:background .12s ease;
}
body>.app .live-workspace .progress-panel .transport button:hover:not(:disabled) {
  background:#ffffff2e!important;
}
body>.app .live-workspace .progress-panel .transport .start {
  background:#2190cf!important;
  border-color:#43a6dd!important;
  color:#fff!important;
  box-shadow:0 3px 12px #0a223f20!important;
}
body>.app .live-workspace .progress-panel input[type=range]{
  accent-color:#50b7e7;
}

/* Mixer: engineered like evenly spaced physical channel strips. */
body>.app>.meter-title{
  padding:0 6px!important;
  gap:10px;
}
body>.app>.meter-title strong {
  color:#1c3b50;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.028em;
}
body>.app>.meter-title .small-note {color:#8296a4}
body>.app>#mixer.clean-mixer {
  background:#f8fafb!important;
  border:1px solid #d9e3e9!important;
  border-radius:13px!important;
  box-shadow:var(--p3-shadow)!important;
}
body>.app>#mixer .clean-group {
  background:#edf2f5!important;
  border:1px solid #e0e7ec!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
body>.app>#mixer .clean-group h3{
  color:#617f91!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:none!important;
}
body>.app>#mixer .strip,
body>.app>#mixer .strip.master {
  background:white!important;
  border:1px solid #d8e2e8!important;
  border-radius:7px!important;
  box-shadow:0 1px 3px #2349600a!important;
}
body>.app>#mixer .striphead,
body>.app>#mixer .strip.master .striphead {
  background:#f8fafb!important;
  color:#23485f!important;
  border-bottom:1px solid #e3eaf0;
  border-top:2px solid #79a6bc;
}
body>.app>#mixer .clean-group--monitor .striphead {
  border-top-color:#d5a265;
}
body>.app>#mixer .clean-group--master .striphead {
  border-top-color:#43778e;
}
body>.app>#mixer .striphead .track-title,
body>.app>#mixer .strip.master .striphead .track-title {
  color:#25485f!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:-.01em;
}
body>.app>#mixer .striphead .route-chip,
body>.app>#mixer .strip.master .striphead .route-chip {
  background:#e8f1f6!important;
  border:1px solid #d4e4ec!important;
  color:#4e7893!important;
}
body>.app>#mixer .strip .db {
  color:#4d6b80;
  font-weight:780;
  font-variant-numeric:tabular-nums;
}
body>.app>#mixer .strip .dual button{
  background:#f5f8fa!important;
  color:#31546d!important;
  border:1px solid #dce7ee!important;
  border-radius:6px!important;
  font-weight:790;
}
body>.app>#mixer .strip .dual button.muted {
  background:#cf5562!important;
  color:white!important;
  border-color:#cf5562!important;
}
body>.app>#mixer .strip .dual button.soloed{
  background:#c9913e!important;
  color:white!important;
  border-color:#c9913e!important;
}
body>.app>#mixer .strip .role,
body>.app>#mixer .strip .master-status{
  color:#738c9d!important;
  font-weight:650;
}
body>.app>#mixer .meter {background:#dfebf1!important}

/* Desktop layout system: fixed aligned columns, balanced 12/8px spacing. */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  html:not(.soulone-ipad-classic) body>.app,
  html:fullscreen body>.app {
    padding:10px 13px 12px!important;
    gap:8px!important;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage):not(.stage-mixer-collapsed),
  html:fullscreen body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage):not(.stage-mixer-collapsed){
    grid-template-rows:76px 31px minmax(0,1fr) 28px clamp(195px,26dvh,238px)!important;
  }
  body>.app>.top.stage-header{
    padding:12px 17px!important;
    min-height:0!important;
  }
  body>.app>.stage-footer-note {
    padding:0 4px!important;
    min-height:0!important;
    max-height:31px!important;
  }
  body>.app:not(.sl-hide-repertoire):not(.sl-mode-repertoire)>.main-grid {
    grid-template-columns: minmax(302px,23vw) minmax(0,1fr)!important;
    gap:11px!important;
    height:100%!important;
  }
  body>.app:not(.sl-mode-repertoire) .right.live-library-panel {
    min-height:0!important;
    overflow:hidden!important;
  }
  /* The active song, timer and controls are ALREADY in the header and stage.
     Do not waste half the setlist height repeating the song's mini player. */
  body>.app.sl-premium-level-ready:not(.sl-mode-repertoire) .right.live-library-panel .sl-now-playing {
    display:none!important;
  }
  body>.app:not(.sl-mode-repertoire) .right.live-library-panel .tabcontent{
    padding:9px 11px 12px!important;
  }
  body>.app:not(.sl-mode-repertoire) .right.live-library-panel .songitem {
    min-height:57px!important;
    padding:8px 7px!important;
  }
  body>.app:not(.sl-mode-repertoire) .right.live-library-panel .songitem .sl-mini-transport button{
    min-width:28px!important;
    width:28px!important;
    flex-basis:28px!important;
    height:30px!important;
    min-height:30px!important;
  }
  body>.app:not(.sl-mode-repertoire) .right.live-library-panel .tabs button{
    min-height:34px!important;
    padding:7px 4px!important;
  }
  body>.app:not(.sl-mode-repertoire) .main-grid>.live-workspace {
    min-height:0;
    gap:8px;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.timeline {
    padding:13px 16px!important;
    flex:1 1 auto;
    min-height:0;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.progress-panel {
    padding:8px 14px!important;
    margin:0!important;
    flex:0 0 66px!important;
    min-height:66px!important;
    max-height:66px!important;
    gap:16px!important;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.progress-panel .clock {
    font-size:27px!important;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.progress-panel .transport {
    gap:7px!important;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.progress-panel .transport button {
    min-width:43px!important;
    height:43px!important;
  }
  body>.app:not(.sl-mode-repertoire) .live-workspace>.progress-panel .transport .start {
    min-width:63px!important;
    height:47px!important;
    font-size:23px;
  }
  body>.app>.meter-title {
    min-height:28px!important;
    max-height:28px!important;
    margin:0!important;
  }
  body>.app>#mixer.clean-mixer {
    padding:8px!important;
    gap:9px!important;
    grid-template-columns: minmax(170px,190px) minmax(0,1fr) minmax(90px,103px)!important;
  }
  body>.app>#mixer.clean-mixer .clean-group {
    padding:6px!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body>.app>#mixer .clean-group h3 {
    margin:1px 3px 6px!important;
  }
  /* Each available channel grows evenly. 4 stems and 12 stems both look intentional. */
  body>.app>#mixer .clean-group--music .clean-rail {
    display:flex!important;
    justify-content:space-evenly!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  body>.app>#mixer .clean-group--music .strip {
    flex:1 0 72px!important;
    min-width:72px!important;
    max-width:126px!important;
    width:auto!important;
  }
  body>.app>#mixer .clean-group--monitor .strip {
    flex:1 1 0!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body>.app>#mixer .clean-group--master .strip.master {
    flex:1 1 100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body>.app>#mixer .striphead,
  body>.app>#mixer .strip.master .striphead {
    flex:0 0 41px!important;
    height:41px!important;
    min-height:41px!important;
    max-height:41px!important;
    padding:5px!important;
  }
  body>.app>#mixer .strip .faderbox{
    padding:6px 4px 2px!important;
    min-height:52px!important;
    height:auto!important;
    flex:1 1 auto;
  }
  body>.app>#mixer .strip .dual {
    flex:0 0 28px!important;
    height:28px!important;
  }
  body>.app>#mixer .strip .dual button{
    min-height:27px!important;
    height:27px!important;
  }
}
/* Keep 1250px desktops readable without forcing the desktop grid onto phones. */
@media (min-width:1000px) and (max-width:1250px) and (min-height:580px) and (pointer:fine) {
  body>.app:not(.sl-hide-repertoire):not(.sl-mode-repertoire)>.main-grid {
    grid-template-columns:minmax(294px,25vw) minmax(0,1fr)!important;
  }
  body>.app>#mixer.clean-mixer {
    grid-template-columns:170px minmax(0,1fr) 89px!important;
    gap:7px!important;
  }
}
/* Repertoire-only view remains fully featured, not a different audio player. */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  body>.app.sl-mode-repertoire .right.live-library-panel .sl-now-playing {
    padding:17px 21px!important;
    background:linear-gradient(110deg,#f1f7fa,#eaf2f7)!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .sl-np-title {font-size:22px!important}
  body>.app.sl-mode-repertoire .right.live-library-panel .sl-np-time {font-size:15px!important}
  body>.app.sl-mode-repertoire .right.live-library-panel .tabcontent {
    padding:17px clamp(20px,4.5vw,70px) 26px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .tabcontent .search,
  body>.app.sl-mode-repertoire .right.live-library-panel .tabcontent .setlist,
  body>.app.sl-mode-repertoire .right.live-library-panel .tabcontent .side-actions {
    max-width:1100px;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Mobile inherits existing views/orientation. Design tokens only;
   do not change the screen switching or mixer scroll geometry. */
@media (max-width:1100px) and (pointer:coarse) {
  .soul-mobile-console .right.live-library-panel .sl-now-playing {
    background:#f2f7fa!important;
    color:#264a62!important;
    padding:10px 12px!important;
  }
  .soul-mobile-console .right.live-library-panel .sl-np-title {color:#25435a!important}
  .soul-mobile-console .right.live-library-panel .sl-np-time {color:#58758c!important}
  .soul-mobile-console .right.live-library-panel .sl-np-state {color:#5286a0!important}
  .soul-mobile-console .live-workspace .timeline {
    background:white!important;
    border-color:var(--p3-stroke)!important;
  }
  .soul-mobile-console .live-workspace .progress-panel {
    background:linear-gradient(108deg,#142c42,#1b3c53)!important;
    border-color:#24485e!important;
  }
  .soul-mobile-console .live-workspace .progress-panel .clock{color:white!important}
  .soul-mobile-console .live-workspace .progress-panel .clock small{color:#b6d2df!important}
  .soul-mobile-console #mixer.clean-mixer {
    background:#f8fafb!important;
    border-color:#dce5ec!important;
  }
  .soul-mobile-console #mixer.clean-mixer .clean-group {
    background:#edf2f5!important;
    border-color:#dfe7ed!important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body>.app .right.live-library-panel .songitem,
  body>.app .live-workspace .progress-panel .transport button{
    transition:none!important;
  }
}

/* Desktop always exposes the sequence leveler without wasting setlist height. */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  body>.app .stage-actions {gap:8px}
  body>.app .stage-actions .sl-premium-level-wrap {
    display:flex;position:relative;align-items:center;flex-shrink:0;
  }
  body>.app .stage-actions .sl-premium-level-toggle {
    height:35px;min-width:67px;padding:0 11px;
    color:#315e7a;background:#f2f7fa;
    border:1px solid #d9e5eb;border-radius:9px;
    font-size:11px;font-weight:760;letter-spacing:0;
  }
  body>.app .stage-actions .sl-premium-level-toggle:hover,
  body>.app .stage-actions .sl-premium-level-toggle[aria-expanded=true] {
    color:#136da4;background:#e6f2f9;border-color:#b4d5e8;
  }
  body>.app .sl-premium-level-popover {
    position:absolute;z-index:250;
    right:0;top:calc(100% + 12px);
    width:min(300px,calc(100vw - 25px));
    padding:14px 16px;
    background:#fff;border:1px solid #dce6ec;
    border-radius:12px;box-shadow:0 18px 48px #19344835;
    color:#25485f;
  }
  body>.app .sl-premium-level-popover[hidden]{display:none!important}
  body>.app .sl-premium-level-popover .sl-leveler{
    margin:0;padding:0;border:0;gap:11px;
    color:#355b71;background:transparent;
  }
  body>.app .sl-premium-level-popover .sl-leveler-line>strong,
  body>.app .sl-premium-level-popover .sl-leveler small,
  body>.app .sl-premium-level-popover .sl-leveler-fine>span {
    color:#59768a;
  }
  body>.app .sl-premium-level-popover .sl-leveler-toggle{color:#234e66}
  body>.app .sl-premium-level-popover .sl-leveler-fine output{color:#244d64}
  body>.app .sl-premium-level-popover .sl-leveler button{
    color:#266488;background:#e9f3f9;border:1px solid #cbdfea;
  }
  body>.app .sl-premium-level-popover .sl-leveler small{line-height:1.4}
}
@media (max-width:999px), (pointer:coarse), (max-height:579px) {
  body>.app .sl-premium-level-wrap{display:none!important}
}

/* Real stage controls work with no legacy dark visual sheet loaded. */
body>.app .right.live-library-panel .sl-pro-transport button{
  display:grid;place-items:center;
  width:38px;min-width:38px;height:36px;min-height:36px;
  padding:0;font-size:15px;font-weight:850;
}
body>.app .right.live-library-panel .sl-pro-context{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-top:8px;
  font-size:10px;font-weight:650;
}
body>.app .right.live-library-panel .sl-pro-context [data-sl-count] {
  color:#79909f;
}
@media(max-width:1100px) and (pointer:coarse){
  .soul-mobile-console .right.live-library-panel .sl-leveler{
    border-top-color:#dce7ef;
    color:#486c81;
  }
  .soul-mobile-console .right.live-library-panel .sl-leveler strong,
  .soul-mobile-console .right.live-library-panel .sl-leveler small,
  .soul-mobile-console .right.live-library-panel .sl-leveler-line>span{
    color:#54778c;
  }
  .soul-mobile-console .right.live-library-panel .sl-leveler-toggle,
  .soul-mobile-console .right.live-library-panel .sl-leveler output{color:#315972}
  .soul-mobile-console .right.live-library-panel .sl-leveler button{
    border:1px solid #cee0ec;background:#e8f3fa;color:#306787;
  }
}

/* SoulOne LIVE · Tipografía editorial
 * Mayúsculas reservadas a marca y abreviaturas técnicas (LIVE, BPM, L/R).
 * Preservar tal como se guardaron los nombres de canciones, pistas y artistas. */
html:not(.soulone-ipad-classic) body>.app{
  font-family:Inter,"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
}
body>.app :is(.stage-field .field-label,.stage-menu .menu-caption,
  .sl-view-label,.timeline .heading .section-label,.timeline .heading .eyebrow,
  .clean-group h3,.top .stat small,.download-eyebrow,
  .sl-np-state,.sl-pro-context [data-sl-count]){
  text-transform:none!important;
  letter-spacing:.015em!important;
  font-weight:700!important;
}
body>.app :is(.sl-desktop-views .sl-mode-btn,
  .sl-mobile-view-nav button,.sl-mobile-presets button,
  .right.live-library-panel .tabs button,.stage-menu .tools button,
  .side-actions button){
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:670!important;
}
body>.app .stage-field .field-label{
  font-size:10px;
  line-height:1.25;
}
body>.app :is(.sl-view-label,.stage-menu .menu-caption,
  .timeline .heading .section-label,.download-eyebrow){
  line-height:1.35;
}
body>.app .right.live-library-panel .sl-np-state{
  font-size:10px;
  line-height:1.25;
}
body>.app .right.live-library-panel .sl-np-title,
body>.app .right.live-library-panel .songitem .name b{
  text-transform:none!important;
  overflow-wrap:normal;
}
body>.app .right.live-library-panel .tabs button{
  white-space:normal;
  line-height:1.2;
}
body>.app .strip.locked .striphead::after{content:"Tono fijo";}
@media(max-width:1100px) and (pointer:coarse){
  .soul-mobile-console .stage-field .field-label{
    font-size:10px;
    letter-spacing:.01em!important;
  }
  .soul-mobile-console .right.live-library-panel .tabs button{
    line-height:1.2;
    text-transform:none!important;
  }
}

/* Mixer typography: natural capitalization and readable, restrained weights.
   Keep channel identifiers (L/R, BPM) and all channel/audio state unchanged. */
body>.app>#mixer.clean-mixer .clean-group h3{
  font-size:11px;
  font-weight:700!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}
body>.app>#mixer.clean-mixer .striphead .track-title{
  font-size:11px;
  font-weight:700!important;
  letter-spacing:-.01em;
  line-height:1.2;
  text-transform:none!important;
}
body>.app>#mixer.clean-mixer .strip .role{
  font-weight:650!important;
  text-transform:none!important;
  letter-spacing:0;
}
