/* SoulOne LIVE · Repertorio live dashboard (desktop only).
 * Inspired by three-column reference but retains SOUL ONE identity.
 * Uses existing song list, section markers, audio and mixer callbacks.
 */
.sl-rp-sections,.sl-rp-mixer,.sl-rp-dock{display:none}
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire,
  html:fullscreen body>.app.sl-mode-repertoire {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--sl-compact-header-row,76px) 43px 98px minmax(0,1fr) 78px!important;
    gap:8px!important;
    height:100dvh!important;
    overflow:hidden!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.stage-header,
  html:fullscreen body>.app.sl-mode-repertoire>.stage-header{
    grid-row:1!important;grid-column:1!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.stage-footer-note,
  html:fullscreen body>.app.sl-mode-repertoire>.stage-footer-note{
    grid-row:2!important;grid-column:1!important;
  }
  /* Reuse the real section marker map, which reads the actual song clock. */
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.sl-arrangement-map,
  html:fullscreen body>.app.sl-mode-repertoire>.sl-arrangement-map{
    display:flex!important;
    position:relative!important;
    grid-row:3!important;
    grid-column:1!important;
    top:auto!important;
    margin:0!important;
    padding:8px 14px 9px!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    height:100%!important;
    overflow:hidden!important;
    background:#10283c!important;
    border:1px solid #2f5875!important;
    border-radius:10px!important;
  }
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-track{
    flex:1 1 auto!important;
    min-height:38px!important;
    height:45px!important;
    overflow:hidden!important;
  }
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-details{
    gap:12px;
  }
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-title{
    max-width:370px;
    color:#f1fbff!important;
  }
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part{
    border-right:2px solid #123143!important;
    color:#f8fcff!important;
  }
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+1){background:#2774ce!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+2){background:#179e9f!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+3){background:#884ad0!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+4){background:#df8032!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+5){background:#d2ab27!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+6){background:#b84860!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part:nth-child(7n+7){background:#479c57!important}
  body>.app.sl-mode-repertoire>.sl-arrangement-map .sl-map-part.is-current{
    box-shadow:inset 0 0 0 2px #d7fff4!important;
  }
  /* Three independent sections, each with its own scrolling body. */
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid{
    box-sizing:border-box!important;
    grid-row:4!important;
    grid-column:1!important;
    display:grid!important;
    grid-template-areas:"library sections mixer"!important;
    grid-template-columns:minmax(0,.96fr) minmax(0,.9fr) minmax(0,1.18fr)!important;
    gap:11px!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid>.right.live-library-panel,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid>.right.live-library-panel {
    grid-area:library!important;
    display:flex!important;
    flex-direction:column!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #30556a!important;
    border-radius:10px!important;
    background:#102438!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel>.live-library-header{
    display:flex!important;
    flex:0 0 48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding:9px 14px!important;
    border-bottom:1px solid #305068!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel>.live-library-header strong{
    font-size:16px!important;
    letter-spacing:-.02em!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel>.live-library-header small{
    font-size:10px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel>.cloud-toolbar{
    flex:0 0 auto!important;
    min-height:24px!important;
    padding:4px 10px!important;
    margin:0!important;
  }
  /* Both are reachable elsewhere. The right panes replace the tall tabs. */
  body>.app.sl-mode-repertoire .right.live-library-panel>.tabs{
    display:none!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel>.sl-now-playing{
    display:none!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid>.right.live-library-panel>.tabcontent{
    flex:1 1 auto!important;
    display:block!important;
    min-height:0!important;
    max-height:none!important;
    padding:10px 12px 16px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    scrollbar-width:thin;
    scrollbar-color:#486a80 transparent;
    background:#102438!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .search{
    min-height:36px!important;
    height:36px!important;
    width:100%!important;
    max-width:none!important;
    margin-bottom:10px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .setlist{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    max-height:none!important;
    overflow:visible!important;
    gap:4px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .songitem{
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:60px!important;
    padding:8px 10px!important;
    gap:8px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .songitem .name b{
    font-size:13px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .songitem .name small{
    font-size:10px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .songitem .sl-mini-transport button{
    width:30px!important;
    min-width:30px!important;
    flex-basis:30px!important;
    height:31px!important;
    min-height:31px!important;
  }
  body>.app.sl-mode-repertoire .right.live-library-panel .side-actions{
    display:flex;
    gap:8px!important;
    flex-wrap:wrap;
    margin-top:12px!important;
  }

  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid>.sl-rp-sections,
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid>.sl-rp-mixer,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid>.sl-rp-sections,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid>.sl-rp-mixer{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
    border:1px solid #30556a!important;
    border-radius:10px!important;
    color:#dbeaf4!important;
    background:linear-gradient(180deg,#112639,#0c1e30)!important;
  }
  body>.app.sl-mode-repertoire>.main-grid>.sl-rp-sections{grid-area:sections!important}
  body>.app.sl-mode-repertoire>.main-grid>.sl-rp-mixer{grid-area:mixer!important}
  body>.app.sl-mode-repertoire .sl-rp-panel-heading{
    display:flex;align-items:center;justify-content:space-between;
    gap:8px;flex:0 0 53px;min-height:53px;
    padding:10px 12px;border-bottom:1px solid #2d4b61;
  }
  body>.app.sl-mode-repertoire .sl-rp-heading-title{
    display:flex;align-items:center;min-width:0;gap:8px;
    font-size:16px;font-weight:780;color:#eff9ff;
  }
  body>.app.sl-mode-repertoire .sl-rp-symbol{color:#5ad1f0;font-size:20px;font-weight:800}
  body>.app.sl-mode-repertoire .sl-rp-add{
    background:#193e58;color:#dff5ff;border:1px solid #37799b;
    padding:6px 9px;min-height:30px;border-radius:7px;
    font-size:11px;font-weight:700;white-space:nowrap;
  }
  body>.app.sl-mode-repertoire .sl-rp-add-form{
    padding:10px 12px;border-bottom:1px solid #28465d;
  }
  body>.app.sl-mode-repertoire .sl-rp-add-form[hidden]{display:none!important}
  body>.app.sl-mode-repertoire .sl-rp-add-form label{
    display:block;font-size:10px;color:#9fc3d5;margin-bottom:5px;
  }
  body>.app.sl-mode-repertoire .sl-rp-add-line{display:flex;gap:6px;min-width:0}
  body>.app.sl-mode-repertoire .sl-rp-add-line input{
    background:#10263a;color:#f5fbff;border:1px solid #376078;
    flex:1;min-width:0;font-size:12px;padding:6px 8px;border-radius:6px;
  }
  body>.app.sl-mode-repertoire .sl-rp-add-line button{
    background:#147aa6;color:#fff;border:1px solid #358faf;
    font-size:11px;border-radius:6px;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-list{
    flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
    scrollbar-width:thin;scrollbar-color:#446980 transparent;
    padding:5px 8px 12px;
  }
  body>.app.sl-mode-repertoire .sl-rp-section{
    display:flex;align-items:center;gap:11px;
    width:100%;min-height:65px;min-width:0;
    margin:0;padding:10px 9px;
    text-align:left;box-shadow:none!important;
    color:#e8f5fe;background:transparent;
    border:0;border-bottom:1px solid #284358;border-radius:6px;
  }
  body>.app.sl-mode-repertoire .sl-rp-section:hover:not(:disabled){
    background:#234960!important;
  }
  body>.app.sl-mode-repertoire .sl-rp-section.is-current{
    background:#164a64!important;
    outline:1px solid #1aadd1;
    outline-offset:-1px;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-dot{
    flex:0 0 16px;height:16px;width:16px;border-radius:50%;
    box-shadow:0 0 0 3px #143144;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-details{
    display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-details strong{
    display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    color:#f4fcff;font-size:13px;font-weight:750;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-details small{
    color:#9fbdd1;font-size:11px;white-space:nowrap;
    font-variant-numeric:tabular-nums;
  }
  body>.app.sl-mode-repertoire .sl-rp-section-duration{
    color:#abc5d7;font-size:11px;white-space:nowrap;
    font-variant-numeric:tabular-nums;
  }

  body>.app.sl-mode-repertoire .sl-rp-mixer-caption{
    color:#91b3c6;font-size:10px;white-space:nowrap;
  }
  body>.app.sl-mode-repertoire .sl-rp-mixer-channels{
    box-sizing:border-box;
    display:flex;align-items:stretch;gap:6px;
    flex:1 1 auto;min-width:0;min-height:0;
    overflow-x:auto;overflow-y:hidden;
    padding:10px 9px 13px;
    scrollbar-width:thin;scrollbar-color:#38566c transparent;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel{
    box-sizing:border-box;
    display:flex;flex-direction:column;align-items:center;
    flex:1 0 59px;min-width:59px;max-width:78px;
    min-height:0;height:100%;
    padding:7px 4px 9px;
    border:1px solid #26445a;border-radius:7px;
    background:linear-gradient(180deg,#182f44,#142738);
  }
  body>.app.sl-mode-repertoire .sl-rp-channel-name{
    font-size:10px;line-height:1.2;min-height:24px;max-width:100%;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    color:#eaf5ff;text-align:center;font-weight:740;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel-icon{
    display:grid;place-items:center;
    width:27px;height:27px;flex:0 0 27px;
    border-radius:6px;background:#213f56;color:#c7edfb;
    margin-bottom:10px;font-size:17px;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel-fader{
    appearance:slider-vertical!important;
    -webkit-appearance:slider-vertical!important;
    writing-mode:vertical-lr!important;
    direction:rtl!important;
    display:block!important;
    flex:1 1 auto!important;
    width:24px!important;
    min-width:24px!important;
    height:auto!important;min-height:45px!important;
    max-height:none!important;
    background:transparent!important;
    margin:0 auto 7px!important;
    padding:0!important;
    accent-color:#50bce1!important;
    cursor:pointer;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+1) .sl-rp-channel-fader{accent-color:#4eb5df!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+2) .sl-rp-channel-fader{accent-color:#30c4d0!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+3) .sl-rp-channel-fader{accent-color:#9e6beb!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+4) .sl-rp-channel-fader{accent-color:#ee9b48!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+5) .sl-rp-channel-fader{accent-color:#ebc649!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+6) .sl-rp-channel-fader{accent-color:#ed658a!important}
  body>.app.sl-mode-repertoire .sl-rp-channel:nth-child(7n+7) .sl-rp-channel-fader{accent-color:#6dd782!important}
  body>.app.sl-mode-repertoire .sl-rp-channel-value{
    color:#cae9f6;min-height:18px;font-size:11px;
    font-variant-numeric:tabular-nums;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel-actions{
    display:flex;flex-direction:column;gap:5px;width:100%;
    align-items:stretch;margin-top:7px;
  }
  body>.app.sl-mode-repertoire .sl-rp-channel-actions button{
    background:#1c364d;border:1px solid #2a4b63;
    color:#b8d0dd;border-radius:5px;
    min-height:24px;font-size:11px;padding:3px;
    font-weight:750;
  }
  body>.app.sl-mode-repertoire .sl-rp-mute.is-on{
    background:#884250!important;border-color:#bd6578!important;color:#fff!important;
  }
  body>.app.sl-mode-repertoire .sl-rp-solo.is-on{
    background:#ac802f!important;border-color:#d6a54c!important;color:#fff!important;
  }
  body>.app.sl-mode-repertoire .sl-rp-master{
    border-color:#3a7085;background:linear-gradient(180deg,#20394d,#152a3b);
  }
  body>.app.sl-mode-repertoire .sl-rp-master-foot{
    margin-top:12px;font-size:10px;color:#83c4d8;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.sl-rp-dock,
  html:fullscreen body>.app.sl-mode-repertoire>.sl-rp-dock{
    box-sizing:border-box!important;
    display:flex!important;align-items:center;justify-content:space-between;
    grid-row:5!important;grid-column:1!important;
    width:100%!important;min-width:0!important;min-height:0!important;
    height:100%!important;
    gap:14px;padding:8px 14px!important;
    margin:0!important;
    border-radius:10px;border:1px solid #2b4b60;
    background:linear-gradient(110deg,#0d2131,#142e42);
    overflow:hidden;
  }
  body>.app.sl-mode-repertoire .sl-rp-transport{
    display:flex;align-items:center;gap:8px;flex:0 0 auto;
  }
  body>.app.sl-mode-repertoire .sl-rp-transport button{
    display:grid;place-items:center;
    min-width:35px;height:40px;padding:5px 9px;
    border:0;border-radius:8px;
    background:#1f3b51;color:#e2f5ff;font-size:15px;
  }
  body>.app.sl-mode-repertoire .sl-rp-transport .sl-rp-play{
    height:49px;min-width:51px;background:#1483dd;color:#fff;
    font-size:21px;border:1px solid #43a9f2;
    border-radius:50%;
  }
  body>.app.sl-mode-repertoire .sl-rp-transport button:disabled{opacity:.4}
  body>.app.sl-mode-repertoire .sl-rp-now-playing{
    display:flex;flex:1 1 auto;min-width:0;
    flex-direction:column;gap:4px;align-items:flex-start;justify-content:center;
  }
  body>.app.sl-mode-repertoire .sl-rp-now-playing strong{
    display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    max-width:100%;font-size:13px;color:#e8f5ff;
  }
  body>.app.sl-mode-repertoire .sl-rp-now-playing span{
    font-size:12px;color:#a3c6d9;font-variant-numeric:tabular-nums;
  }
  body>.app.sl-mode-repertoire .sl-rp-dock-tools{
    display:flex;flex:0 0 auto;align-items:center;gap:6px;min-width:0;
  }
  body>.app.sl-mode-repertoire .sl-rp-dock-tools button{
    min-width:29px;min-height:32px;padding:4px 8px;
    color:#d9eef9;background:#1e3f57;
    border:1px solid #37627d;border-radius:6px;
  }
  body>.app.sl-mode-repertoire .sl-rp-dock-value{
    font-size:12px;min-width:45px;text-align:center;
    color:#f6fbff;white-space:nowrap;font-weight:750;
  }
  body>.app.sl-mode-repertoire .sl-rp-dock-separator{
    width:1px;height:24px;margin:0 6px;background:#2b566d;
  }
  body>.app.sl-mode-repertoire .sl-rp-dock-tools .sl-rp-loop{
    margin-left:8px;min-width:51px;
  }
  body>.app.sl-mode-repertoire .sl-rp-loop.is-on{
    background:#126d71!important;border-color:#43b9b4!important;color:#e1fff8!important;
  }

  @media (max-width:1250px) {
    html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid{
      grid-template-columns:minmax(0,1fr) minmax(0,.92fr) minmax(0,1.05fr)!important;
      gap:7px!important;
    }
    body>.app.sl-mode-repertoire .sl-rp-dock-tools .sl-rp-dock-separator{
      margin:0 2px;
    }
    body>.app.sl-mode-repertoire .sl-rp-now-playing{
      max-width:150px;
    }
    body>.app.sl-mode-repertoire .sl-rp-channel{
      flex-basis:55px;min-width:55px;
    }
  }
}
/* No changes to mobile's original single-panel navigation. */
