/* SOUL ONE LIVE · v38 — clean icon-only windows.
 * Every desktop window uses the same 28px vector chevron with no visible text.
 * Existing v37 handlers and visual-only mixer manager are preserved.
 */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
 body>.app .sl-icon-only-toggle {
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   flex:0 0 28px!important;
   box-sizing:border-box!important;
   width:28px!important;min-width:28px!important;max-width:28px!important;
   height:28px!important;min-height:28px!important;max-height:28px!important;
   gap:0!important;margin:0!important;padding:0!important;
   border:1px solid #3f5b70!important;
   border-radius:7px!important;
   background:#20394d!important;
   color:#bdd9e9!important;
   box-shadow:none!important;
   cursor:pointer;
   vertical-align:middle;
   text-transform:none!important;
 }
 body>.app .sl-icon-only-toggle:hover:not(:disabled) {
   background:#2a5165!important;
   border-color:#5f9baf!important;
   color:#f1fbff!important;
 }
 body>.app .sl-icon-only-toggle:focus-visible{
   outline:2px solid #67dfd0!important;
   outline-offset:2px!important;
 }
 body>.app .sl-icon-only-toggle svg{
   display:block!important;flex:0 0 16px!important;
   width:16px!important;height:16px!important;
   margin:0!important;
   transition:transform .12s ease;
 }
 body>.app .sl-icon-only-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
 body>.app .sl-icon-only-toggle .sl-window-toggle-label{display:none!important}
 body>.app .sl-icon-only-toggle[hidden]{display:none!important}
 /* The original mixer had two competing close-X buttons; the header retains
    only the v38 icon. Selection and "Ampliar faders" remain accessible. */
 body>.app>.meter-title .stage-mixer-controls,
 body>.app>.meter-title .mobile-mix-close,
 body>.app>.meter-title .mobile-mixer-close,
 body>.app>.meter-title .mixer-close{
   display:none!important;
 }
 body>.app>.meter-title .sl-mixer-collapse-toggle{
   margin-left:auto!important;
   margin-right:5px!important;
 }
 body>.app>.meter-title:has(.sl-mixer-collapse-toggle) {
   justify-content:flex-start!important;gap:9px!important;
 }
 body>.app>.meter-title .sl-fader-size-toggle {
   flex:0 0 auto!important;
 }
 /* The command bar compresses to a small, usable title strip without
    unmounting or resetting controls and status. */
 body>.app.sl-header-minimized>.top.stage-header{
   height:44px!important;min-height:44px!important;max-height:44px!important;
   padding:5px 9px!important;
   grid-template-columns:minmax(0,1fr) auto!important;
   gap:8px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-center{
   display:none!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-identity{
   min-width:0!important;
   width:auto!important;
   overflow:hidden!important;
   gap:9px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .brand.soulone-family-brand{
   min-height:32px!important;gap:6px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .soulone-family-emblem{
   width:31px!important;height:31px!important;
   min-width:31px!important;flex-basis:31px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .soulone-family-wordmark{
   font-size:13px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .soulone-live-edition{
   min-height:19px!important;font-size:9px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-identity .song-head{
   padding-left:9px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-identity .song-head strong{
   font-size:13px!important;line-height:25px!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-identity .song-head small{
   display:none!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-actions{
   height:30px!important;gap:0!important;
   display:flex!important;
   align-items:center!important;
   grid-column:2!important;
 }
 body>.app.sl-header-minimized>.top.stage-header .stage-actions>*:not(.sl-header-collapse-toggle){
   display:none!important;
 }
 /* Preserve each grid mode's tracks; only replace the 76px header with 44px. */
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized:not(.sl-mode-stage):not(.sl-mode-repertoire):not(.stage-mixer-collapsed):not(.sl-mode-mix):not(.sl-large-faders),
 html:fullscreen body>.app.sl-header-minimized:not(.sl-mode-stage):not(.sl-mode-repertoire):not(.stage-mixer-collapsed):not(.sl-mode-mix):not(.sl-large-faders){
   grid-template-rows:44px 43px minmax(0,1fr) 40px clamp(270px,35dvh,370px)!important;
 }
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized.sl-mode-mix:not(.stage-mixer-collapsed):not(.sl-large-faders),
 html:fullscreen body>.app.sl-header-minimized.sl-mode-mix:not(.stage-mixer-collapsed):not(.sl-large-faders){
   grid-template-rows:44px 43px minmax(0,1fr) 40px clamp(330px,47dvh,540px)!important;
 }
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized.sl-large-faders:not(.stage-mixer-collapsed):not(.sl-mode-stage):not(.sl-mode-repertoire),
 html:fullscreen body>.app.sl-header-minimized.sl-large-faders:not(.stage-mixer-collapsed):not(.sl-mode-stage):not(.sl-mode-repertoire){
   grid-template-rows:44px 43px minmax(0,1fr) 40px clamp(370px,60dvh,740px)!important;
 }
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized.stage-mixer-collapsed:not(.sl-mode-stage):not(.sl-mode-repertoire),
 html:fullscreen body>.app.sl-header-minimized.stage-mixer-collapsed:not(.sl-mode-stage):not(.sl-mode-repertoire){
   grid-template-rows:44px 43px minmax(0,1fr) 40px!important;
 }
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized.sl-mode-stage,
 html:fullscreen body>.app.sl-header-minimized.sl-mode-stage,
 html:not(.soulone-ipad-classic) body>.app.sl-header-minimized.sl-mode-repertoire,
 html:fullscreen body>.app.sl-header-minimized.sl-mode-repertoire{
   grid-template-rows:44px 43px minmax(0,1fr)!important;
 }
 /* Repertoire collapses into a narrow control rail, not an inaccessible
    display:none that would strand the expand button. */
 body>.app.sl-library-minimized:not(.sl-mode-repertoire):not(.sl-hide-repertoire)>.main-grid{
   grid-template-columns:46px minmax(0,1fr)!important;
   grid-template-areas:"library stage"!important;
   gap:9px!important;
 }
 body>.app.sl-library-minimized:not(.sl-mode-repertoire)>.main-grid>.right.live-library-panel{
   width:46px!important;min-width:46px!important;max-width:46px!important;
   min-height:0!important;overflow:hidden!important;
 }
 body>.app.sl-library-minimized .right.live-library-panel>.live-library-header{
   box-sizing:border-box!important;
   flex:0 0 42px!important;
   min-height:42px!important;max-height:42px!important;
   padding:6px!important;
   display:flex!important;
   align-items:center!important;
   justify-content:center!important;
   border:0!important;
 }
 body>.app.sl-library-minimized .right.live-library-panel>.live-library-header>div{
   display:none!important;
 }
 body>.app.sl-library-minimized:not(.sl-mode-repertoire) .right.live-library-panel>.cloud-toolbar,
 body>.app.sl-library-minimized:not(.sl-mode-repertoire) .right.live-library-panel>.sl-now-playing,
 body>.app.sl-library-minimized:not(.sl-mode-repertoire) .right.live-library-panel>.tabs,
 body>.app.sl-library-minimized:not(.sl-mode-repertoire) .right.live-library-panel>.tabcontent{
   display:none!important;
 }
 /* In the dedicated Repertorio workspace, retain the mini transport,
    title and expand icon, instead of showing a completely blank page. */
 body>.app.sl-library-minimized.sl-mode-repertoire .right.live-library-panel>.cloud-toolbar,
 body>.app.sl-library-minimized.sl-mode-repertoire .right.live-library-panel>.tabs,
 body>.app.sl-library-minimized.sl-mode-repertoire .right.live-library-panel>.tabcontent{
   display:none!important;
 }
 body>.app .right.live-library-panel>.live-library-header>.sl-library-collapse-toggle{
   margin-left:auto!important;
 }
 body>.app.sl-library-minimized .right.live-library-panel>.live-library-header>.sl-library-collapse-toggle{
   margin:0 auto!important;
 }
 /* The very small icon stays flush right on the stage, without repeating
    a visible "Minimizar" label. */
 body>.app .live-workspace .timeline .heading>.sl-timeline-collapse-toggle{
   margin-left:auto!important;
   flex:0 0 28px!important;
 }
}
@media(max-width:1100px) and (pointer:coarse){
 body>.app .sl-header-collapse-toggle,
 body>.app .sl-library-collapse-toggle,
 body>.app .sl-mixer-collapse-toggle{
   display:none!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body>.app .sl-icon-only-toggle svg{transition:none!important}
}
