/* SOUL ONE LIVE · refined Complete and Stage presentation.
   Desktop-only, visual-only. Preserve all audio graph nodes, original
   event handlers, selection, meters, faders and section navigation. */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  /* COMPLETE — more space for titles, setlist controls and real songs.
     Target the actual complete mode, not the dedicated three other modes. */
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-hide-repertoire)>.main-grid,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-hide-repertoire)>.main-grid {
    grid-template-columns:clamp(420px,30vw,575px) minmax(0,1fr)!important;
    grid-template-areas:"library stage"!important;
    column-gap:12px!important;
    min-width:0!important;
    align-items:stretch!important;
  }
  /* Comfortable tracklist panel: no overflowing header or cramped songs. */
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel{
    box-sizing:border-box!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel>.live-library-header{
    padding:8px 13px!important;
    min-height:48px!important;
    max-height:48px!important;
    flex-basis:48px!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .live-library-header strong{
    font-size:16px!important;
    font-weight:720!important;
    line-height:19px!important;
    letter-spacing:-.015em!important;
    text-transform:none!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .live-library-header small{
    font-size:11px!important;
    line-height:15px!important;
    letter-spacing:0!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel>.tabs button{
    font-size:12px!important;
    font-weight:650!important;
    letter-spacing:0!important;
    text-transform:none!important;
    white-space:nowrap!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .songitem{
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    gap:7px!important;
    border-radius:8px!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .songitem .name{
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .songitem .name b{
    font-size:13px!important;
    font-weight:720!important;
    letter-spacing:-.01em!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire) .right.live-library-panel .songitem .name small{
    font-size:11px!important;
    font-weight:500!important;
  }
  /* COMPLETE mixer is visually centered instead of having all four
     tracks stranded left inside an enormous empty dark rectangle. 
     No channel grouping, gain, scroll or master routing is changed. */
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail{
    justify-content:safe center!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:thin;
    scroll-padding-inline:8px;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail>.strip,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail>.strip{
    flex:1 0 120px!important;
    min-width:120px!important;
    max-width:205px!important;
  }
  /* No competing legacy close X: only the small chevron in the heading. */
  body>.app>.meter-title .stage-mixer-controls{
    display:none!important;
  }

  /* COMPLETE + STAGE — slim track names, no oversized colored capsules.
     Identical label width is used for sections and time rulers to keep
     the waveforms and marker blocks perfectly aligned. */
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .timeline{
    --sl-track-caption-width:clamp(132px,10.5vw,174px);
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .stems-visual{
    border:1px solid #2e4a5c!important;
    border-radius:6px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:#46677a transparent;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .stems-visual .wave-row{
    display:grid!important;
    grid-template-columns:var(--sl-track-caption-width) minmax(0,1fr)!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    border-bottom:1px solid rgba(134,168,191,.14)!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-row:last-child{
    border-bottom:0!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-name{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    height:100%!important;
    padding:0 10px!important;
    background:#172c3d!important;
    color:#d9e6f0!important;
    border-right:1px solid rgba(134,168,191,.16)!important;
    font-size:12px!important;
    font-weight:620!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-name>span:nth-child(2){
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    font-size:12px!important;
    font-weight:620!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-name .w-dot{
    flex:0 0 3px!important;
    width:3px!important;
    height:18px!important;
    min-height:18px!important;
    border-radius:4px!important;
    box-shadow:none!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-name .lock{
    margin-left:auto!important;
    font-size:13px!important;
    opacity:.65!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .segments{
    padding-left:var(--sl-track-caption-width)!important;
    padding-right:0!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .time-numbers{
    padding-left:var(--sl-track-caption-width)!important;
  }
  /* Don't tint the entire label background by track, the thin marker is
     the single color cue. The wave itself retains the original track color. */
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-canvas-wrap{
    min-width:0!important;
    height:100%!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-mix) .live-workspace .wave-canvas-wrap canvas{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
}

/* Stage's previous full-width stylesheet sets an explicit 38px flex basis
   and a 144px label column. Override those same stage-specific selectors
   to ensure rows, section markers and time ticks share ONE coordinate. */
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
  html:not(.soulone-ipad-classic) body>.app.sl-mode-stage .live-workspace .timeline .wave-row,
  html:fullscreen body>.app.sl-mode-stage .live-workspace .timeline .wave-row{
    grid-template-columns:var(--sl-track-caption-width) minmax(0,1fr)!important;
    flex:0 0 40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-stage .live-workspace .timeline>.segments,
  html:fullscreen body>.app.sl-mode-stage .live-workspace .timeline>.segments,
  html:not(.soulone-ipad-classic) body>.app.sl-mode-stage .live-workspace .timeline>.time-numbers,
  html:fullscreen body>.app.sl-mode-stage .live-workspace .timeline>.time-numbers{
    padding-left:var(--sl-track-caption-width)!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-stage .live-workspace .timeline>.stems-visual,
  html:fullscreen body>.app.sl-mode-stage .live-workspace .timeline>.stems-visual{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
  }
}


/* Complete · compact-premium channel dimensions (user-approved).
   A 4-stem song should not stretch each channel to 205px.
   The audio controls remain real native range inputs with their full drag
   length. Mezcla and the optional "Ampliar faders" stay unchanged. */
@media(min-width:1000px) and (min-height:580px) and (pointer:fine) {
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail {
    justify-content:safe center!important;
    gap:12px!important;
    padding-inline:6px!important;
    overflow-x:auto!important;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail>.strip,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .clean-rail>.strip {
    flex:0 0 clamp(112px,8.6vw,132px)!important;
    min-width:112px!important;
    max-width:132px!important;
    box-sizing:border-box!important;
  }
  /* Slightly thinner slider grip, without reducing the native input hit box. */
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .faderbox,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .faderbox {
    gap:6px!important;
    padding-inline:3px!important;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range {
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range::-webkit-slider-thumb,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range::-webkit-slider-thumb {
    width:36px!important;
    height:25px!important;
    margin-left:-13px!important;
    border-radius:5px!important;
  }
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range::-moz-range-thumb,
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .strip .v-range::-moz-range-thumb {
    width:36px!important;
    height:25px!important;
    border-radius:5px!important;
  }
  /* Centered narrow channel cards must still expose M/S/N at normal size. */
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .strip .dual {
    gap:4px!important;
    padding-inline:4px!important;
  }
  body>.app:not(.sl-mode-stage):not(.sl-mode-mix):not(.sl-mode-repertoire):not(.sl-large-faders)>#mixer.clean-mixer .clean-group--music .strip .striphead {
    padding-inline:4px!important;
  }
}
