/* A single aligned Books control row. */
.bookpage-inline-source-label { display:none; }
@media (min-width:1101px) {
  .bookpage-root .bookpage-source-tabbar #bookpage-search-input {
    flex:0 1 180px !important;
    max-width:180px !important;
    min-width:100px !important;
  }
  .bookpage-root .bookpage-inline-source-label {
    display:block;
    flex:1 1 120px;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#e6c78e;
    font:600 12px/1.3 Arial,sans-serif;
    padding:0 4px;
  }
  .bookpage-root > :is(.bookpage-current-playlist-note,.bookpage-deck-heading-row) { display:none !important; }
  .bookpage-root .sp-btn:not(.book-deck-action-edit) {
    width:23px !important;
    min-width:23px !important;
    height:23px !important;
    min-height:23px !important;
    padding:0 !important;
    font-size:11px !important;
  }
}
.bookpage-root .sp-btn.is-saving { outline:1px dashed currentColor; outline-offset:2px; cursor:progress; }
.bookpage-source-tabbar { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:6px !important; padding:6px !important; min-width:0; overflow-x:auto; border:1px solid #ffffff18; border-radius:12px; background:#191919; }
.bookpage-source-tabbar .bookpage-source-tabs, .bookpage-source-tabbar .bookpage-deck-sort-controls { align-items:center !important; flex-wrap:nowrap !important; gap:4px; margin:0 !important; padding:0 !important; align-self:center; }
.bookpage-source-tabbar button, .bookpage-source-tabbar input, .bookpage-source-tabbar select { box-sizing:border-box !important; height:32px !important; min-height:32px !important; max-height:32px !important; margin:0 !important; padding:4px 9px !important; border-radius:8px !important; line-height:normal !important; font-size:12px !important; transform:none !important; vertical-align:middle; }
.bookpage-source-tabbar .bookpage-book-search { flex:1 1 180px; width:auto !important; min-width:90px !important; }
.bookpage-source-tabbar .bookpage-deck-sort-select { width:110px !important; min-width:80px !important; padding-right:23px !important; cursor:pointer; background-color:#262626; border:1px solid #ffffff26; }
.bookpage-source-tabbar .bookpage-deck-sort-label { display:none; }
.bookpage-source-tabbar button { flex-shrink:0; }
.setlist-mode-request-reminder { margin:12px 0 24px; padding:14px 16px; border:1px solid var(--accent-color, #bd924a); border-radius:12px; background:rgba(190,145,70,.10); white-space:normal; font:14px/1.5 sans-serif; }
.workspace-nav-icon { display:none; }
.tv-horizontal-scroll-shell { display:flex; align-items:center; gap:7px; align-self:stretch; flex:1 1 220px; min-width:115px; margin:0 8px; padding:0 12px; border-left:1px solid rgba(255,255,255,.16); border-right:1px solid rgba(255,255,255,.16); background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent); }
.tv-horizontal-scroll-label { flex:0 0 auto; color:var(--accent-color, #ffc86d); font:700 9px/1 sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.tv-horizontal-scroll-label { border:0; padding:3px 5px; border-radius:5px; background:rgba(255,255,255,.035); cursor:pointer; }
.tv-horizontal-scroll-shell:not(.is-active) .tv-horizontal-scroll-label { color:rgba(255,255,255,.34); }
.tv-horizontal-scroll-shell:not(.is-active) .tv-horizontal-scroll::-webkit-slider-runnable-track { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.09); box-shadow:none; }
.tv-horizontal-scroll-shell:not(.is-active) .tv-horizontal-scroll::-moz-range-track { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.09); box-shadow:none; }
.tv-horizontal-scroll-shell.is-active .tv-horizontal-scroll-label { color:color-mix(in srgb,var(--accent-color,#ffc86d) 58%,#aaa); }
.tv-horizontal-scroll-control { position:relative; display:flex; align-items:center; flex:1 1 auto; min-width:80px; height:28px; }
.tv-horizontal-scroll { position:relative; z-index:2; width:100%; height:26px; margin:0; padding:0; border:0; background:transparent; touch-action:pan-y; appearance:none; -webkit-appearance:none; }
.tv-horizontal-scroll::-webkit-slider-runnable-track { height:5px; border:1px solid color-mix(in srgb,var(--accent-color,#ffc86d) 72%,#fff 8%); border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent-color,#ffc86d) 74%,#4b3011),color-mix(in srgb,var(--accent-color,#ffc86d) 38%,#181818)); box-shadow:inset 0 1px 2px #0008,0 0 8px color-mix(in srgb,var(--accent-color,#ffc86d) 18%,transparent); }
.tv-horizontal-scroll::-moz-range-track { height:5px; border:1px solid color-mix(in srgb,var(--accent-color,#ffc86d) 72%,#fff 8%); border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent-color,#ffc86d) 74%,#4b3011),color-mix(in srgb,var(--accent-color,#ffc86d) 38%,#181818)); box-shadow:inset 0 1px 2px #0008,0 0 8px color-mix(in srgb,var(--accent-color,#ffc86d) 18%,transparent); }
.tv-horizontal-scroll::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:16px; height:16px; margin-top:-6px; border:2px solid #191919; border-radius:50%; background:var(--accent-color,#ffc86d); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color,#ffc86d) 78%,white),0 2px 6px #000b; }
.tv-horizontal-scroll::-moz-range-thumb { width:13px; height:13px; border:2px solid #191919; border-radius:50%; background:var(--accent-color,#ffc86d); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color,#ffc86d) 78%,white),0 2px 6px #000b; }
.tv-horizontal-scroll-marks { position:absolute; z-index:1; left:8px; right:8px; top:50%; height:12px; transform:translateY(-50%); pointer-events:none; }
.tv-horizontal-scroll-marks i { position:absolute; top:1px; width:1px; height:10px; background:color-mix(in srgb,var(--accent-color,#ffc86d) 68%,white); opacity:.82; }
.tv-horizontal-scroll-marks i:nth-child(1) { left:25%; }.tv-horizontal-scroll-marks i:nth-child(2) { left:50%; }.tv-horizontal-scroll-marks i:nth-child(3) { left:75%; }
.tv-floating-live-tools { left:2px !important; right:2px !important; width:auto !important; max-width:none !important; box-sizing:border-box; }
.tv-floating-live-tools .tv-mobile-menu-return { position:sticky; right:0; z-index:4; margin-left:auto !important; box-shadow:-8px 0 10px rgba(18,18,18,.78); }
#tv-fine-autoscroll, #tabviewer-return-top { display:none !important; }
.tv-mobile-menu-return svg { width:21px; height:21px; }
.tabviewer-page-shell > .tv-mobile-menu-return { display:none !important; }
.standalone-slave .workspace-control-strip, .standalone-slave .workspace-nav-strip, .standalone-slave .header1, .standalone-slave .on-air-slave-head, .standalone-slave .tv-mobile-menu-return { display:none !important; }
.standalone-slave .main-container, .standalone-slave .content-container, .standalone-slave .right-panel { margin:0 !important; padding:0 !important; width:100% !important; }
.standalone-slave .tabviewer-page-shell { padding:0 0 52px; }
.standalone-slave .on-air-slave-stack { margin-left:8px; margin-right:6px; }
.standalone-slave .tv-floating-live-tools { left:8px !important; right:8px !important; bottom:calc(8px + env(safe-area-inset-bottom,0px) + var(--songbook-android-bottom-inset,0px)) !important; overflow:hidden; }
.standalone-slave .tv-mode-icon-btn, .standalone-slave .tv-notation-mode-btn { color:rgba(255,255,255,.68) !important; border-color:rgba(255,255,255,.12) !important; background:rgba(255,255,255,.045) !important; }
.bookpage-current-playlist-note { margin:4px 8px 7px; color:rgba(255,255,255,.58); font:500 11px/1.25 sans-serif; }
body.on-air-slave-toolbar-collapsed .tv-floating-live-tools > :not(.tv-horizontal-scroll-shell):not(.on-air-slave-toolbar-toggle) { display:none !important; }
body.on-air-slave-toolbar-collapsed .tv-floating-live-tools { left:10px !important; right:10px !important; max-width:calc(100vw - 20px) !important; min-width:0 !important; }
body.on-air-slave-toolbar-collapsed .tv-horizontal-scroll-shell { max-width:none !important; min-width:0 !important; margin:0 4px !important; }
.on-air-slave-toolbar-toggle { order:100; flex:0 0 32px !important; min-width:32px !important; width:32px !important; margin-left:4px !important; }
.songbook-pwa-embed .topbar-shell { display:none !important; }
.songbook-pwa-embed .main-container { padding-top:0 !important; }
@media (max-width:560px), (hover:none) and (pointer:coarse) and (min-width:561px) {
  body { padding-bottom:calc(48px + env(safe-area-inset-bottom, 0px)); }
  .workspace-nav-strip { position:fixed !important; z-index:1250; left:4px; right:4px; bottom:calc(3px + env(safe-area-inset-bottom, 0px)); display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; margin:0 !important; padding:3px !important; height:42px !important; min-height:42px !important; box-sizing:border-box; border:1px solid #ffffff18; border-radius:13px; background:rgba(18,18,18,.97); }
  .workspace-nav-strip .header-nav-btn { display:flex !important; flex-direction:column; justify-content:center; align-items:center; gap:1px !important; min-width:0; min-height:30px !important; height:30px !important; margin:0 !important; padding:1px !important; }
  .workspace-nav-icon { display:flex; }
  .workspace-nav-icon svg { width:18px; height:18px; }
  .workspace-nav-strip .header-nav-btn-copy { font-size:9px !important; line-height:10px !important; }
  .workspace-nav-strip .header-nav-btn-meta, .hide-menu-labels .workspace-nav-strip .header-nav-btn-copy { display:none !important; }
  .main-container.tabviewer-live-mode .workspace-nav-strip { display:none !important; }
  body.tab-navigation-open .main-container.tabviewer-live-mode .workspace-nav-strip { display:grid !important; bottom:calc(48px + env(safe-area-inset-bottom, 0px)); height:auto !important; min-height:48px !important; box-shadow:0 -8px 24px #0008; }
  body.mobile-tab-menu-open .tv-floating-live-tools { display:flex !important; }
  .tv-floating-live-tools .tv-mobile-menu-return { display:inline-flex !important; flex:0 0 30px !important; min-width:30px !important; width:30px !important; padding:0; justify-content:center; align-items:center; margin-left:auto !important; }
  .tv-horizontal-scroll-shell { flex-basis:150px; margin:0 4px; padding:0 8px; }
  .tv-horizontal-scroll-label { display:none; }
  .standalone-slave .workspace-nav-strip, .standalone-slave .tv-mobile-menu-return { display:none !important; }
}

/* Final desktop rail contract: page summaries and the Tabs toolbar always
   live in the left rail; only the working content stays in the right pane. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    position:fixed !important;
    z-index:900 !important;
    left:6px !important;
    right:auto !important;
    top:188px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:calc(100dvh - 300px) !important;
    margin:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:7px !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools {
    position:fixed !important;
    z-index:1300 !important;
    left:6px !important;
    right:auto !important;
    top:auto !important;
    bottom:6px !important;
    width:400px !important;
    max-width:400px !important;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:fixed !important;
    left:6px !important;
    right:auto !important;
    top:188px !important;
    width:400px !important;
    max-width:400px !important;
  }
}

/* 20260919 — immediate playlist rows and verified TAB setlist interaction. */
@media (min-width:1101px) {
  /* Exact desktop spacing requested: +4px inside SONG, 6px around the cards. */
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid {
    top:182px !important;
    gap:6px !important;
  }
  .tabviewer-page-shell .tv-song-card > .tv-card-header { margin:0 0 7px !important; }

  /* Let the Setlist card receive clicks and expand its list inside the card. */
  .tabviewer-page-shell.setlist-mode-active,
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell :is(button,.tv-versions-summary,.tv-versions-panel,.tv-versions-list,.tv-setlist-jump) {
    pointer-events:auto !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell { isolation:isolate !important; }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-panel {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-height:0 !important;
    padding:0 6px !important;
    overflow:hidden !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-panel.is-open {
    max-height:none !important;
    padding:5px 6px 7px !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary-title {
    font-size:.72rem !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary-meta {
    font-size:.54rem !important;
  }

  /* Results never stretch to fill an otherwise empty column. */
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-results,.playlist-content-list) {
    align-content:start !important;
    grid-auto-rows:30px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-row,.playlist-content-row) {
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    align-self:start !important;
  }
}

/* One desktop Load/Create component shared by Playlist and Setlist. */
@media (min-width:1101px) {
  #playlist-library-modal,
  #setlist-library-modal { isolation:isolate !important; }
  #playlist-library-modal .playlist-panel-head,
  #setlist-library-modal .playlist-panel-head {
    min-height:34px !important;
    margin:0 0 9px !important;
    padding:0 0 8px !important;
    align-items:center !important;
    border-bottom:1px solid rgba(255,255,255,.09) !important;
  }
  #playlist-library-modal .playlist-modal-title,
  #setlist-library-modal .playlist-modal-title {
    margin:0 0 2px !important;
    font-size:1rem !important;
    line-height:1.1 !important;
  }
  #playlist-library-modal .playlist-panel-note,
  #setlist-library-modal .playlist-panel-note {
    margin:0 !important;
    color:rgba(255,255,255,.58) !important;
    font-size:.7rem !important;
    line-height:1.25 !important;
  }
  #playlist-library-modal .playlist-panel-head > .btn-pages,
  #setlist-library-modal .playlist-panel-head > .btn-pages {
    min-height:28px !important;
    height:28px !important;
    padding:2px 10px !important;
    border-radius:7px !important;
    font-size:.7rem !important;
  }
  #playlist-library-modal .playlist-library-toolbar,
  #setlist-library-modal .playlist-library-toolbar {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    margin:0 0 8px !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #playlist-library-modal .setlist-inline-search-box,
  #setlist-library-modal .setlist-inline-search-box { margin:0 !important; }
  #playlist-library-modal #playlist-search-input,
  #setlist-library-modal #setlist-search-input {
    min-height:32px !important;
    height:32px !important;
    margin:0 !important;
    padding:3px 10px !important;
    border-radius:7px !important;
    font-size:.75rem !important;
  }
  #playlist-library-modal .playlist-library-quick-create,
  #setlist-library-modal .playlist-library-quick-create {
    min-height:32px !important;
    height:32px !important;
    padding:2px 11px !important;
    border-radius:7px !important;
    font-size:.72rem !important;
  }
  #playlist-library-modal .playlist-library-tag-filters,
  #setlist-library-modal .playlist-library-tag-filters {
    gap:5px !important;
    margin:7px 0 9px !important;
    padding:0 2px !important;
  }
  #playlist-library-modal .setlist-tag-chip,
  #setlist-library-modal .setlist-tag-chip {
    min-height:25px !important;
    height:25px !important;
    padding:2px 9px !important;
    border-radius:7px !important;
    font-size:.68rem !important;
  }
  #playlist-library-modal .playlist-library-list,
  #setlist-library-modal .playlist-library-list { gap:5px !important; }
  #playlist-library-modal .playlist-library-section,
  #setlist-library-modal .playlist-library-section {
    margin:8px 0 2px !important;
    padding:0 2px !important;
    font-size:.66rem !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }
  #playlist-library-modal .playlist-library-item,
  #setlist-library-modal .playlist-library-item {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    min-height:0 !important;
    padding:7px 10px !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #playlist-library-modal .playlist-library-mainline-title,
  #setlist-library-modal .playlist-library-mainline-title { font-size:.78rem !important; line-height:1.15 !important; }
  #playlist-library-modal .playlist-library-mainline-meta,
  #playlist-library-modal .playlist-library-mainline-count,
  #setlist-library-modal .playlist-library-mainline-meta,
  #setlist-library-modal .playlist-library-mainline-count { font-size:.66rem !important; line-height:1.15 !important; }

  #playlist-library-modal.is-library-loading::after,
  #setlist-library-modal.is-library-loading::after {
    content:attr(data-loading-label);
    position:absolute;
    z-index:20;
    inset:8px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(15,15,15,.76);
    color:#f3dfbd;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.025em;
    cursor:progress;
  }
  #playlist-library-modal.is-library-loading::before,
  #setlist-library-modal.is-library-loading::before {
    content:"";
    position:absolute;
    z-index:21;
    left:50%;
    top:calc(50% - 27px);
    width:18px;
    height:18px;
    margin:-9px 0 0 -9px;
    border:2px solid rgba(255,255,255,.16);
    border-top-color:var(--songbook-accent,#d3a24b);
    border-radius:50%;
    animation:songbook-library-spin .7s linear infinite;
  }
  #playlist-library-modal .playlist-library-item.is-loading,
  #setlist-library-modal .playlist-library-item.is-loading { border-color:rgba(var(--songbook-accent-rgb),.58) !important; }
}
@keyframes songbook-library-spin { to { transform:rotate(360deg); } }

/* Desktop Playlist tools: shared, readable inline workspace for all four tabs. */
@media (min-width:1101px) {
  .playlist-workspace > .playlist-shell,
  .playlist-workspace > .playlist-shell > .playlist-editor-shell {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace > .playlist-shell > .playlist-editor-shell {
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
  }
  .playlist-workspace #playlist-inline-workspace {
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:8px 10px 12px !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-inline-workspace > .workspace-inline-editor-panel,
  .playlist-workspace #playlist-inline-workspace > .workspace-inline-editor-panel > .playlist-modal-content,
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-modal-modern,
  .playlist-workspace #playlist-inline-workspace .playlist-content-modal-content {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-inline-workspace > .workspace-inline-editor-panel > .playlist-modal-content {
    padding:16px 18px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:12px !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-panel-head {
    align-items:center !important;
    gap:16px !important;
    margin-bottom:12px !important;
    padding-bottom:10px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-modal-title {
    font-size:1.08rem !important;
    line-height:1.2 !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-panel-note {
    max-width:76ch !important;
    margin-top:3px !important;
    font-size:.78rem !important;
    line-height:1.35 !important;
  }
  .playlist-workspace #playlist-inline-workspace .btn-pages {
    min-width:0 !important;
    min-height:31px !important;
    height:auto !important;
    margin:0 !important;
    padding:5px 11px !important;
    border-width:1px !important;
    border-radius:7px !important;
    font-size:.72rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-top-actions,
  .playlist-workspace #playlist-inline-workspace .playlist-content-modal-actions,
  .playlist-workspace #playlist-inline-workspace .playlist-create-actions { gap:6px !important; }
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-editor-list {
    width:100% !important;
    gap:8px !important;
    margin-top:10px !important;
  }
  .playlist-workspace #playlist-inline-workspace .auto-sync-row.playlist-autosync-editor-row,
  .playlist-workspace #playlist-inline-workspace .auto-sync-row.playlist-autosync-editor-row.is-first {
    width:100% !important;
    grid-template-columns:72px minmax(145px,.8fr) minmax(150px,.85fr) minmax(260px,1.8fr) 32px !important;
    gap:8px !important;
    padding:8px !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-inline-workspace .auto-sync-row select,
  .playlist-workspace #playlist-inline-workspace .auto-sync-row input,
  .playlist-workspace #playlist-inline-workspace .auto-sync-row button,
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-connector-placeholder {
    min-height:34px !important;
    height:34px !important;
    font-size:.8rem !important;
  }
  .playlist-workspace #playlist-inline-workspace .auto-sync-row .playlist-autosync-remove {
    width:32px !important;
    min-width:32px !important;
    height:32px !important;
    padding:0 !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-content-search-shell {
    width:100% !important;
    margin:8px 0 12px !important;
    padding:12px !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-field,
  .playlist-workspace #playlist-inline-workspace .playlist-input,
  .playlist-workspace #playlist-inline-workspace .playlist-content-list,
  .playlist-workspace #playlist-inline-workspace .playlist-content-search-results {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-input {
    min-height:36px !important;
    padding:6px 10px !important;
    font-size:.84rem !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-content-search-row,
  .playlist-workspace #playlist-inline-workspace .playlist-content-row {
    min-height:42px !important;
    padding:7px 10px !important;
    border-radius:9px !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-content-search-copy strong,
  .playlist-workspace #playlist-inline-workspace .playlist-content-copy strong { font-size:.84rem !important; }
  .playlist-workspace #playlist-inline-workspace .playlist-content-search-copy small,
  .playlist-workspace #playlist-inline-workspace .playlist-content-copy small,
  .playlist-workspace #playlist-inline-workspace .playlist-content-index { font-size:.72rem !important; }
  .playlist-workspace #playlist-inline-workspace .playlist-content-modal-actions-bottom,
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-actions {
    margin-top:12px !important;
    padding-top:10px !important;
  }
}

/* Requests playlist tabs share the standard Playlist tab-bar presentation. */
@media (min-width:1101px) {
  .requests-page-shell { padding-top:104px !important; }
  .requests-page-shell > .requests-tabs-shell {
    position:fixed !important;
    z-index:1041 !important;
    top:68px !important;
    left:420px !important;
    right:8px !important;
    width:auto !important;
    max-width:none !important;
    height:29px !important;
    min-height:29px !important;
    margin:0 !important;
    padding:2px 5px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:8px !important;
    background:rgba(18,18,18,.98) !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .requests-page-shell > .requests-tabs-shell {
    left:420px !important;
  }
  .requests-page-shell > .requests-tabs-shell .requests-playlist-tabs-row,
  .requests-page-shell > .requests-tabs-shell .requests-playlist-tabs {
    height:23px !important;
    min-height:23px !important;
    gap:3px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
  }
  .requests-page-shell > .requests-tabs-shell .requests-playlist-tab,
  .requests-page-shell > .requests-tabs-shell .requests-onair-slave-btn-tabs {
    flex:0 0 auto !important;
    height:23px !important;
    min-height:23px !important;
    margin:0 !important;
    padding:2px 8px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:6px !important;
    background:rgba(255,255,255,.035) !important;
    color:rgba(255,255,255,.72) !important;
    box-shadow:none !important;
    font-size:.6rem !important;
    line-height:1 !important;
  }
  .requests-page-shell > .requests-tabs-shell .requests-playlist-tab.active {
    border-color:rgba(var(--songbook-accent-rgb),.58) !important;
    background:rgba(var(--songbook-accent-rgb),.18) !important;
    color:#ffe0a6 !important;
  }
  .requests-page-shell > .requests-tabs-shell .requests-tab-count {
    min-width:16px !important;
    height:16px !important;
    padding:0 4px !important;
    font-size:.53rem !important;
    line-height:16px !important;
  }
  .requests-page-shell > .requests-tabs-shell .requests-onair-slave-btn-tabs {
    margin-left:auto !important;
    border-color:rgba(var(--songbook-accent-rgb),.38) !important;
    color:color-mix(in srgb,var(--songbook-accent) 72%,#fff 28%) !important;
  }
}

@media (min-width:561px) and (max-width:1100px) {
  .requests-tabs-shell {
    padding:4px 6px !important;
    border-radius:9px !important;
  }
  .requests-playlist-tabs { gap:4px !important; }
  .requests-playlist-tab,
  .requests-onair-slave-btn-tabs {
    min-height:27px !important;
    height:27px !important;
    padding:3px 8px !important;
    border-radius:7px !important;
    font-size:.64rem !important;
  }
}

/* Desktop-only cleanup. Tablet styles remain untouched. */
@media (min-width:1101px) {
  /* Tabs setlist navigation stays inside the left setlist card. */
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-name-sections-row {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:5px !important;
    overflow:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs {
    position:static !important;
    display:flex !important;
    order:3 !important;
    flex:1 1 100% !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:26px !important;
    margin:3px 0 0 !important;
    padding:2px 0 0 !important;
    gap:4px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs[hidden] { display:none !important; }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs .tv-setlist-section-tab {
    flex:0 0 auto !important;
    height:23px !important;
    min-height:23px !important;
    padding:2px 8px !important;
    border-radius:6px !important;
    font-size:.6rem !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    overflow:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open {
    position:absolute !important;
    z-index:30 !important;
    left:0 !important;
    right:0 !important;
    top:calc(100% - 6px) !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:min(48vh,360px) !important;
    padding:0 10px 10px !important;
    scrollbar-gutter:stable;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    border-radius:0 0 12px 12px !important;
  }

  /* Request sorting is a local tab row directly below TO PLAY. */
  .requests-stream-shell > .requests-sort-controls-inline {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:3px !important;
    width:100% !important;
    min-height:29px !important;
    margin:3px 0 8px !important;
    padding:2px 4px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:8px !important;
    background:#181818 !important;
    box-sizing:border-box !important;
  }
  .requests-stream-shell > .requests-sort-controls-inline .requests-sort-btn {
    height:23px !important;
    min-height:23px !important;
    margin:0 !important;
    padding:2px 8px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:6px !important;
    background:rgba(255,255,255,.035) !important;
    color:rgba(255,255,255,.7) !important;
    font-size:.6rem !important;
    font-weight:800 !important;
    line-height:1 !important;
    cursor:pointer !important;
  }
  .requests-stream-shell > .requests-sort-controls-inline .requests-sort-btn.active {
    border-color:rgba(var(--songbook-accent-rgb),.55) !important;
    background:rgba(var(--songbook-accent-rgb),.14) !important;
    color:#f3dfbd !important;
  }

  /* Match the restrained Books/Profile palette on the three editor pages. */
  .playlist-workspace,
  .setlist-workspace,
  .requests-page-shell {
    background:#202020 !important;
  }
  .playlist-workspace .playlist-shell,
  .setlist-workspace .playlist-shell,
  .playlist-workspace .playlist-panel,
  .setlist-workspace .playlist-panel,
  .playlist-workspace .workspace-current-card,
  .setlist-workspace .workspace-current-card,
  .requests-page-shell .requests-shell-card {
    border-color:rgba(255,255,255,.10) !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
  }
  .requests-page-shell .requests-tab-panel,
  .requests-page-shell .requests-stream-shell {
    background:#202020 !important;
  }
  .playlist-workspace .playlist-editor-shell,
  .setlist-workspace .playlist-editor-shell,
  .requests-page-shell .requests-workspace-grid {
    background:#202020 !important;
  }
}

/* Setlist section navigation uses the same right-pane tab bar as Playlist. */
@media (min-width:1101px) {
  .tabviewer-page-shell:not(.setlist-mode-active) > #tv-setlist-section-tabs {
    display:none !important;
  }
  .tabviewer-page-shell.setlist-mode-active > #tv-setlist-section-tabs,
  .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs {
    position:fixed !important;
    z-index:1041 !important;
    top:68px !important;
    left:420px !important;
    right:8px !important;
    width:auto !important;
    max-width:none !important;
    height:29px !important;
    min-height:29px !important;
    margin:0 !important;
    padding:2px 5px !important;
    align-items:center !important;
    gap:3px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:8px !important;
    background:rgba(18,18,18,.98) !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > #tv-setlist-section-tabs,
  body.songbook-pwa-embed .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs {
    left:420px !important;
  }
  #tv-setlist-section-tabs .tv-setlist-section-tab,
  #setlist-section-tabs .setlist-section-tab {
    flex:0 0 auto !important;
    height:23px !important;
    min-height:23px !important;
    margin:0 !important;
    padding:2px 8px !important;
    border-radius:6px !important;
    font-size:.6rem !important;
    line-height:1 !important;
  }
  .tabviewer-page-shell.setlist-mode-active #setlist-mode-content,
  .setlist-workspace #manage-setlist-container {
    scroll-margin-top:104px;
  }
}

/* The desktop setlist picker opens above the fixed rail instead of being
   clipped by its scroll container, and remains fully clickable. */
@media (min-width:1101px) {
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-summary {
    position:relative !important;
    z-index:2 !important;
    pointer-events:auto !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open {
    position:fixed !important;
    z-index:1600 !important;
    left:6px !important;
    right:auto !important;
    top:360px !important;
    bottom:112px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:none !important;
    padding:6px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:10px !important;
    background:#1b1b1b !important;
    box-sizing:border-box !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-setlist-jump,
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-setlist-list,
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tab-version-item {
    pointer-events:auto !important;
  }
}

/* Final desktop control rail override (must remain last). */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { left:0 !important; right:auto !important; top:0 !important; width:375px !important; height:154px !important; min-height:154px !important; padding:5px 6px !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:28px !important; align-content:start !important; gap:4px !important; border-radius:0 0 10px 0 !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { left:6px !important; right:auto !important; top:92px !important; width:363px !important; height:34px !important; min-height:34px !important; padding:2px !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; border-radius:8px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn { display:flex !important; flex-direction:column !important; gap:0 !important; height:29px !important; min-height:29px !important; padding:1px 3px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:13px !important; height:13px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy { font-size:9px !important; line-height:1 !important; }
  body:not(.songbook-pwa-embed) { padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 375px) !important; margin-left:375px !important; padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage { left:375px !important; right:0 !important; top:0 !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { left:6px !important; top:132px !important; width:363px !important; max-width:363px !important; max-height:calc(100dvh - 140px) !important; }
}

/* Desktop navigation and workspace tabs v59. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    top:4px !important;
    left:6px !important;
    width:400px !important;
    height:78px !important;
    min-height:78px !important;
    padding:3px !important;
    gap:3px !important;
    border-radius:10px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    height:70px !important;
    min-height:70px !important;
    padding:5px 3px !important;
    flex-direction:column !important;
    gap:4px !important;
    border-radius:8px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg {
    width:20px !important;
    height:20px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy {
    font-size:10px !important;
    line-height:1 !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    top:88px !important;
    width:412px !important;
    height:130px !important;
    min-height:130px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:27px 27px 27px 27px !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username {
    grid-column:1 !important;
    grid-row:1 !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar {
    display:flex !important;
    position:static !important;
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:end !important;
    align-items:center !important;
    width:auto !important;
    height:25px !important;
    min-height:25px !important;
    max-height:25px !important;
    padding:0 !important;
    gap:2px !important;
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tab,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-refresh-all {
    flex:0 0 24px !important;
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    min-height:24px !important;
    padding:0 !important;
    border-radius:6px !important;
    font-size:10px !important;
  }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    top:228px !important;
    max-height:calc(100dvh - 234px) !important;
  }
}

/* Desktop 375px control rail and full-height content stage. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    width:375px !important; height:154px !important; min-height:154px !important;
    grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:28px !important;
    gap:4px !important; padding:5px 6px !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { min-height:28px !important; height:28px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    left:6px !important; top:92px !important; width:363px !important; right:auto !important;
    height:34px !important; min-height:34px !important; padding:2px !important;
    border-radius:8px !important; background:rgba(16,16,16,.96) !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    height:29px !important; min-height:29px !important; padding:1px 3px !important;
    flex-direction:column !important; gap:0 !important; font-size:10px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:13px !important; height:13px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy { font-size:9px !important; line-height:1 !important; }
  body:not(.songbook-pwa-embed) { padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 375px) !important; margin-left:375px !important; padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage { left:375px !important; top:0 !important; }

  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    left:6px !important; top:132px !important; width:363px !important; max-width:363px !important;
    max-height:calc(100dvh - 140px) !important;
  }
  body:not(.songbook-pwa-embed) .workspace-current-card > *,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid > * { max-width:none !important; width:auto; min-width:0; }
  body:not(.songbook-pwa-embed) .tv-view-nav-shell { display:none !important; }
  body:not(.songbook-pwa-embed) .project-switcher-select option { color:#f4ead9 !important; background:#1b1b1b !important; }

  body:not(.songbook-pwa-embed) .playlist-workspace-tabs {
    position:fixed !important; z-index:1100; left:381px; right:8px; top:4px;
    min-height:34px; padding:3px 5px; border:1px solid rgba(255,255,255,.08);
    border-radius:9px; background:rgba(18,18,18,.97); box-sizing:border-box;
  }
  body:not(.songbook-pwa-embed) .playlist-workspace .playlist-editor-shell { padding-top:42px; }
  body:not(.songbook-pwa-embed) .setlist-section-tabs { position:sticky; z-index:50; top:0; margin-top:0; background:#151515; }

  body:not(.songbook-pwa-embed) #tv-floating-live-tools {
    position:fixed !important; left:6px !important; right:auto !important; bottom:6px !important;
    width:363px !important; height:132px !important; min-height:132px !important;
    display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-template-rows:30px 30px 30px 30px !important; gap:3px !important;
    padding:4px !important; box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-floating-inline-group { grid-column:1 / -1; grid-row:1; justify-self:stretch; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-mode-icon-btn { grid-column:1; grid-row:3; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-notation-mode-btn { grid-column:2; grid-row:3; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-setlist-switch-controls { grid-column:3; grid-row:3; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-mobile-menu-return { grid-column:4; grid-row:3; }
  body:not(.songbook-pwa-embed) #tv-fine-autoscroll {
    position:fixed !important; z-index:3100; left:12px !important; right:auto !important;
    bottom:76px !important; width:351px !important; height:26px !important;
  }
  body:not(.songbook-pwa-embed) .tv-desktop-zoom-control {
    grid-column:1 / -1; grid-row:4; display:grid; grid-template-columns:38px minmax(0,1fr) 42px;
    align-items:center; gap:5px; color:rgba(255,255,255,.72); font-size:10px; font-weight:800;
  }
  body:not(.songbook-pwa-embed) .tv-desktop-zoom-control input { width:100%; accent-color:#67b6c7; }
  body:not(.songbook-pwa-embed) .tv-desktop-zoom-control output { text-align:right; }
}

.topbar-options-welcome { padding:7px 10px 4px; color:rgba(255,255,255,.55); font-size:.7rem; font-weight:800; }

/* Final desktop placement: both permanent bars share one physical row. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    top:0 !important;
    bottom:auto !important;
    left:0 !important;
    right:auto !important;
    width:38% !important;
    height:36px !important;
    min-height:36px !important;
    padding:2px 6px !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    border-radius:0 0 8px 0 !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    height:30px !important;
    min-height:30px !important;
    padding:1px 5px !important;
    gap:4px !important;
    overflow:hidden !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy {
    min-height:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg {
    width:15px !important;
    height:15px !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    top:0 !important;
    bottom:auto !important;
    left:38% !important;
    right:0 !important;
    width:62% !important;
    height:36px !important;
    min-height:36px !important;
    padding:2px 8px !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    border-radius:0 0 0 8px !important;
  }
  body:not(.songbook-pwa-embed) { padding-top:42px !important; }
  .songbook-pwa-tabs-stage { top:42px !important; }
}

.bookpage-root .bookpage-source-tabbar { width:100% !important; box-sizing:border-box; }
.bookpage-root .bookpage-source-tabbar #bookpage-deck-sort-field { flex:0 0 110px !important; width:110px !important; max-width:110px !important; }
.bookpage-root .bookpage-source-tabbar #bookpage-search-input { background:#242424; color:#f4f4f4; border:1px solid #ffffff26; }
.bookpage-root .bookpage-source-tabbar #bookpage-search-input:focus { outline:2px solid var(--accent-color, #c8943d); outline-offset:1px; }

/* Compact translucent live toolbar. */
.tv-floating-live-tools {
  left:6px !important;
  right:6px !important;
  width:auto !important;
  max-width:none !important;
  background:rgba(18,18,18,.56) !important;
  border-color:rgba(255,255,255,.07) !important;
  backdrop-filter:blur(8px) !important;
}
.tv-horizontal-scroll-shell {
  flex:1 1 200px;
  max-width:min(55vw,620px);
  margin-left:12px;
  margin-right:12px;
  padding-left:15px;
  padding-right:15px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.022),transparent);
}
.tv-horizontal-scroll { filter:saturate(.62); opacity:.84; }
.tv-horizontal-scroll-label { opacity:.72; }
.tv-mode-icon-btn { width:34px; min-width:34px !important; padding:0 !important; }
.tv-mode-icon-btn svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.tv-notation-mode-btn { display:inline-flex; align-items:center; justify-content:center; gap:2px; width:34px; min-width:34px !important; padding:0 5px !important; font-weight:800; text-transform:none !important; }
.tv-notation-mode-btn span + span { opacity:.68; }
.tv-floating-live-tools .tv-mobile-menu-return {
  right:0;
  flex-basis:34px !important;
  width:34px !important;
  min-width:34px !important;
  margin-left:10px !important;
  margin-right:-4px !important;
  border:1px solid rgba(222,169,75,.56) !important;
  background:rgba(31,27,21,.72) !important;
  color:#dbad59 !important;
  box-shadow:-10px 0 12px rgba(18,18,18,.76),inset 0 0 0 1px rgba(222,169,75,.08) !important;
}
.tv-floating-live-tools .tv-mobile-menu-return svg { stroke-width:2.25; }

/* PWA tabs now live inside the normal first application bar. */
@media (display-mode:standalone) {
  body { padding-top:42px !important; }
}
body.songbook-standalone-app { padding-top:42px !important; }
body.songbook-standalone-app.songbook-pwa-embed { padding-top:0 !important; }
body.songbook-standalone-app .topbar-shell {
  position:fixed !important;
  z-index:2500 !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:2px 8px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-bottom:1px solid rgba(214,164,78,.24) !important;
  border-radius:0 0 10px 10px !important;
  background:linear-gradient(180deg,rgba(29,29,31,.96),rgba(19,19,20,.94)) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(9px) !important;
}
.topbar-shell > .songbook-pwa-tabs-bar {
  position:static;
  inset:auto;
  z-index:auto;
  align-items:center;
  flex:0 0 auto;
  gap:3px;
  width:auto;
  min-width:80px;
  max-width:620px;
  height:31px;
  min-height:31px;
  padding:0;
  overflow-x:auto;
  overflow-y:hidden;
  border:0;
  background:transparent;
  box-shadow:none;
}
.topbar-shell > .songbook-pwa-tabs-bar .songbook-pwa-tab,
.topbar-shell > .songbook-pwa-tabs-bar .songbook-pwa-refresh-all {
  height:29px;
  min-height:29px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  padding:0 8px;
  background:rgba(255,255,255,.045);
}
.topbar-shell > .songbook-pwa-tabs-bar .songbook-pwa-tab {
  flex:0 0 31px;
  min-width:31px;
  max-width:31px;
  gap:4px;
  font-size:.68rem;
}
.topbar-options-shell { position:relative; flex:0 0 auto; margin-left:3px; }
.topbar-options-button { height:29px; padding:0 10px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:rgba(255,255,255,.045); color:#ddd; font:700 11px/1 sans-serif; }
.topbar-options-menu { position:absolute; z-index:3000; top:calc(100% + 6px); right:0; width:190px; padding:5px; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(20,20,20,.98); box-shadow:0 12px 30px #000a; }
.topbar-options-menu[hidden] { display:none !important; }
.topbar-options-item { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:36px; padding:7px 9px; border:0; border-radius:7px; background:transparent; color:#e8e8e8; text-align:left; text-decoration:none; font:500 12px/1.2 sans-serif; }
.topbar-options-item:hover { background:rgba(255,255,255,.07); }
.topbar-shell { overflow:visible !important; }
.topbar-options-menu { top:calc(100% + 4px); }
body:not(.songbook-pwa-embed) > .songbook-global-topbar { display:flex !important; visibility:visible !important; opacity:1 !important; }
body:not(.songbook-pwa-embed) > .songbook-global-topbar { position:fixed !important; z-index:2500 !important; top:0 !important; left:0 !important; right:0 !important; width:100% !important; height:36px !important; min-height:36px !important; margin:0 !important; padding:2px 8px !important; box-sizing:border-box !important; }
body:not(.songbook-pwa-embed) { padding-top:42px !important; }
body.songbook-pwa-iframe-tab-active > .songbook-global-topbar { display:flex !important; position:fixed !important; z-index:2600 !important; }
.topbar-search-shell { position:relative; flex:0 1 30ch !important; width:30ch !important; min-width:110px !important; height:28px !important; }
.topbar-search-shell .search-bar { width:100% !important; height:28px !important; min-height:28px !important; padding:3px 25px 3px 8px !important; font-size:11px !important; border-radius:8px !important; }
.topbar-search-shell .search-suggestions { top:calc(100% + 4px) !important; z-index:3100 !important; }
.topbar-search-shell .search-suggestions { width:min(420px,calc(100vw - 16px)) !important; max-height:300px !important; padding:5px !important; overflow-y:auto; border:1px solid rgba(255,255,255,.12) !important; border-radius:11px !important; background:rgba(22,22,24,.98) !important; box-shadow:0 14px 36px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.035) !important; backdrop-filter:blur(12px); }
.topbar-search-shell .search-suggestions:empty { display:none !important; }
.topbar-search-shell .search-suggestion-item { min-height:34px; padding:6px 9px !important; border:0 !important; border-radius:7px; color:rgba(255,255,255,.86); transition:background .1s ease,color .1s ease; }
.topbar-search-shell .search-suggestion-item + .search-suggestion-item { margin-top:2px; }
.topbar-search-shell .search-suggestion-item:hover, .topbar-search-shell .search-suggestion-item:active { background:rgba(211,162,75,.14) !important; color:#ffe2ad !important; }
.topbar-search-shell .search-song-info { color:inherit !important; font-size:12px !important; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topbar-search-shell .search-suggestions-empty { margin:0; padding:9px; color:rgba(255,255,255,.52); font:500 12px/1.2 sans-serif; }
.workspace-current-card { position:relative; padding:13px 14px 12px !important; }
.workspace-current-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.workspace-current-heading { min-width:0; text-align:left; }
.workspace-current-heading .tv-info-kicker { display:block; text-align:left; }
.workspace-current-name { margin-top:3px !important; font-size:calc(1rem - 3px) !important; line-height:1.2 !important; text-align:left; }
.workspace-load-create-btn { flex:0 0 auto; min-height:31px; padding:5px 12px !important; border-color:rgba(225,173,78,.62) !important; background:linear-gradient(180deg,rgba(221,169,73,.30),rgba(160,111,35,.22)) !important; color:#ffe0a5 !important; font-weight:800 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 12px rgba(0,0,0,.18); }
.workspace-action-row { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.workspace-action-row-primary { margin-top:10px; }
.workspace-action-row-secondary { margin-top:6px; }
.workspace-action-split { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:1px; }
.workspace-action-split .workspace-action-row { margin-top:6px; }
.workspace-action-row-open { justify-content:flex-end; margin-left:auto; }
.workspace-current-card-bottom { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:6px; margin-top:13px; padding-top:9px; border-top:1px solid rgba(255,255,255,.07); }
.workspace-add-section-btn { width:auto !important; min-width:auto !important; padding:0 10px !important; }
@media (max-width:620px) { .workspace-action-split { align-items:flex-start; flex-direction:column; } .workspace-action-row-open { margin-left:0; } }
.topbar-context-button, .topbar-context-select { flex:0 1 auto; height:28px; min-height:28px; border:1px solid rgba(255,255,255,.11); border-radius:8px; background:rgba(255,255,255,.04); color:#ddd; font:600 11px/1 sans-serif; }
.topbar-context-button { width:25ch; max-width:25ch; min-width:70px; padding:0 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.topbar-context-select { width:min(18ch,150px); max-width:150px; min-width:76px; padding:0 22px 0 7px; text-overflow:ellipsis; }
@media (max-width:700px) {
  .topbar-search-shell { flex-basis:18ch !important; width:18ch !important; }
  .topbar-context-button { width:13ch; max-width:13ch; }
  .topbar-context-select { width:12ch; max-width:12ch; }
}
.topbar-shell > .songbook-pwa-tabs-bar .songbook-pwa-tab.is-active {
  height:29px;
  border-color:rgba(214,164,78,.42);
  background:rgba(214,164,78,.10);
  box-shadow:inset 0 -2px 0 rgba(214,164,78,.48);
}
.topbar-shell > .songbook-pwa-tabs-bar .songbook-pwa-refresh-all {
  flex:0 0 29px;
  width:29px;
  padding:0;
}
.songbook-pwa-tabs-stage { top:42px; }
body.songbook-pwa-iframe-tab-active > .main-container { display:block !important; }
body.songbook-pwa-iframe-tab-active .topbar-shell { position:fixed !important; z-index:2500 !important; }
.song-change-notice { position:fixed; z-index:6000; left:50%; bottom:calc(62px + env(safe-area-inset-bottom,0px)); width:min(310px,calc(100vw - 24px)); transform:translateX(-50%); padding:11px 12px 9px; border:1px solid rgba(216,166,79,.45); border-radius:12px; background:rgba(20,20,20,.96); color:#f5f5f5; box-shadow:0 8px 28px #000a; }
.song-change-notice-row { display:flex; align-items:center; justify-content:space-between; gap:12px; font:700 13px/1.2 sans-serif; }
.song-change-cancel { border:0; border-radius:7px; padding:5px 9px; background:#ffffff14; color:#ddd; }
.song-change-progress { height:3px; margin-top:9px; overflow:hidden; border-radius:9px; background:#ffffff14; }
.song-change-progress::after { content:""; display:block; width:100%; height:100%; background:var(--accent-color,#c8943d); transform-origin:left; animation:song-change-countdown 7s linear forwards; }
@keyframes song-change-countdown { to { transform:scaleX(0); } }
.on-air-slave-focus-lens { position:fixed; z-index:1100; left:0; right:0; top:33.333vh; height:33.334vh; overflow:hidden; pointer-events:none; -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%); }
.on-air-slave-focus-lens-content { position:fixed !important; margin:0 !important; transform-origin:0 0; will-change:transform,top; color:inherit; background:var(--main-bg-color,#2e2e2e); }
.on-air-slave-page .on-air-slave-head,.on-air-slave-page .on-air-slave-source { display:none !important; }
.on-air-slave-stack { position:relative; height:calc(100dvh - 124px); min-height:420px; overflow:hidden !important; touch-action:none; }
.on-air-section-nav { display:flex; align-items:center; gap:5px; width:100%; height:38px; padding:3px 5px; overflow-x:auto; overflow-y:hidden; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(15,15,15,.88); box-sizing:border-box; scrollbar-width:thin; scrollbar-color:rgba(211,162,75,.45) transparent; }
.on-air-section-nav button { flex:0 0 auto; height:28px; min-width:54px; max-width:112px; padding:0 9px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:6px; background:rgba(255,255,255,.045); color:rgba(255,255,255,.78); font:700 11px/28px sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.on-air-section-nav button.is-active { border-color:rgba(211,162,75,.58); background:rgba(211,162,75,.18); color:#ffe0a6; }
.on-air-section-reader { display:grid; grid-template-rows:15% 57% 28%; justify-items:stretch; width:100%; max-width:100%; height:calc(100% - 43px); min-height:0; margin-top:5px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.018); user-select:none; box-sizing:border-box; }
.on-air-reader-pane { position:relative; left:0; width:100%; max-width:100%; min-width:0; min-height:0; overflow:hidden; padding:7px 12px; border-bottom:1px solid rgba(255,255,255,.07); box-sizing:border-box; transform:none; }
.on-air-reader-pane:last-child { border-bottom:0; }
.on-air-reader-pane.is-current { background:rgba(255,255,255,.095); box-shadow:inset 0 0 24px rgba(255,255,255,.025); }
.on-air-reader-pane h3 { height:20px; margin:0 0 3px; overflow:hidden; color:color-mix(in srgb,var(--accent-color,#ffc86d) 58%,#ddd); font:800 12px/20px sans-serif; letter-spacing:.035em; white-space:nowrap; text-overflow:ellipsis; text-align:center; }
.on-air-reader-pane pre { position:relative; left:0; width:100%; max-width:100%; min-width:0; height:calc(100% - 23px); margin:0; padding:0; overflow:hidden; color:#f1f1f1; font-family:'Roboto Mono',monospace; line-height:1.18; white-space:normal; overflow-wrap:normal; word-break:normal; text-align:center; box-sizing:border-box; transform:none; }
.on-air-reader-pane.is-current pre { display:flex; align-items:center; justify-content:center; }
.on-air-reader-text { display:block; width:100%; min-width:100%; text-align:center; box-sizing:border-box; }
.on-air-reader-line { display:block; width:max-content; min-width:100%; white-space:pre; text-align:center; }
.on-air-instrumental-cue { position:relative; display:inline-block; width:auto; min-width:0; padding:.35em 1.35em; overflow:visible; color:rgba(255,255,255,.9); font-family:sans-serif; font-style:italic; }
.on-air-instrumental-label { position:relative; z-index:2; }
.on-air-instrumental-note { position:absolute; z-index:1; color:color-mix(in srgb,var(--accent-color,#ffc86d) 72%,#fff); font-style:normal; opacity:0; pointer-events:none; animation:on-air-instrumental-note 2.8s ease-out infinite; }
.on-air-instrumental-note.note-1 { left:8%; top:42%; animation-delay:0s; }
.on-air-instrumental-note.note-2 { right:7%; top:48%; animation-delay:.65s; }
.on-air-instrumental-note.note-3 { left:28%; top:30%; animation-delay:1.3s; }
.on-air-instrumental-note.note-4 { right:25%; top:38%; animation-delay:1.95s; }
@keyframes on-air-instrumental-note { 0% { opacity:0; transform:translate(0,0) scale(.72) rotate(-8deg); } 18% { opacity:.9; } 72% { opacity:.65; } 100% { opacity:0; transform:translate(var(--note-drift,12px),-1.45em) scale(1.08) rotate(10deg); } }
.on-air-instrumental-note:nth-of-type(even) { --note-drift:-12px; }
@media (prefers-reduced-motion:reduce) { .on-air-instrumental-note { animation:none; opacity:.65; transform:translateY(-.85em); } }
.on-air-reader-pane.is-next { padding-bottom:30px; }
.on-air-reader-pane.is-next pre { color:#f1f1f1; }
.on-air-reader-pane:not(.is-current) { opacity:.65; }
.on-air-reader-pane.is-next { opacity:1; }
.on-air-reader-pane.is-empty { opacity:.18; }
body:has(.on-air-section-reader) { overflow:hidden !important; }
body:has(.on-air-section-reader) .tv-horizontal-scroll-shell { display:none !important; }
.on-air-slave-fullscreen-btn { position:fixed; z-index:1450; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(18,18,18,.78); color:rgba(255,255,255,.82); box-shadow:0 5px 18px rgba(0,0,0,.35); backdrop-filter:blur(7px); }
.on-air-slave-fullscreen-btn svg,.on-air-slave-display-mode-btn svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.on-air-slave-fullscreen-btn .fullscreen-collapse-icon { display:none; }
.on-air-slave-fullscreen-btn.is-exit .fullscreen-expand-icon { display:none; }
.on-air-slave-fullscreen-btn.is-exit .fullscreen-collapse-icon { display:block; }
.on-air-slave-display-mode-btn { position:fixed; z-index:1450; right:58px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(18,18,18,.78); color:rgba(255,255,255,.82); box-shadow:0 5px 18px rgba(0,0,0,.35); backdrop-filter:blur(7px); }
.on-air-slave-display-mode-btn .sections-mode-icon { display:none; }
.on-air-slave-display-mode-btn.is-continuous .continuous-mode-icon { display:none; }
.on-air-slave-display-mode-btn.is-continuous .sections-mode-icon { display:block; }
.on-air-continuous-reader { width:100%; height:100%; padding:18px 62px 90px 18px; overflow-x:hidden; overflow-y:auto; box-sizing:border-box; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.025); color:#f1f1f1; font-family:'Roboto Mono',monospace; line-height:1.28; text-align:center; overscroll-behavior:contain; touch-action:pan-y; -webkit-overflow-scrolling:touch; }
.on-air-continuous-line { display:block; min-height:1.28em; white-space:pre-wrap; overflow-wrap:anywhere; }
.on-air-continuous-line.is-section { margin:1.1em 0 .45em; color:color-mix(in srgb,var(--accent-color,#ffc86d) 64%,#eee); font-family:sans-serif; font-size:.72em; font-weight:800; letter-spacing:.035em; }
.on-air-continuous-line.is-instrumental { color:rgba(255,255,255,.78); font-size:.78em; font-style:italic; }
.on-air-continuous-controls { position:fixed; z-index:1460; right:12px; bottom:calc(58px + env(safe-area-inset-bottom,0px)); width:38px; height:190px; padding:5px 0; display:flex; flex-direction:column; align-items:center; gap:5px; border:1px solid rgba(255,255,255,.13); border-radius:19px; background:rgba(18,18,18,.78); box-shadow:0 5px 18px rgba(0,0,0,.35); backdrop-filter:blur(7px); box-sizing:border-box; }
.on-air-continuous-controls[hidden] { display:none !important; }
.on-air-continuous-controls button { flex:0 0 27px; width:27px; height:27px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#eee; font:700 18px/27px sans-serif; }
.on-air-continuous-controls input { flex:1 1 auto; width:24px; min-height:100px; margin:0; writing-mode:vertical-lr; direction:rtl; accent-color:var(--accent-color,#c8943d); touch-action:none; }
.on-air-slave-page.is-continuous-mode .on-air-section-reader { display:none; }
.on-air-slave-page.is-continuous-mode .on-air-section-nav { display:none; }
.on-air-slave-page.is-continuous-mode .on-air-continuous-reader { display:block; }
.on-air-slave-page.is-continuous-mode .on-air-slave-stack { overflow:hidden !important; touch-action:auto; }
.on-air-slave-page.is-app-fullscreen { position:fixed; z-index:5000; inset:0; width:100vw; height:100dvh; margin:0; padding:8px; box-sizing:border-box; background:var(--main-bg-color,#171717); }
.on-air-slave-page.is-app-fullscreen .on-air-slave-stack { width:100%; height:calc(100dvh - 16px); min-height:0; margin:0 !important; }
.on-air-slave-page.is-app-fullscreen .on-air-slave-fullscreen-btn { position:absolute; }
.on-air-slave-page.is-app-fullscreen .on-air-slave-display-mode-btn,.on-air-slave-page.is-app-fullscreen .on-air-continuous-controls { position:absolute; }
body.songbook-slave-fullscreen > .workspace-nav-strip,body.songbook-slave-fullscreen > .songbook-global-topbar { display:none !important; }
body.songbook-slave-fullscreen { padding:0 !important; overflow:hidden !important; }
body.songbook-slave-fullscreen > .songbook-pwa-tabs-stage { z-index:4900 !important; inset:0 !important; top:0 !important; width:100vw !important; height:100dvh !important; }

@media (min-width:701px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:0 !important; height:36px !important; min-height:36px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:38px !important; height:36px !important; min-height:36px !important; }
  body:not(.songbook-pwa-embed) { padding-top:80px !important; }
  .songbook-pwa-tabs-stage { top:80px !important; }
}
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:0 !important; left:0 !important; right:auto !important; width:38% !important; border-radius:0 0 9px 0 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:0 !important; left:38% !important; right:0 !important; width:62% !important; justify-content:flex-end !important; border-radius:0 0 0 9px !important; }
  body:not(.songbook-pwa-embed) { padding-top:42px !important; }
  .songbook-pwa-tabs-stage { top:42px !important; }
}

/* Current workspace refinements. */
.setlist-current-shell .workspace-current-name { font-size:calc(1rem - 1px) !important; }
.playlist-current-shell .workspace-current-name { margin-top:5px !important; }
.setlist-current-shell .workspace-action-row-primary .tv-btn,
.setlist-current-shell .workspace-current-card-bottom .tv-btn { min-height:26px !important; padding:3px 7px !important; font-size:.68rem !important; }
.setlist-current-shell .workspace-action-row-primary .tv-btn { border-radius:4px !important; }
.workspace-current-card-bottom { justify-content:space-between !important; }
.workspace-current-card-bottom-left,.workspace-current-card-bottom-right { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.playlist-current-card-bottom { margin-top:11px !important; padding-top:9px !important; border-top-color:rgba(255,255,255,.07) !important; }
.playlist-workspace-tabs .tv-btn.is-active { border-color:rgba(211,162,75,.58) !important; background:rgba(211,162,75,.18) !important; color:#ffe0a6 !important; }
.workspace-inline-editor { margin-top:8px; }
.workspace-inline-editor[hidden] { display:none !important; }
.workspace-inline-editor-panel.playlist-modal { position:static !important; inset:auto !important; z-index:auto !important; display:block; width:100%; height:auto; padding:0; background:none; backdrop-filter:none; }
.workspace-inline-editor-panel.playlist-hidden { display:none !important; }
.workspace-inline-editor-panel > .playlist-modal-content { width:100%; max-width:none; max-height:none; margin:0; border-radius:12px; box-sizing:border-box; }
#playlist-content-modal[data-inline-content-mode="add-manual"] .playlist-content-filter-field,
#playlist-content-modal[data-inline-content-mode="add-manual"] #playlist-content-list { display:none !important; }
#playlist-content-modal[data-inline-content-mode="filter"] .playlist-content-search-shell { display:none !important; }
#playlist-content-modal[data-inline-content-mode="filter"] .playlist-content-filter-field,
#playlist-content-modal[data-inline-content-mode="filter"] #playlist-content-list { display:block; }
.workspace-content-suspended { display:none !important; }
[data-setlist-workspace-tab].is-active { border-color:rgba(211,162,75,.58) !important; background:rgba(211,162,75,.18) !important; color:#ffe0a6 !important; }
.setlist-txt-inline-frame { display:block; width:100%; min-height:calc(100dvh - 190px); border:1px solid rgba(255,255,255,.09); border-radius:12px; background:#171717; }

/* Compact request sorting, placed directly before the request workspace. */
.requests-sort-controls-inline { display:flex; justify-content:flex-start; gap:4px; margin:5px 2px 3px; }
.requests-sort-controls-inline .requests-sort-btn { min-height:24px !important; padding:2px 7px !important; border-radius:6px !important; font-size:.66rem !important; }
.requests-card-topline { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.requests-page-shell:not([data-active-sort="requester"]) .requests-card-topline { width:100%; justify-content:flex-start; }
.requests-page-shell:not([data-active-sort="requester"]) .requests-card-primary-date { margin-right:auto; margin-left:0; text-align:left; }

/* Desktop workspace: context rail on the left, navigation and page content on the right. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    left:0 !important; right:auto !important; top:0 !important; width:250px !important;
    height:146px !important; min-height:146px !important; padding:6px !important;
    display:grid !important; grid-template-columns:minmax(0,1fr) auto; grid-auto-rows:30px;
    align-content:start; gap:5px; border-radius:0 0 10px 0 !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    left:250px !important; right:0 !important; top:0 !important; width:calc(100% - 250px) !important;
    height:42px !important; min-height:42px !important; border-radius:0 0 0 9px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    grid-template-columns:auto auto; grid-template-rows:1fr; align-items:center; justify-content:center; gap:6px;
    height:34px; min-height:34px; padding:2px 8px;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy,
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-meta { display:inline; line-height:1; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { order:1; width:100%; max-width:none; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { order:2; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { order:3; grid-column:1 / -1; width:100% !important; max-width:none !important; flex-basis:auto !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { order:4; grid-column:1 / -1; width:100%; max-width:none; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { order:5; grid-column:1 / -1; width:100%; justify-content:flex-start; }
  body:not(.songbook-pwa-embed) { padding-top:46px !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 250px) !important; margin-left:250px !important; }
  body:not(.songbook-pwa-embed) > .main-container .content-container,
  body:not(.songbook-pwa-embed) > .main-container .right-panel { width:100% !important; max-width:none !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    position:fixed; z-index:900; left:6px; top:154px; width:238px; max-height:calc(100dvh - 160px);
    margin:0 !important; overflow:auto; box-sizing:border-box;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { display:grid; grid-template-columns:1fr; gap:7px; }
}
.requests-card-primary-date { color:rgba(255,255,255,.62); font-size:.69rem; line-height:1; white-space:nowrap; }
.requests-page-shell:not([data-active-sort="requester"]) .req-detail-main { align-items:flex-start; }
.requests-page-shell:not([data-active-sort="requester"]) .req-detail-head { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.requests-page-shell:not([data-active-sort="requester"]) .req-requester-inline { display:block; color:rgba(255,255,255,.48); font-size:.68rem; }
.requests-page-shell:not([data-active-sort="requester"]) .req-detail-row .req-date { display:none; }
.request-setlist-row { grid-template-columns:24px 24px minmax(0,1fr) 25px !important; }
.request-setlist-version-select { grid-column:3 !important; }
.request-setlist-remove-btn { grid-column:4; grid-row:1; width:25px; height:25px; padding:0; border:1px solid rgba(255,255,255,.11); border-radius:6px; background:rgba(255,255,255,.045); color:rgba(255,255,255,.66); font:700 17px/1 sans-serif; }

/* The main menu is a permanent first bar; the context bar stays immediately below it. */
body:not(.songbook-pwa-embed) .workspace-nav-strip { position:fixed !important; z-index:2550 !important; top:0 !important; bottom:auto !important; left:0 !important; right:0 !important; width:100% !important; height:36px !important; min-height:36px !important; margin:0 !important; padding:2px 8px !important; display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; border-radius:0 0 9px 9px !important; box-sizing:border-box !important; }
body:not(.songbook-pwa-embed) .workspace-nav-strip .header-nav-btn { min-height:30px !important; height:30px !important; padding:1px 7px !important; }
body:not(.songbook-pwa-embed) .workspace-nav-strip .workspace-nav-icon { display:flex !important; }
body:not(.songbook-pwa-embed) .workspace-nav-strip .workspace-nav-icon svg { width:17px; height:17px; }
body:not(.songbook-pwa-embed) .workspace-nav-strip .header-nav-btn-meta { display:none !important; }
body:not(.songbook-pwa-embed) .workspace-nav-strip .header-nav-btn { flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:5px !important; }
body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:36px !important; justify-content:center !important; }
body:not(.songbook-pwa-embed) { padding-top:78px !important; }
.songbook-pwa-tabs-stage { top:78px !important; }
.songbook-pwa-embed .workspace-nav-strip { display:none !important; }

/* Same controls, 20% shorter, across normal, setlist and slave toolbars. */
.tv-floating-live-tools { padding-top:4px !important; padding-bottom:4px !important; border-radius:14px !important; }
.tv-floating-live-box,.tv-floating-control-chip { min-height:29px !important; height:29px !important; }
.tv-floating-stepper { min-height:25px !important; height:25px !important; }
.tv-horizontal-scroll-control { height:23px !important; }
.tv-horizontal-scroll { height:22px !important; }
.tv-horizontal-scroll:disabled { filter:grayscale(1) saturate(0) !important; opacity:.38 !important; }
.tv-horizontal-scroll:not(:disabled) { filter:saturate(.45) brightness(.92) !important; opacity:.74 !important; }
.tv-horizontal-scroll:active { filter:saturate(.75) brightness(1.12) !important; opacity:1 !important; }

@media (max-width:560px), (hover:none) and (pointer:coarse) and (min-width:561px) {
  body.tab-navigation-open .main-container.tabviewer-live-mode .workspace-nav-strip {
    left:auto !important;
    right:8px !important;
    bottom:calc(50px + env(safe-area-inset-bottom,0px)) !important;
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:4px !important;
    width:min(225px,calc(100vw - 16px)) !important;
    height:auto !important;
    max-height:calc(100vh - 68px);
    padding:6px !important;
    border-radius:13px !important;
    box-shadow:0 -12px 30px rgba(0,0,0,.56) !important;
  }
  body.tab-navigation-open .workspace-nav-strip .header-nav-btn {
    flex-direction:row !important;
    justify-content:flex-start !important;
    gap:9px !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    padding:4px 10px !important;
  }
  body.tab-navigation-open .workspace-nav-strip .workspace-nav-icon svg { width:20px; height:20px; }
  body.tab-navigation-open .workspace-nav-strip .header-nav-btn-copy { font-size:11px !important; line-height:1 !important; }
  .tv-horizontal-scroll-shell { max-width:55vw; margin-left:7px; margin-right:7px; padding-left:11px; padding-right:11px; }
}

/* Desktop override kept last so no legacy navigation rule can split the row. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    top:0 !important; bottom:auto !important; left:0 !important; right:auto !important;
    width:38% !important; height:36px !important; min-height:36px !important;
    padding:2px 6px !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    border-radius:0 0 8px 0 !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    height:30px !important; min-height:30px !important; padding:1px 5px !important;
    gap:4px !important; overflow:hidden !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy {
    min-height:0 !important; font-size:12px !important; line-height:1 !important; white-space:nowrap !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:15px !important; height:15px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    top:0 !important; bottom:auto !important; left:38% !important; right:0 !important;
    width:62% !important; height:36px !important; min-height:36px !important;
    padding:2px 8px !important; justify-content:flex-end !important; flex-wrap:nowrap !important;
    border-radius:0 0 0 8px !important;
  }
  body:not(.songbook-pwa-embed) { padding-top:42px !important; }
  .songbook-pwa-tabs-stage { top:42px !important; }
}
.songbook-startup-curtain {
  position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center;
  background: #0c0c0c; opacity: 1; visibility: visible;
}
.songbook-startup-curtain.is-complete { display:none; }
.songbook-startup-curtain-card { width: min(310px,calc(100vw - 40px)); color: #f4ead9; font: 600 13px/1.3 sans-serif; text-align: center; }
.songbook-startup-curtain-brand { margin-bottom:7px; color:var(--accent-color,#c8943d); font-size:11px; font-weight:800; letter-spacing:.18em; }
.songbook-startup-curtain-title { color:#d8d2c9; }
.songbook-startup-curtain-track { height: 3px; margin-top: 15px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.09); }
.songbook-startup-curtain-track span { display: block; width: 8%; height: 100%; border-radius: inherit; background: var(--accent-color,#c8943d); animation: songbook-startup-progress 12s cubic-bezier(.12,.55,.28,.96) forwards; }
.songbook-startup-curtain.is-complete .songbook-startup-curtain-track span { width: 100%; animation: none; transition: width .15s ease; }
@keyframes songbook-startup-progress { from { width: 8%; } to { width: 92%; } }

/* Final desktop rail rules. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { left:0 !important; right:auto !important; top:0 !important; width:375px !important; height:146px !important; min-height:146px !important; padding:6px !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:30px; align-content:start !important; justify-content:stretch !important; gap:5px !important; flex-wrap:initial !important; border-radius:0 0 10px 0 !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { left:375px !important; right:0 !important; top:0 !important; width:calc(100% - 375px) !important; height:42px !important; min-height:42px !important; padding:3px 8px !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; border-radius:0 0 0 9px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:6px !important; height:34px !important; min-height:34px !important; padding:2px 8px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-meta { display:none !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { order:1; width:100%; max-width:none; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { order:2; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { order:3; grid-column:1 / -1; width:100% !important; max-width:none !important; flex-basis:auto !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { order:4; grid-column:1 / -1; width:100%; max-width:none; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { order:5; grid-column:1 / -1; width:100%; justify-content:flex-start; }
  body:not(.songbook-pwa-embed) { padding-top:46px !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 375px) !important; margin-left:375px !important; }
  body:not(.songbook-pwa-embed) > .main-container .content-container, body:not(.songbook-pwa-embed) > .main-container .right-panel { width:100% !important; max-width:none !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card, body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { position:fixed; z-index:900; left:6px; top:154px; width:238px; max-height:calc(100dvh - 160px); margin:0 !important; overflow:auto; box-sizing:border-box; }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { display:grid; grid-template-columns:1fr; gap:7px; }
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage { left:375px !important; right:0 !important; width:auto !important; top:42px !important; }
}

/* Desktop rail layout v53. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { left:0 !important; right:auto !important; top:0 !important; width:375px !important; height:154px !important; min-height:154px !important; padding:5px 6px !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:28px !important; align-content:start !important; gap:4px !important; border-radius:0 0 10px 0 !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { left:6px !important; right:auto !important; top:92px !important; width:363px !important; height:34px !important; min-height:34px !important; padding:2px !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; border-radius:8px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn { display:flex !important; flex-direction:column !important; gap:0 !important; height:29px !important; min-height:29px !important; padding:1px 3px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:13px !important; height:13px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy { font-size:9px !important; line-height:1 !important; }
  body:not(.songbook-pwa-embed) { padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 375px) !important; margin-left:375px !important; padding-top:0 !important; }
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage { left:375px !important; right:0 !important; top:0 !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { left:6px !important; top:132px !important; width:363px !important; max-width:363px !important; max-height:calc(100dvh - 140px) !important; }
}

/* Desktop rail layout v54. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { z-index:4000 !important; width:412px !important; height:160px !important; min-height:160px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:27px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-welcome { display:flex; order:1; align-items:center; min-width:0; padding:0 7px; color:rgba(255,255,255,.72); font-size:11px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { order:2 !important; z-index:5000 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { order:3 !important; grid-column:1 / -1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { order:4 !important; grid-column:1 / -1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { order:5 !important; grid-column:1 / -1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { order:6 !important; grid-column:1 / -1 !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { left:6px !important; top:124px !important; width:400px !important; }
  body:not(.songbook-pwa-embed) > .main-container { width:calc(100% - 412px) !important; margin-left:412px !important; }
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage { left:412px !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { left:6px !important; top:164px !important; width:400px !important; max-width:400px !important; }
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid { top:304px !important; max-height:calc(100dvh - 310px) !important; }
}
.topbar-desktop-welcome { display:none; }

/* Desktop rail layout v55. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { width:412px !important; height:128px !important; min-height:128px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-auto-rows:27px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { order:1 !important; grid-column:2; grid-row:1; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { order:2 !important; grid-column:1 / -1 !important; grid-row:2; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { order:3 !important; grid-column:1 / -1 !important; grid-row:3; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { order:4 !important; grid-column:1 / -1 !important; grid-row:4; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { display:none !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:130px !important; width:400px !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { top:168px !important; }
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid { top:168px !important; }
}

/* Desktop rail order v56. */
.topbar-desktop-username { display:none; }
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:0 !important; left:6px !important; width:400px !important; z-index:4100 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:36px !important; width:412px !important; height:130px !important; min-height:130px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:27px 27px 27px 27px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username { display:flex; grid-column:1; grid-row:1; align-items:center; padding:0 7px; color:rgba(255,255,255,.82); font-size:11px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { grid-column:1 / -1 !important; grid-row:2 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { grid-column:1 / -1 !important; grid-row:3 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { grid-column:1 !important; grid-row:4 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { grid-column:2 !important; grid-row:4 !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { top:176px !important; }
}

/* Final desktop navigation v59. Keep this after the legacy desktop layers. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:4px !important; left:6px !important; width:400px !important; height:78px !important; min-height:78px !important; padding:3px !important; gap:3px !important; border-radius:10px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn { height:70px !important; min-height:70px !important; padding:5px 3px !important; flex-direction:column !important; gap:4px !important; border-radius:8px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:20px !important; height:20px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn-copy { font-size:10px !important; line-height:1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:88px !important; width:412px !important; height:130px !important; min-height:130px !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:27px 27px 27px 27px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username { display:flex !important; grid-column:1 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { display:flex !important; position:static !important; grid-column:2 !important; grid-row:1 !important; align-self:center !important; justify-self:end !important; align-items:center !important; width:auto !important; height:25px !important; min-height:25px !important; max-height:25px !important; padding:0 !important; gap:2px !important; overflow:visible !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tab,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-refresh-all { flex:0 0 24px !important; width:24px !important; min-width:24px !important; height:24px !important; min-height:24px !important; padding:0 !important; border-radius:6px !important; font-size:10px !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { top:228px !important; max-height:calc(100dvh - 234px) !important; }
}

/* Desktop vertical stack v61: identity, menu, context, then rail content. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    top:0 !important;
    height:198px !important;
    min-height:198px !important;
    padding:4px 6px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:27px 64px 27px 27px 27px !important;
    gap:4px !important;
    border-radius:0 0 10px 0 !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username { grid-column:1 !important; grid-row:1 !important; padding-left:5px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { grid-column:2 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { grid-column:1 / -1 !important; grid-row:3 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { grid-column:1 / -1 !important; grid-row:4 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { grid-column:1 !important; grid-row:5 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { grid-column:2 !important; grid-row:5 !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip {
    top:35px !important;
    height:60px !important;
    min-height:60px !important;
    padding:3px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn {
    height:52px !important;
    min-height:52px !important;
    padding:3px !important;
    gap:2px !important;
  }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:18px !important; height:18px !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    top:206px !important;
    max-height:calc(100dvh - 212px) !important;
  }
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid { top:206px !important; }
}

/* Final compact desktop header v62. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    height:166px !important;
    min-height:166px !important;
    grid-template-columns:minmax(64px,1fr) minmax(105px,20ch) auto auto !important;
    grid-template-rows:27px 64px 27px 27px !important;
    gap:4px !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username { grid-column:1 !important; grid-row:1 !important; min-width:0 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { grid-column:2 !important; grid-row:1 !important; width:100% !important; max-width:20ch !important; min-width:0 !important; height:25px !important; padding:2px 6px !important; font-size:10px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { grid-column:3 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { grid-column:4 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-button { height:25px !important; min-height:25px !important; padding:2px 7px !important; font-size:10px !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { grid-column:1 / -1 !important; grid-row:3 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { grid-column:1 / -1 !important; grid-row:4 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-refresh-all { display:none !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tab { display:flex !important; align-items:center !important; justify-content:center !important; flex:0 0 22px !important; width:22px !important; min-width:22px !important; height:22px !important; min-height:22px !important; padding:0 !important; line-height:22px !important; text-align:center !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tab-label { display:block; width:100%; margin:0; padding:0; line-height:20px !important; text-align:center; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { top:174px !important; max-height:calc(100dvh - 180px) !important; }
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid { top:174px !important; }
}

.topbar-about-button { display:none; }

/* Desktop header order v63. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    height:180px !important;
    min-height:180px !important;
    grid-template-columns:minmax(74px,1fr) auto minmax(104px,20ch) !important;
    grid-template-rows:25px 25px 27px 27px 54px !important;
    gap:4px !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-about-button {
    display:flex !important;
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    justify-self:start;
    align-items:center;
    gap:5px;
    min-width:0;
    height:25px;
    padding:2px 6px;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.77);
    font:800 10px/1 sans-serif;
    cursor:pointer;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-about-button span { color:var(--songbook-accent,#d3a24b); font-size:13px; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell { grid-column:3 !important; grid-row:1 !important; justify-self:end !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-desktop-username { grid-column:1 !important; grid-row:2 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { grid-column:2 !important; grid-row:2 !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { grid-column:3 !important; grid-row:2 !important; max-width:20ch !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-search-shell { grid-column:1 / -1 !important; grid-row:3 !important; border-color:rgba(var(--songbook-accent-rgb),.34) !important; box-shadow:0 0 0 1px rgba(var(--songbook-accent-rgb),.07),0 0 12px rgba(var(--songbook-accent-rgb),.08) !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { grid-column:1 / -1 !important; grid-row:4 !important; display:flex !important; align-items:center !important; gap:7px !important; text-align:left !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button::before { content:"♫"; flex:0 0 auto; color:var(--songbook-accent,#d3a24b); font-size:13px; line-height:1; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:124px !important; height:52px !important; min-height:52px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .header-nav-btn { height:44px !important; min-height:44px !important; padding:2px 3px !important; }
  body:not(.songbook-pwa-embed) > .workspace-nav-strip .workspace-nav-icon svg { width:16px !important; height:16px !important; }
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid { top:188px !important; max-height:calc(100dvh - 194px) !important; }
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid { top:188px !important; }
}

/* Keep the Options dropdown above every desktop rail and page layer. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    z-index:12000 !important;
    overflow:visible !important;
    isolation:auto !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-shell {
    z-index:12010 !important;
    overflow:visible !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-menu {
    z-index:12020 !important;
  }
}

/* Right-align desktop workspace tabs and current project. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar {
    grid-template-columns:minmax(60px,1fr) max-content max-content !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select {
    justify-self:end !important;
  }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .songbook-pwa-tabs-bar { margin-left:auto !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { width:min(20ch,140px) !important; }
}

/* Let the menu receive clicks through the empty area of the fixed topbar. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-global-topbar { pointer-events:none !important; }
  body:not(.songbook-pwa-embed) > .songbook-global-topbar > *,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-menu,
  body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-options-menu * { pointer-events:auto !important; }
}

/* Desktop overlays stay inside the right workspace, clear of the 412px rail. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) .playlist-modal {
    left:412px !important;
    right:0 !important;
    width:auto !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  body .playlist-modal > .setlist-library-modal-content,
  body .playlist-modal > .playlist-library-modal-content-modern {
    width:calc(100% - 28px) !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  /* In Tabs setlist mode, keep the setlist/current-song panel in the left rail. */
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:fixed !important;
    z-index:905 !important;
    left:6px !important;
    top:188px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:calc(100dvh - 300px) !important;
    margin:0 !important;
    overflow:auto !important;
    box-sizing:border-box !important;
  }
}

/* Compact desktop Setlist library, aligned below the page heading. */
@media (min-width:1101px) {
  #setlist-library-modal.playlist-modal {
    top:70px !important;
    height:calc(100dvh - 70px) !important;
    max-height:calc(100dvh - 70px) !important;
    padding:10px 14px 14px !important;
    align-items:flex-start !important;
    background:rgba(10,10,10,.58) !important;
    backdrop-filter:blur(4px) !important;
  }
  #setlist-library-modal > .setlist-library-modal-content {
    width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 94px) !important;
    padding:12px 14px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:12px !important;
    background:#202020 !important;
    box-shadow:0 14px 36px rgba(0,0,0,.34) !important;
    font-size:.8rem !important;
  }
  #setlist-library-modal .playlist-panel-head {
    min-height:34px !important;
    margin:0 0 9px !important;
    padding:0 0 8px !important;
    align-items:center !important;
    border-bottom:1px solid rgba(255,255,255,.09) !important;
  }
  #setlist-library-modal .playlist-modal-title {
    margin:0 0 2px !important;
    font-size:1rem !important;
    line-height:1.1 !important;
  }
  #setlist-library-modal .playlist-panel-note {
    margin:0 !important;
    font-size:.7rem !important;
    line-height:1.25 !important;
    color:rgba(255,255,255,.58) !important;
  }
  #setlist-library-modal .playlist-panel-head > .btn-pages {
    min-height:28px !important;
    height:28px !important;
    padding:2px 10px !important;
    border-radius:7px !important;
    font-size:.7rem !important;
  }
  #setlist-library-modal .playlist-library-toolbar {
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    margin:0 0 8px !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #setlist-library-modal .setlist-inline-search-box { margin:0 !important; }
  #setlist-library-modal #setlist-search-input {
    min-height:32px !important;
    height:32px !important;
    padding:3px 10px !important;
    border-radius:7px !important;
    font-size:.75rem !important;
  }
  #setlist-library-modal .playlist-library-quick-create {
    min-height:32px !important;
    height:32px !important;
    padding:2px 11px !important;
    border-radius:7px !important;
    font-size:.72rem !important;
  }
  #setlist-library-modal .playlist-library-tag-filters {
    gap:5px !important;
    margin:7px 0 9px !important;
    padding:0 2px !important;
  }
  #setlist-library-modal .playlist-library-tag-filter-head {
    font-size:.68rem !important;
  }
  #setlist-library-modal .playlist-library-tag-filter-list { gap:5px !important; }
  #setlist-library-modal .setlist-tag-chip {
    min-height:25px !important;
    height:25px !important;
    padding:2px 9px !important;
    border-radius:7px !important;
    font-size:.68rem !important;
  }
  #setlist-library-modal .playlist-library-tag-count { margin-left:3px !important; font-size:.62rem !important; }
  #setlist-library-modal .playlist-library-list { gap:5px !important; }
  #setlist-library-modal .setlist-library-section {
    margin:8px 0 2px !important;
    padding:0 2px !important;
    font-size:.66rem !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }
  #setlist-library-modal .playlist-library-item {
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    min-height:0 !important;
    padding:7px 10px !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #setlist-library-modal .setlist-library-mainline-block { gap:2px !important; }
  #setlist-library-modal .playlist-library-mainline-title { font-size:.78rem !important; line-height:1.15 !important; }
  #setlist-library-modal .playlist-library-mainline-meta,
  #setlist-library-modal .playlist-library-mainline-count { font-size:.66rem !important; line-height:1.15 !important; }
}

/* Authoritative desktop rail placement. Keep this block last. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    position:fixed !important;
    z-index:900 !important;
    left:6px !important;
    right:auto !important;
    top:188px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:calc(100dvh - 300px) !important;
    margin:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:7px !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools {
    position:fixed !important;
    z-index:1300 !important;
    left:6px !important;
    right:auto !important;
    top:auto !important;
    bottom:6px !important;
    width:400px !important;
    max-width:400px !important;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:fixed !important;
    z-index:905 !important;
    left:6px !important;
    right:auto !important;
    top:188px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:calc(100dvh - 300px) !important;
    margin:0 !important;
  }
}

/* Desktop internal tabs use an iframe. Preserve the same left rail contract
   inside every slot: summaries and live tools on the left, tab content right. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .songbook-pwa-tabs-stage {
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
  }

  body.songbook-pwa-embed {
    padding:0 !important;
    overflow-x:hidden !important;
  }
  body.songbook-pwa-embed > .main-container {
    width:calc(100% - 412px) !important;
    max-width:none !important;
    margin:0 0 0 412px !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .content-container,
  body.songbook-pwa-embed .right-panel,
  body.songbook-pwa-embed #dynamic-content-right {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .desktop-page-heading { left:420px !important; }
  body.songbook-pwa-embed .playlist-workspace-tabs { left:420px !important; }

  body.songbook-pwa-embed .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:fixed !important;
    z-index:900 !important;
    left:6px !important;
    right:auto !important;
    top:228px !important;
    width:400px !important;
    max-width:400px !important;
    max-height:calc(100dvh - 338px) !important;
    margin:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:7px !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools {
    position:fixed !important;
    z-index:1300 !important;
    left:6px !important;
    right:auto !important;
    top:auto !important;
    bottom:6px !important;
    width:400px !important;
    max-width:400px !important;
    height:98px !important;
    min-height:98px !important;
    grid-template-columns:minmax(0,1fr) 32px 32px minmax(0,1fr) !important;
    grid-template-rows:28px 28px 28px !important;
    padding:4px 6px !important;
    gap:2px 5px !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-floating-inline-group { grid-column:1; grid-row:1; }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-mode-icon-btn { grid-column:2; grid-row:1; }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-notation-mode-btn { grid-column:3; grid-row:1; }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-setlist-switch-controls { grid-column:4; grid-row:1; justify-self:end; }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-mobile-menu-return { display:none !important; }
  body.songbook-pwa-embed .tv-desktop-autoscroll-control { grid-column:1 / -1; grid-row:2; display:flex !important; }
  body.songbook-pwa-embed .tv-desktop-zoom-control { grid-column:1 / -1; grid-row:3; }
  body.songbook-pwa-embed #tv-fine-autoscroll,
  body.songbook-pwa-embed .tv-navigation-autoscroll-control { display:none !important; }
}

/* Clean desktop Tabs rail. All left-rail elements share one geometry and the
   right tab pane never paints over them. */
@media (min-width:1101px) {
  :root { --songbook-desktop-rail:412px; --songbook-desktop-rail-inner:400px; }

  body.songbook-pwa-embed .tv-view-nav-shell,
  body.songbook-pwa-embed #tabviewer-return-top { display:none !important; }

  body.songbook-pwa-embed .tabviewer-page-shell {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:8px !important;
    padding-right:8px !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    top:228px !important;
    bottom:112px !important;
    width:var(--songbook-desktop-rail-inner) !important;
    max-width:var(--songbook-desktop-rail-inner) !important;
    max-height:none !important;
    padding-right:2px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid > *,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell > * {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell .tv-card {
    padding:10px 12px !important;
    border-radius:12px !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell .tv-song-title,
  body.songbook-pwa-embed .tabviewer-page-shell .tv-current-tab-info-title {
    font-size:1rem !important;
    line-height:1.16 !important;
    overflow-wrap:anywhere !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell .tv-btn {
    min-height:24px !important;
    height:auto !important;
    padding:3px 7px !important;
    font-size:.62rem !important;
    line-height:1 !important;
  }

  body.songbook-pwa-embed #tv-floating-live-tools {
    display:grid !important;
    left:6px !important;
    right:auto !important;
    bottom:6px !important;
    width:var(--songbook-desktop-rail-inner) !important;
    max-width:var(--songbook-desktop-rail-inner) !important;
    height:100px !important;
    min-height:100px !important;
    grid-template-columns:minmax(0,1fr) 30px 30px minmax(62px,auto) !important;
    grid-template-rows:28px 28px 28px !important;
    align-items:center !important;
    gap:3px 6px !important;
    padding:5px 7px !important;
    overflow:hidden !important;
    touch-action:auto !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-floating-inline-group:first-child {
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    gap:3px !important;
    overflow:hidden !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools #tv-floating-tempo-group { display:none !important; }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-floating-inline-label { display:none !important; }
  body.songbook-pwa-embed #tv-floating-live-tools #tab-key-chip {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:2px 3px !important;
    gap:2px !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-floating-stepper {
    flex:0 0 44px !important;
    width:44px !important;
    min-width:44px !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-mode-icon-btn,
  body.songbook-pwa-embed #tv-floating-live-tools .tv-notation-mode-btn {
    width:30px !important;
    min-width:30px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 !important;
    margin:0 !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-setlist-switch-controls {
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools .tv-setlist-switch-btn {
    width:29px !important;
    min-width:29px !important;
    height:27px !important;
    min-height:27px !important;
    padding:0 !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-desktop-autoscroll-control {
    display:flex !important;
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 5px !important;
    border:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-desktop-zoom-control {
    display:grid !important;
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    grid-template-columns:42px minmax(0,1fr) 44px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    align-items:center !important;
    gap:5px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    color:rgba(255,255,255,.75) !important;
    font-size:10px !important;
    font-weight:800 !important;
  }
  body.songbook-pwa-embed #tv-floating-live-tools input[type="range"] {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* Authoritative desktop-only page cleanup; keep last. */
@media (min-width:1101px) {
  /* Tabs setlist navigation stays inside the left setlist card. */
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-name-sections-row {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:5px !important;
    overflow:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs {
    position:static !important;
    display:flex !important;
    order:3 !important;
    flex:1 1 100% !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:26px !important;
    margin:3px 0 0 !important;
    padding:2px 0 0 !important;
    gap:4px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs[hidden] { display:none !important; }
  .tabviewer-page-shell.setlist-mode-active #tv-setlist-section-tabs .tv-setlist-section-tab {
    flex:0 0 auto !important;
    height:23px !important;
    min-height:23px !important;
    padding:2px 8px !important;
    border-radius:6px !important;
    font-size:.6rem !important;
  }
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    overflow:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open {
    position:absolute !important;
    z-index:30 !important;
    left:0 !important;
    right:0 !important;
    top:calc(100% - 6px) !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:min(48vh,360px) !important;
    padding:0 10px 10px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    border-radius:0 0 12px 12px !important;
  }

  /* Request sorting is a local tab row directly below TO PLAY. */
  .requests-stream-shell > .requests-sort-controls-inline {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:3px !important;
    width:100% !important;
    min-height:29px !important;
    margin:3px 0 8px !important;
    padding:2px 4px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:8px !important;
    background:#181818 !important;
    box-sizing:border-box !important;
  }
  .requests-stream-shell > .requests-sort-controls-inline .requests-sort-btn {
    height:23px !important;
    min-height:23px !important;
    margin:0 !important;
    padding:2px 8px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:6px !important;
    background:rgba(255,255,255,.035) !important;
    color:rgba(255,255,255,.7) !important;
    font-size:.6rem !important;
    font-weight:800 !important;
    line-height:1 !important;
    cursor:pointer !important;
  }
  .requests-stream-shell > .requests-sort-controls-inline .requests-sort-btn.active {
    border-color:rgba(var(--songbook-accent-rgb),.55) !important;
    background:rgba(var(--songbook-accent-rgb),.14) !important;
    color:#f3dfbd !important;
  }

  /* Match the restrained Books/Profile palette on the three editor pages. */
  .playlist-workspace,
  .setlist-workspace,
  .requests-page-shell {
    background:#202020 !important;
  }
  .playlist-workspace .playlist-shell,
  .setlist-workspace .playlist-shell,
  .playlist-workspace .playlist-panel,
  .setlist-workspace .playlist-panel,
  .playlist-workspace .workspace-current-card,
  .setlist-workspace .workspace-current-card,
  .requests-page-shell .requests-shell-card {
    border-color:rgba(255,255,255,.10) !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
  }
  .requests-page-shell .requests-tab-panel,
  .requests-page-shell .requests-stream-shell {
    background:#202020 !important;
  }
  .playlist-workspace .playlist-editor-shell,
  .setlist-workspace .playlist-editor-shell,
  .requests-page-shell .requests-workspace-grid {
    background:#202020 !important;
  }
}

/* Desktop Setlist library belongs exclusively to the right workspace. */
@media (min-width:1101px) {
  .setlist-workspace.setlist-library-open #setlist-section-tabs {
    display:none !important;
  }
  #setlist-library-modal.playlist-modal:not(.playlist-hidden) {
    display:flex !important;
    position:fixed !important;
    z-index:1500 !important;
    left:420px !important;
    right:8px !important;
    top:104px !important;
    bottom:8px !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:8px !important;
    align-items:flex-start !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:12px !important;
    background:#202020 !important;
    backdrop-filter:none !important;
    box-sizing:border-box !important;
  }
  #setlist-library-modal.playlist-modal:not(.playlist-hidden) > .setlist-library-modal-content {
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:10px 12px !important;
    overflow-y:auto !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:10px !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }

  .playlist-workspace.playlist-library-open .playlist-workspace-tabs { display:none !important; }
  #playlist-library-modal.playlist-modal:not(.playlist-hidden) {
    display:flex !important;
    position:fixed !important;
    z-index:1500 !important;
    left:420px !important;
    right:8px !important;
    top:104px !important;
    bottom:8px !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:8px !important;
    align-items:flex-start !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:12px !important;
    background:#202020 !important;
    backdrop-filter:none !important;
    box-sizing:border-box !important;
  }
  #playlist-library-modal.playlist-modal:not(.playlist-hidden) > .playlist-library-modal-content-modern {
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:10px 12px !important;
    overflow-y:auto !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:10px !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
}


/* Authoritative shared Load/Create styling; keep last. */
@media (min-width:1101px) {
  #playlist-library-modal,
  #setlist-library-modal { isolation:isolate !important; }
  #playlist-library-modal .playlist-panel-head,
  #setlist-library-modal .playlist-panel-head {
    min-height:34px !important;
    margin:0 0 9px !important;
    padding:0 0 8px !important;
    align-items:center !important;
    border-bottom:1px solid rgba(255,255,255,.09) !important;
  }
  #playlist-library-modal .playlist-modal-title,
  #setlist-library-modal .playlist-modal-title {
    margin:0 0 2px !important;
    font-size:1rem !important;
    line-height:1.1 !important;
  }
  #playlist-library-modal .playlist-panel-note,
  #setlist-library-modal .playlist-panel-note {
    margin:0 !important;
    color:rgba(255,255,255,.58) !important;
    font-size:.7rem !important;
    line-height:1.25 !important;
  }
  #playlist-library-modal .playlist-panel-head > .btn-pages,
  #setlist-library-modal .playlist-panel-head > .btn-pages {
    min-height:28px !important;
    height:28px !important;
    padding:2px 10px !important;
    border-radius:7px !important;
    font-size:.7rem !important;
  }
  #playlist-library-modal .playlist-library-toolbar,
  #setlist-library-modal .playlist-library-toolbar {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    margin:0 0 8px !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #playlist-library-modal .setlist-inline-search-box,
  #setlist-library-modal .setlist-inline-search-box { margin:0 !important; }
  #playlist-library-modal #playlist-search-input,
  #setlist-library-modal #setlist-search-input {
    min-height:32px !important;
    height:32px !important;
    margin:0 !important;
    padding:3px 10px !important;
    border-radius:7px !important;
    font-size:.75rem !important;
  }
  #playlist-library-modal .playlist-library-quick-create,
  #setlist-library-modal .playlist-library-quick-create {
    min-height:32px !important;
    height:32px !important;
    padding:2px 11px !important;
    border-radius:7px !important;
    font-size:.72rem !important;
  }
  #playlist-library-modal .playlist-library-tag-filters,
  #setlist-library-modal .playlist-library-tag-filters {
    gap:5px !important;
    margin:7px 0 9px !important;
    padding:0 2px !important;
  }
  #playlist-library-modal .setlist-tag-chip,
  #setlist-library-modal .setlist-tag-chip {
    min-height:25px !important;
    height:25px !important;
    padding:2px 9px !important;
    border-radius:7px !important;
    font-size:.68rem !important;
  }
  #playlist-library-modal .playlist-library-list,
  #setlist-library-modal .playlist-library-list { gap:5px !important; }
  #playlist-library-modal .playlist-library-section,
  #setlist-library-modal .playlist-library-section {
    margin:8px 0 2px !important;
    padding:0 2px !important;
    font-size:.66rem !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }
  #playlist-library-modal .playlist-library-item,
  #setlist-library-modal .playlist-library-item {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    min-height:0 !important;
    padding:7px 10px !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  #playlist-library-modal .playlist-library-mainline-title,
  #setlist-library-modal .playlist-library-mainline-title { font-size:.78rem !important; line-height:1.15 !important; }
  #playlist-library-modal .playlist-library-mainline-meta,
  #playlist-library-modal .playlist-library-mainline-count,
  #setlist-library-modal .playlist-library-mainline-meta,
  #setlist-library-modal .playlist-library-mainline-count { font-size:.66rem !important; line-height:1.15 !important; }

  #playlist-library-modal.is-library-loading::after,
  #setlist-library-modal.is-library-loading::after {
    content:attr(data-loading-label);
    position:absolute;
    z-index:20;
    inset:8px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(15,15,15,.76);
    color:#f3dfbd;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.025em;
    cursor:progress;
  }
  #playlist-library-modal.is-library-loading::before,
  #setlist-library-modal.is-library-loading::before {
    content:"";
    position:absolute;
    z-index:21;
    left:50%;
    top:calc(50% - 27px);
    width:18px;
    height:18px;
    margin:-9px 0 0 -9px;
    border:2px solid rgba(255,255,255,.16);
    border-top-color:var(--songbook-accent,#d3a24b);
    border-radius:50%;
    animation:songbook-library-spin .7s linear infinite;
  }
  #playlist-library-modal .playlist-library-item.is-loading,
  #setlist-library-modal .playlist-library-item.is-loading { border-color:rgba(var(--songbook-accent-rgb),.58) !important; }
}
@keyframes songbook-library-spin { to { transform:rotate(360deg); } }

/* 20260917 — authoritative desktop Playlist inline tools. */
.playlist-manual-tab-desktop,
.playlist-rule-builder-guide { display:none !important; }
@media (max-width:1100px) {
  .playlist-manual-columns,
  .playlist-manual-column { display:contents; }
  .playlist-manual-column > h3,
  .playlist-manual-column > p { display:none; }
}

/* 20260919 — unified desktop editors and final TAB rail geometry. */
@media (min-width:1101px) {
  /* The rail begins 6px below the upper navigation and uses that same card gap. */
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid {
    top:182px !important;
    gap:6px !important;
  }
  .tabviewer-page-shell .tv-song-card > .tv-card-header { margin-bottom:7px !important; }

  /* Setlist mode replaces the two context cards and remains fully interactive. */
  .tabviewer-page-shell.setlist-mode-active > .tv-top-grid {
    display:none !important;
    pointer-events:none !important;
  }
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    display:block !important;
    position:fixed !important;
    left:6px !important;
    top:182px !important;
    width:400px !important;
    max-width:400px !important;
    margin:0 !important;
    z-index:12500 !important;
    pointer-events:auto !important;
    overflow:visible !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell * { pointer-events:auto !important; }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary-title {
    font-size:.78rem !important;
    line-height:1.08 !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary-meta {
    font-size:.58rem !important;
    line-height:1.05 !important;
  }

  /* Playlist and Setlist use the same compact Load / Create control. */
  .playlist-workspace .workspace-load-create-btn,
  .setlist-workspace .workspace-load-create-btn {
    min-height:25px !important;
    height:25px !important;
    padding:2px 9px !important;
    font-size:.64rem !important;
  }

  .playlist-workspace-tabs-desktop { align-items:center !important; }
  .playlist-workspace-save {
    margin-left:auto !important;
    min-height:25px !important;
    padding:3px 10px !important;
    border-color:rgba(255,255,255,.11) !important;
    background:#202020 !important;
    color:#777 !important;
    opacity:.78;
  }
  .playlist-workspace-save.is-dirty {
    border-color:rgba(var(--songbook-accent-rgb),.75) !important;
    background:rgba(var(--songbook-accent-rgb),.18) !important;
    color:#ffd886 !important;
    opacity:1;
    animation:playlistSaveAttention 1.25s ease-in-out infinite;
  }
  @keyframes playlistSaveAttention {
    50% { box-shadow:0 0 0 3px rgba(var(--songbook-accent-rgb),.10); }
  }

  /* Save belongs to the tab row; the inline editors start immediately below it. */
  .playlist-workspace .playlist-content-modal-actions,
  .playlist-workspace .playlist-autosync-top-actions,
  .playlist-workspace .playlist-inline-bottom-actions { display:none !important; }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] > .playlist-modal-content > .playlist-panel-head {
    display:none !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-modal-content,
  .playlist-workspace #auto-sync-modal .playlist-modal-content {
    padding-top:6px !important;
  }
  .playlist-workspace #auto-sync-modal .playlist-panel-head { display:none !important; }
  .playlist-workspace #auto-sync-modal :is(.playlist-input,.playlist-autosync-source-choice) {
    min-height:29px !important;
    height:29px !important;
    padding:3px 7px !important;
    font-size:.66rem !important;
  }
  .playlist-workspace #auto-sync-modal .playlist-rule-builder-guide {
    margin:0 0 5px !important;
    font-size:.56rem !important;
  }
  .playlist-workspace #auto-sync-modal .playlist-autosync-editor-list {
    padding:7px !important;
    border:1px solid rgba(var(--songbook-accent-rgb),.20) !important;
    border-radius:8px !important;
    background:#171717 !important;
  }
  .playlist-established-rules {
    margin-top:8px;
    padding:8px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:8px;
    background:#20231f;
  }
  .playlist-established-rules h3 {
    margin:0 0 6px;
    color:#b9beaF;
    font-size:.67rem;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .playlist-established-rule {
    margin-top:4px;
    padding:5px 7px;
    border-left:2px solid rgba(100,180,135,.55);
    background:rgba(100,180,135,.07);
    color:#aaa;
    font-size:.64rem;
  }
  .playlist-established-rule span { color:#d8ddd8; }
}
@media (min-width:1101px) {
  /* One continuous rail boundary. It also masks fragments from right-page
     panels that used to leak into the desktop gutter. */
  body.songbook-pwa-embed::before {
    content:"";
    position:fixed;
    z-index:800;
    top:0;
    bottom:0;
    left:0;
    width:419px;
    pointer-events:none;
    background:#101010;
    border-right:1px solid rgba(255,255,255,.12);
    box-shadow:none;
  }

  body.songbook-pwa-embed > .main-container {
    border-left:0 !important;
  }

  .playlist-workspace .playlist-manual-tab-tablet { display:none !important; }
  .playlist-workspace .playlist-manual-tab-desktop { display:inline-flex !important; }

  .playlist-workspace #playlist-inline-workspace {
    padding:8px 12px 10px !important;
  }
  .playlist-workspace #playlist-inline-workspace > .workspace-inline-editor-panel > .playlist-modal-content {
    min-height:calc(100dvh - 170px) !important;
    padding:14px 16px !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-panel-head {
    min-height:42px !important;
    margin:0 0 10px !important;
    padding:0 0 9px !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-inline-cancel-action,
  .playlist-workspace #playlist-inline-workspace .playlist-inline-bottom-actions,
  .playlist-workspace #playlist-inline-workspace .playlist-content-modal-actions-bottom {
    display:none !important;
  }

  .playlist-workspace #playlist-inline-workspace .playlist-rule-builder-guide {
    display:grid !important;
    grid-template-columns:72px minmax(145px,.8fr) minmax(150px,.85fr) minmax(260px,1.8fr) 32px !important;
    gap:8px !important;
    margin:4px 8px 0 !important;
    padding:0 8px !important;
    color:rgba(255,255,255,.48) !important;
    font-size:.64rem !important;
    font-weight:800 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-editor-list {
    margin-top:5px !important;
  }
  .playlist-workspace #playlist-inline-workspace .auto-sync-row.playlist-autosync-editor-row {
    border-color:rgba(255,255,255,.10) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.025) !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-connector-placeholder {
    color:#e6bd70 !important;
    background:rgba(var(--songbook-accent-rgb),.08) !important;
  }
  .playlist-workspace #playlist-inline-workspace .playlist-autosync-row-actions {
    margin:8px 0 0 !important;
    padding:0 !important;
  }

  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-columns {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    min-height:calc(100dvh - 252px) !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column {
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    padding:11px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.022) !important;
    box-sizing:border-box !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column > h3 {
    margin:0 !important;
    color:#f3eadc !important;
    font-size:.9rem !important;
    line-height:1.2 !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column > p {
    margin:3px 0 9px !important;
    color:rgba(255,255,255,.55) !important;
    font-size:.7rem !important;
    line-height:1.3 !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-search-shell {
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-search-results,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-list {
    flex:1 1 auto !important;
    max-height:calc(100dvh - 350px) !important;
    min-height:260px !important;
    overflow-y:auto !important;
    padding-right:3px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-filter-field {
    margin:0 0 8px !important;
  }

  .playlist-workspace #playlist-content-modal[data-inline-content-mode="add-manual"] .playlist-manual-filter-column,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="filter"] .playlist-manual-add-column {
    display:none !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="add-manual"] .playlist-manual-columns,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="filter"] .playlist-manual-columns {
    display:block !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="add-manual"] .playlist-manual-column,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="filter"] .playlist-manual-column {
    display:block !important;
  }
}

/* 20260917 — one desktop left-rail card geometry across every workspace. */
@media (min-width:1101px) {
  :root {
    --songbook-rail-card-left:6px;
    --songbook-rail-card-width:406px;
    --songbook-rail-card-radius:10px;
    --songbook-rail-card-border:rgba(255,255,255,.10);
  }

  body:not(.songbook-pwa-embed) > .songbook-global-topbar,
  body.songbook-pwa-embed > .songbook-global-topbar {
    border-radius:0 0 var(--songbook-rail-card-radius) 0 !important;
  }

  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body.songbook-pwa-embed .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body:not(.songbook-pwa-embed) #tv-floating-live-tools,
  body.songbook-pwa-embed #tv-floating-live-tools {
    left:var(--songbook-rail-card-left) !important;
    width:var(--songbook-rail-card-width) !important;
    max-width:var(--songbook-rail-card-width) !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:var(--songbook-rail-card-radius) !important;
    box-sizing:border-box !important;
  }

  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body.songbook-pwa-embed .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid > *,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid > *,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body:not(.songbook-pwa-embed) #tv-floating-live-tools,
  body.songbook-pwa-embed #tv-floating-live-tools {
    border:1px solid var(--songbook-rail-card-border) !important;
    border-radius:var(--songbook-rail-card-radius) !important;
    box-shadow:none !important;
  }

  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid {
    padding:0 !important;
    gap:8px !important;
    border:0 !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid > *,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid > * {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}

/* 20260917 — all desktop dialogs belong to the right workspace. */
@media (min-width:1101px) {
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel),
  body.songbook-pwa-embed .bookpage-dialog,
  body.songbook-pwa-embed .project-create-modal,
  body.songbook-pwa-embed .modal:not(.modal-deck) {
    position:fixed !important;
    z-index:1600 !important;
    top:104px !important;
    right:8px !important;
    bottom:8px !important;
    left:420px !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:12px !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .playlist-modal-content,
  body.songbook-pwa-embed .bookpage-dialog > .bookpage-dialog-content,
  body.songbook-pwa-embed .project-create-modal > *,
  body.songbook-pwa-embed .modal:not(.modal-deck) > .modal-content {
    max-width:calc(100% - 24px) !important;
    max-height:calc(100dvh - 136px) !important;
    margin:auto !important;
    box-sizing:border-box !important;
  }

  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .setlist-permissions-modal-content,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .tabviewer-permissions-modal-content,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .playlist-share-modal-content,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .admin-users-modal-content {
    width:min(980px,calc(100% - 24px)) !important;
  }

  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .playlist-library-modal-content-modern,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .setlist-library-modal-content,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .book-playlist-plus-modal-content,
  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) > .book-song-modal-content {
    width:min(1120px,calc(100% - 24px)) !important;
  }

  body.songbook-pwa-embed .playlist-modal:not(.workspace-inline-editor-panel) .playlist-panel-head {
    position:relative !important;
    z-index:1 !important;
  }
}

/* 20260917 — flush lower desktop rail and halve the header/content gap. */
@media (min-width:1101px) {
  :root {
    --songbook-rail-card-left:0px;
    --songbook-rail-card-width:412px;
  }

  body:not(.songbook-pwa-embed) .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body.songbook-pwa-embed .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid,
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body:not(.songbook-pwa-embed) #tv-floating-live-tools,
  body.songbook-pwa-embed #tv-floating-live-tools {
    border-left:0 !important;
    border-radius:0 var(--songbook-rail-card-radius) var(--songbook-rail-card-radius) 0 !important;
  }

  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid > *,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid > * {
    border-left:0 !important;
    border-radius:0 var(--songbook-rail-card-radius) var(--songbook-rail-card-radius) 0 !important;
  }

  body.songbook-pwa-embed .playlist-workspace > .playlist-shell > .playlist-editor-shell > .workspace-current-card,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    top:202px !important;
    max-height:calc(100dvh - 312px) !important;
  }
}

/* 20260917 — the complete desktop right pane scrolls as one document. */
.playlist-workspace-tabs-desktop { display:none; }
@media (min-width:1101px) {
  .desktop-page-heading {
    position:relative !important;
    z-index:auto !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:auto !important;
    height:64px !important;
    min-height:64px !important;
    margin:8px 8px 0 !important;
    padding:0 14px !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  .playlist-workspace-tabs-tablet { display:none !important; }
  .playlist-workspace-tabs-desktop {
    position:relative !important;
    z-index:auto !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    display:flex !important;
    width:auto !important;
    max-width:none !important;
    height:34px !important;
    min-height:34px !important;
    margin:8px 8px 10px !important;
    padding:4px 6px !important;
    gap:4px !important;
    align-items:center !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:9px !important;
    background:#181818 !important;
    box-sizing:border-box !important;
  }

  .requests-page-shell > .requests-tabs-shell,
  .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs,
  .account-page-toolbar,
  .project-editor-nav,
  .bookpage-source-tabbar {
    position:relative !important;
    z-index:auto !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:auto !important;
    max-width:none !important;
  }

  .requests-page-shell > .requests-tabs-shell,
  .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs {
    height:auto !important;
    min-height:34px !important;
    margin:8px 8px 10px !important;
    padding:4px 6px !important;
    border-radius:9px !important;
  }

  .bookpage-root,
  .requests-page-shell,
  .account-page-shell,
  .projects-page-shell,
  .playlist-workspace,
  .setlist-workspace {
    padding-top:0 !important;
  }

  .playlist-workspace .playlist-editor-shell,
  .setlist-workspace .playlist-editor-shell {
    padding-top:0 !important;
  }
}
@media (min-width:1101px) {
  body.songbook-pwa-embed .playlist-workspace .playlist-workspace-tabs-desktop,
  body:not(.songbook-pwa-embed) .playlist-workspace .playlist-workspace-tabs-desktop {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
  }
  body.songbook-pwa-embed .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs,
  body:not(.songbook-pwa-embed) .setlist-workspace > .playlist-shell > .playlist-editor-shell > #setlist-section-tabs {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
  }
}

/* 20260917 — one desktop title and tabs geometry across every workspace.
   The right pane already begins after the rail, so no child is offset again. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) > .main-container,
  body.songbook-pwa-embed > .main-container,
  body:not(.songbook-pwa-embed) #dynamic-content-right,
  body.songbook-pwa-embed #dynamic-content-right {
    background:#101010 !important;
  }

  body:not(.songbook-pwa-embed) :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading,
  body.songbook-pwa-embed :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading {
    display:flex !important;
    position:relative !important;
    z-index:auto !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:calc(100% - 16px) !important;
    height:64px !important;
    min-height:64px !important;
    margin:0 8px !important;
    padding:0 14px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:3px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:0 0 10px 10px !important;
    background:#181818 !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }

  body:not(.songbook-pwa-embed) :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading > span,
  body.songbook-pwa-embed :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading > span {
    display:block !important;
    color:var(--songbook-accent,#d3a24b) !important;
    font-size:.58rem !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }

  body:not(.songbook-pwa-embed) :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading h1,
  body.songbook-pwa-embed :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading h1 {
    margin:0 !important;
    color:#f2ece3 !important;
    font-size:.92rem !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
    text-transform:none !important;
  }

  body:not(.songbook-pwa-embed) :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace),
  body.songbook-pwa-embed :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) {
    padding-top:0 !important;
  }

  body:not(.songbook-pwa-embed) :is(.playlist-workspace,.setlist-workspace),
  body.songbook-pwa-embed :is(.playlist-workspace,.setlist-workspace) {
    width:100% !important;
    margin-inline:0 !important;
  }

  body:not(.songbook-pwa-embed) :is(.playlist-workspace,.setlist-workspace) .playlist-editor-shell,
  body.songbook-pwa-embed :is(.playlist-workspace,.setlist-workspace) .playlist-editor-shell {
    padding-top:0 !important;
  }

  body:not(.songbook-pwa-embed) :is(.playlist-workspace-tabs-desktop,.requests-tabs-shell,.account-page-toolbar,.project-editor-nav,.bookpage-source-tabbar,#setlist-section-tabs),
  body.songbook-pwa-embed :is(.playlist-workspace-tabs-desktop,.requests-tabs-shell,.account-page-toolbar,.project-editor-nav,.bookpage-source-tabbar,#setlist-section-tabs) {
    position:relative !important;
    z-index:auto !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:calc(100% - 16px) !important;
    max-width:none !important;
    min-height:34px !important;
    height:auto !important;
    margin:8px 8px 10px !important;
    padding:4px 6px !important;
    gap:4px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:9px !important;
    background:#181818 !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }

  .projects-page-shell.project-editor-mode > .desktop-page-heading { display:none !important; }

  body:not(.songbook-pwa-embed) :is(.playlist-workspace-tabs-desktop,.requests-tabs-shell,.account-page-toolbar,.project-editor-nav,.bookpage-source-tabbar,#setlist-section-tabs),
  body.songbook-pwa-embed :is(.playlist-workspace-tabs-desktop,.requests-tabs-shell,.account-page-toolbar,.project-editor-nav,.bookpage-source-tabbar,#setlist-section-tabs) {
    margin-top:0 !important;
  }

  body:not(.songbook-pwa-embed) .requests-page-shell,
  body.songbook-pwa-embed .requests-page-shell {
    row-gap:12px !important;
  }
}

/* 20260918 — desktop workspace consistency and repaired interaction geometry. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) :is(.bookpage-root,.tabviewer-page-shell),
  body.songbook-pwa-embed :is(.bookpage-root,.tabviewer-page-shell) {
    background:#202020 !important;
  }

  body:not(.songbook-pwa-embed) .bookpage-root > .desktop-page-heading,
  body.songbook-pwa-embed .bookpage-root > .desktop-page-heading {
    width:calc(100% - 16px) !important;
    height:64px !important;
    min-height:64px !important;
    margin:0 8px !important;
    padding:0 14px !important;
    border-radius:0 0 10px 10px !important;
    background:#181818 !important;
  }

  body:not(.songbook-pwa-embed) .requests-page-shell > .requests-tabs-shell,
  body.songbook-pwa-embed .requests-page-shell > .requests-tabs-shell {
    margin-top:-12px !important;
  }

  body:not(.songbook-pwa-embed) .requests-page-shell > .requests-workspace-grid,
  body.songbook-pwa-embed .requests-page-shell > .requests-workspace-grid {
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    margin:0 8px 12px !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .requests-workspace-grid > * { min-width:0 !important; max-width:100% !important; }

  .setlist-workspace.setlist-inline-editor-open > .desktop-page-heading {
    display:none !important;
  }

  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    z-index:2200 !important;
    pointer-events:auto !important;
  }

  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell,
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell :is(button,.tv-setlist-section-tabs,.tv-versions-summary,.tv-versions-panel,.tv-versions-list,.tab-version-item) {
    pointer-events:auto !important;
  }

  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open {
    z-index:2300 !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* 20260918 — Tabs: scrollable right-side notes/current song and collision-free controls. */
.tv-setlist-mode-shell .tv-setlist-list {
  display:grid !important;
  gap:3px !important;
  margin:0 !important;
  padding:5px !important;
}
.tv-setlist-mode-shell .tv-setlist-list .tab-version-item {
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:7px !important;
}
.tv-setlist-mode-shell .tv-setlist-jump {
  min-height:34px !important;
  padding:4px 8px !important;
  gap:4px !important;
}
.tv-setlist-mode-shell .tv-setlist-jump-copy {
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:baseline !important;
  gap:8px !important;
}
.tv-setlist-mode-shell .tv-setlist-jump-title {
  min-width:0 !important;
  font-size:.78rem !important;
  line-height:1.05 !important;
}
.tv-setlist-mode-shell .tv-setlist-jump-subtitle {
  max-width:36vw !important;
  font-size:.58rem !important;
  line-height:1 !important;
  opacity:.7 !important;
}

@media (min-width:1101px) {
  .tabviewer-page-shell > .tv-notes-shell-desktop-main {
    position:relative !important;
    inset:auto !important;
    z-index:auto !important;
    width:calc(100% - 16px) !important;
    max-width:none !important;
    margin:0 8px 10px !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:20 !important;
    width:calc(100% - 16px) !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 8px 10px !important;
    padding:0 !important;
    overflow:visible !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell > .tv-card-header {
    padding:8px 12px 5px !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary {
    min-height:58px !important;
    padding:8px 12px !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-summary-title {
    font-size:1rem !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell .tv-versions-panel {
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }

  body:not(.songbook-pwa-embed) #tv-floating-live-tools,
  body.songbook-pwa-embed #tv-floating-live-tools {
    display:grid !important;
    height:104px !important;
    min-height:104px !important;
    grid-template-columns:minmax(0,1fr) 34px 34px 66px !important;
    grid-template-rows:28px 28px 28px !important;
    align-items:center !important;
    gap:4px !important;
    padding:6px 8px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools > .tv-floating-inline-group:first-child,
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-floating-inline-group:first-child {
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools #tab-key-chip,
  body.songbook-pwa-embed #tv-floating-live-tools #tab-key-chip {
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) 52px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    gap:2px !important;
    box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-floating-stepper,
  body.songbook-pwa-embed #tv-floating-live-tools .tv-floating-stepper {
    width:52px !important;
    min-width:0 !important;
    max-width:52px !important;
    margin:0 !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-mode-icon-btn,
  body.songbook-pwa-embed #tv-floating-live-tools .tv-mode-icon-btn { grid-column:2 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-notation-mode-btn,
  body.songbook-pwa-embed #tv-floating-live-tools .tv-notation-mode-btn { grid-column:3 !important; grid-row:1 !important; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-setlist-switch-controls,
  body.songbook-pwa-embed #tv-floating-live-tools .tv-setlist-switch-controls {
    grid-column:4 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,30px) !important;
    gap:3px !important;
    width:63px !important;
    overflow:visible !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools .tv-setlist-switch-controls[hidden],
  body.songbook-pwa-embed #tv-floating-live-tools .tv-setlist-switch-controls[hidden] { display:none !important; }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools > .tv-desktop-autoscroll-control,
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-desktop-autoscroll-control {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    min-width:0 !important;
  }
  body:not(.songbook-pwa-embed) #tv-floating-live-tools > .tv-desktop-zoom-control,
  body.songbook-pwa-embed #tv-floating-live-tools > .tv-desktop-zoom-control {
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    width:100% !important;
    min-width:0 !important;
  }
}

/* 20260918 — clean desktop geometry for Tabs, Playlist and Setlist. */
@media (min-width:1101px) {
  /* The rail boundary and the right workspace meet at one coordinate. */
  body.songbook-pwa-embed::before { width:412px !important; }

  /* Notes live inside the tab content viewport: one vertical scrollbar. */
  .tabcontent-viewport > .tv-notes-shell-desktop-tabcontent {
    position:relative !important;
    inset:auto !important;
    z-index:auto !important;
    width:calc(100% - 12px) !important;
    max-width:none !important;
    margin:6px 6px 8px !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  /* Setlist mode returns to the desktop rail; compact list rules remain. */
  body:not(.songbook-pwa-embed) .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell,
  body.songbook-pwa-embed .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    position:fixed !important;
    z-index:900 !important;
    top:202px !important;
    right:auto !important;
    bottom:112px !important;
    left:0 !important;
    width:412px !important;
    max-width:412px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 2px 0 0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    border-left:0 !important;
    border-radius:0 10px 10px 0 !important;
    box-sizing:border-box !important;
  }

  /* Full-width, aligned page bars without shadows or fake extensions. */
  body:not(.songbook-pwa-embed) #dynamic-content-right > :is(.playlist-workspace,.setlist-workspace) > .desktop-page-heading,
  body.songbook-pwa-embed #dynamic-content-right > :is(.playlist-workspace,.setlist-workspace) > .desktop-page-heading {
    width:100% !important;
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 0 9px 0 !important;
    background:#181818 !important;
    box-shadow:none !important;
  }

  body:not(.songbook-pwa-embed) #dynamic-content-right > .playlist-workspace > .playlist-workspace-tabs-desktop,
  body.songbook-pwa-embed #dynamic-content-right > .playlist-workspace > .playlist-workspace-tabs-desktop,
  body:not(.songbook-pwa-embed) #dynamic-content-right > .setlist-workspace #setlist-section-tabs,
  body.songbook-pwa-embed #dynamic-content-right > .setlist-workspace #setlist-section-tabs {
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 0 9px 0 !important;
    background:#181818 !important;
    box-shadow:none !important;
  }
}

/* 20260918 — final flush desktop title stack for Playlist and Setlist. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed):has(#dynamic-content-right > .playlist-workspace) > .main-container {
    width:calc(100% - 412px) !important;
    margin:0 0 0 412px !important;
    padding:0 0 0 8px !important;
    border-radius:0 !important;
  }
  body.songbook-pwa-embed:has(#dynamic-content-right > .playlist-workspace) > .main-container {
    width:calc(100% - 412px) !important;
    margin:0 0 0 412px !important;
    padding:0 0 0 8px !important;
    border-radius:0 !important;
  }

  body:has(#dynamic-content-right > .playlist-workspace) .content-container,
  body:has(#dynamic-content-right > .playlist-workspace) .right-panel,
  body:has(#dynamic-content-right > .playlist-workspace) #dynamic-content-right,
  body:has(#dynamic-content-right > .playlist-workspace) #dynamic-content-right > .playlist-workspace {
    margin-top:0 !important;
    padding-top:0 !important;
    border-radius:0 !important;
  }

  #dynamic-content-right > .playlist-workspace > .desktop-page-heading {
    height:64px !important;
    min-height:64px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    border-radius:0 !important;
  }

  #dynamic-content-right > .playlist-workspace > .playlist-workspace-tabs-desktop,
  #dynamic-content-right > .setlist-workspace #setlist-section-tabs {
    margin-top:0 !important;
    margin-bottom:10px !important;
    border-top:0 !important;
    border-radius:0 0 8px 0 !important;
  }

  #dynamic-content-right > .playlist-workspace > .playlist-shell,
  #dynamic-content-right > .playlist-workspace > .playlist-shell > .playlist-editor-shell {
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

/* 20260918 — unified desktop workspace and left-card system. */
@media (min-width:1101px) {
  /* One 8px workspace inset on every desktop page; no inherited top strip. */
  body:not(.songbook-pwa-embed) > .main-container,
  body.songbook-pwa-embed > .main-container {
    width:calc(100% - 412px) !important;
    margin:0 0 0 412px !important;
    padding:0 0 0 8px !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }
  body:not(.songbook-pwa-embed) .content-container,
  body.songbook-pwa-embed .content-container,
  body:not(.songbook-pwa-embed) .right-panel,
  body.songbook-pwa-embed .right-panel,
  body:not(.songbook-pwa-embed) #dynamic-content-right,
  body.songbook-pwa-embed #dynamic-content-right {
    margin-top:0 !important;
    padding-top:0 !important;
    border-radius:0 !important;
  }
  #dynamic-content-right > :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace,.tabviewer-page-shell) {
    margin-top:0 !important;
    padding-top:0 !important;
    padding-left:0 !important;
  }

  /* Same full-width title bar on every page that owns a title. */
  #dynamic-content-right > :is(.bookpage-root,.requests-page-shell,.account-page-shell,.projects-page-shell,.playlist-workspace,.setlist-workspace) > .desktop-page-heading {
    width:100% !important;
    margin:0 !important;
    border-top:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    background:#181818 !important;
    box-shadow:none !important;
  }

  /* Tool tabs touch the title and use the same bar geometry. */
  #dynamic-content-right > .playlist-workspace > .playlist-workspace-tabs-desktop,
  #dynamic-content-right > .requests-page-shell > .requests-tabs-shell,
  #dynamic-content-right > .bookpage-root > .bookpage-source-tabbar,
  #dynamic-content-right > .account-page-shell > .account-page-toolbar,
  #dynamic-content-right > .projects-page-shell > .project-editor-nav,
  #dynamic-content-right > .setlist-workspace #setlist-section-tabs {
    width:100% !important;
    margin:0 0 10px !important;
    border-top:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 0 8px 0 !important;
    background:#181818 !important;
    box-shadow:none !important;
  }

  /* TAB has no title: its content observes the same right-pane inset. */
  #dynamic-content-right > .tabviewer-page-shell {
    width:100% !important;
    margin:0 !important;
    padding-right:0 !important;
  }

  /* Expanded setlist belongs to the existing left card and has no inner scroll. */
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open {
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:4px 6px 8px !important;
    overflow:visible !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-mode-shell .tv-versions-panel.is-open .tv-setlist-list {
    max-height:none !important;
    overflow:visible !important;
  }

  /* Stable setlist-mode header and mode button. */
  .tabviewer-page-shell #setlist-mode-btn,
  .tabviewer-page-shell #setlist-mode-top-btn {
    width:116px !important;
    min-width:116px !important;
    height:24px !important;
    min-height:24px !important;
    padding:2px 7px !important;
    border-radius:12px !important;
    font-size:.58rem !important;
    line-height:1 !important;
  }
  .tabviewer-page-shell.setlist-mode-active #setlist-mode-top-btn {
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    margin:0 !important;
  }
  .tabviewer-page-shell.setlist-mode-active .tv-setlist-name-sections-row {
    min-height:28px !important;
    padding-right:124px !important;
  }

  /* One compact visual language for every lower-left context card. */
  .playlist-workspace .workspace-current-card,
  .setlist-workspace .workspace-current-card,
  .tabviewer-page-shell > .tv-top-grid > *,
  .tabviewer-page-shell > .tv-setlist-mode-shell {
    color:#f2ece3 !important;
    font-size:.78rem !important;
    border-color:rgba(255,255,255,.10) !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
  }
  .playlist-workspace .workspace-current-name,
  .setlist-workspace .workspace-current-name,
  .tabviewer-page-shell .tv-song-title,
  .tabviewer-page-shell .tv-current-tab-info-title,
  .tabviewer-page-shell .tv-versions-summary-title {
    font-size:.92rem !important;
    line-height:1.15 !important;
    font-weight:800 !important;
  }
  .playlist-workspace .workspace-action-row-primary .tv-btn,
  .setlist-workspace .workspace-action-row-primary .tv-btn,
  .tabviewer-page-shell .tv-card-actions .tv-btn {
    min-height:24px !important;
    height:24px !important;
    padding:2px 7px !important;
    border-radius:4px !important;
    font-size:.60rem !important;
    line-height:1 !important;
  }
  .playlist-workspace .workspace-current-card-bottom .tv-btn,
  .setlist-workspace .workspace-current-card-bottom .tv-btn {
    min-height:24px !important;
    height:24px !important;
    padding:2px 8px !important;
    border-radius:999px !important;
    font-size:.60rem !important;
    line-height:1 !important;
  }
  .playlist-workspace .workspace-current-card,
  .setlist-workspace .workspace-current-card {
    padding:12px 14px !important;
  }
}

@media (min-width:1101px) {
  /* Requests keeps a page-level row gap; cancel it only between its title and tabs. */
  #dynamic-content-right > .requests-page-shell > .requests-tabs-shell {
    margin-top:-12px !important;
  }
}

/* 20260918 — Books desktop: fixed chrome, one adaptive song-list scroller. */
@media (min-width:1101px) {
  body:has(#dynamic-content-right > .bookpage-root) {
    overflow:hidden !important;
  }
  body:has(#dynamic-content-right > .bookpage-root) > .main-container,
  body:has(#dynamic-content-right > .bookpage-root) .content-container,
  body:has(#dynamic-content-right > .bookpage-root) .right-panel,
  body:has(#dynamic-content-right > .bookpage-root) #dynamic-content-right {
    height:100dvh !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #dynamic-content-right > .bookpage-root {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  #dynamic-content-right > .bookpage-root > .desktop-page-heading,
  #dynamic-content-right > .bookpage-root > .bookpage-source-tabbar,
  #dynamic-content-right > .bookpage-root > .bookpage-toolbar-summary,
  #dynamic-content-right > .bookpage-root > .bookpage-current-playlist-note,
  #dynamic-content-right > .bookpage-root > .bookpage-deck-header-row {
    flex:0 0 auto !important;
  }
  #dynamic-content-right > .bookpage-root > .bookpage_style-scroll-container,
  #dynamic-content-right > .bookpage-root > .bookpage-deck-viewport {
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }
  #dynamic-content-right > .bookpage-root > .bookpage_style-scroll-container {
    padding:0 10px 10px !important;
  }
  #dynamic-content-right > .bookpage-root .bookpage_style-table th {
    height:28px !important;
    padding:5px 7px !important;
    font-size:11px !important;
    line-height:16px !important;
  }
}

/* TAB desktop — More Tabs opens directly on the versions. */
@media (min-width:1101px) {
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-panel.is-open {
    padding-top:5px !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only {
    display:block !important;
    margin:0 0 5px !important;
    padding:0 !important;
    min-height:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only .tv-versions-search {
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only input {
    width:100% !important;
    height:28px !important;
    min-height:28px !important;
    padding:3px 8px !important;
    font-size:.68rem !important;
    border-radius:7px !important;
  }
}

/* 20260918 — compact TAB context cards and tablet parity. */
@media (min-width:561px) {
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header {
    align-items:flex-start !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header .tv-card-actions {
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:3px !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-panel.is-open {
    padding-top:5px !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only {
    display:block !important;
    min-height:0 !important;
    margin:0 0 5px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only .tv-versions-search {
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-versions-toolbar-search-only input {
    width:100% !important;
    height:28px !important;
    min-height:28px !important;
    padding:3px 8px !important;
    font-size:.68rem !important;
    border-radius:7px !important;
  }

  #dynamic-content-right > .bookpage-root > .bookpage_style-scroll-container {
    padding-top:0 !important;
  }
  #dynamic-content-right > .bookpage-root .bookpage_style-table th {
    height:28px !important;
    padding:5px 7px !important;
    font-size:11px !important;
    line-height:16px !important;
  }
}

/* 20260918 — readable compact SONG card and one-line CURRENT TAB actions. */
@media (min-width:561px) {
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header {
    flex-wrap:nowrap !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header .tv-card-heading {
    flex:0 0 auto !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header .tv-card-actions {
    flex:1 1 auto !important;
    flex-wrap:nowrap !important;
    min-width:0 !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell > .tv-card-header .tv-card-actions .tv-btn {
    flex:0 0 auto !important;
    min-height:23px !important;
    height:23px !important;
    padding:2px 6px !important;
    font-size:.56rem !important;
  }
  .tabviewer-page-shell .tv-current-tab-shell .tv-create-tab-compact {
    width:25px !important;
    min-width:25px !important;
    padding:0 !important;
    font-size:.9rem !important;
  }
}

/* Restore TAB mode controls to the SONG card without changing setlist-mode geometry. */
@media (min-width:561px) {
  .tabviewer-page-shell .tv-song-card .tv-create-tab-compact {
    flex:0 0 23px !important;
    width:23px !important;
    min-width:23px !important;
    padding:0 !important;
    font-size:.9rem !important;
  }
  .tabviewer-page-shell.setlist-mode-active > .tv-setlist-mode-shell {
    display:block !important;
  }
}

/* 20260919 — desktop-only TAB rail refinement and manual playlist workspace. */
@media (min-width:1101px) {
  /* Separate context cards with the same geometry used by Playlist/Setlist. */
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid {
    gap:10px !important;
  }
  .tabviewer-page-shell > .tv-top-grid > .tv-song-card,
  .tabviewer-page-shell > .tv-top-grid > .tv-current-tab-shell {
    border:1px solid var(--songbook-rail-card-border,rgba(255,255,255,.10)) !important;
    border-radius:var(--songbook-rail-card-radius,10px) !important;
    background:#1d1d1d !important;
    box-shadow:none !important;
  }

  /* SONG: less empty space, smaller title, and one concise metadata row. */
  .tabviewer-page-shell .tv-song-card {
    padding:7px 10px 9px !important;
  }
  .tabviewer-page-shell .tv-song-card > .tv-card-header {
    min-height:24px !important;
    margin:0 0 3px !important;
    padding:0 !important;
    align-items:center !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-info-kicker {
    margin:0 !important;
    font-size:.58rem !important;
    line-height:1 !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-song-title {
    margin:0 !important;
    font-size:.66rem !important;
    line-height:1.15 !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-meta-pill-row {
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    width:100% !important;
    margin:6px 0 0 !important;
    overflow:hidden !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-meta-pill {
    min-width:0 !important;
    max-width:25ch !important;
    min-height:20px !important;
    height:20px !important;
    padding:2px 6px !important;
    overflow:hidden !important;
    font-size:.56rem !important;
    line-height:14px !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-meta-pill-tempo {
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-create-tab-compact,
  .tabviewer-page-shell .tv-song-card #setlist-mode-btn,
  .tabviewer-page-shell.setlist-mode-active #setlist-mode-top-btn {
    width:auto !important;
    min-width:0 !important;
    height:24px !important;
    min-height:24px !important;
    padding:2px 8px !important;
    border-radius:4px !important;
    font-size:.57rem !important;
    line-height:1 !important;
  }
  .tabviewer-page-shell .tv-song-card .tv-create-tab-compact {
    flex:0 0 auto !important;
  }
  .tabviewer-page-shell .tv-current-tab-info-title {
    font-size:.78rem !important;
    line-height:1.15 !important;
  }

  /* Manual playlist management is the first tool and uses two balanced columns. */
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] > .playlist-modal-content > .playlist-panel-head > div:first-child {
    display:none !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] > .playlist-modal-content > .playlist-panel-head {
    min-height:30px !important;
    justify-content:flex-end !important;
    margin-bottom:6px !important;
    padding-bottom:5px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-filter-column { order:1 !important; }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-add-column { order:2 !important; }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column {
    padding:8px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column > h3 {
    margin:0 0 3px !important;
    font-size:.78rem !important;
    line-height:1.1 !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-manual-column > p,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-search-field > span,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-filter-field > span {
    display:none !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-field,.playlist-content-filter-field) {
    margin:0 0 5px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-field,.playlist-content-filter-field) input {
    height:30px !important;
    min-height:30px !important;
    padding:3px 8px !important;
    font-size:.68rem !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-search-shell {
    gap:4px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-results,.playlist-content-list) {
    gap:4px !important;
    max-height:calc(100dvh - 300px) !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-row,.playlist-content-row) {
    min-height:30px !important;
    padding:4px 7px !important;
    border-radius:7px !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-copy,.playlist-content-copy) {
    display:flex !important;
    flex-direction:row !important;
    align-items:baseline !important;
    gap:6px !important;
    min-width:0 !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-copy,.playlist-content-copy) strong {
    min-width:0 !important;
    max-width:62% !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:.69rem !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] :is(.playlist-content-search-copy,.playlist-content-copy) small {
    min-width:0 !important;
    overflow:hidden !important;
    font-size:.60rem !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-row.is-selected {
    border-color:rgba(var(--songbook-accent-rgb),.42) !important;
    background:rgba(255,255,255,.025) !important;
  }
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-row-state,
  .playlist-workspace #playlist-content-modal[data-inline-content-mode="manual"] .playlist-content-search-action {
    min-width:46px !important;
    padding:3px 6px !important;
    font-size:.58rem !important;
  }
  .playlist-desktop-only-copy { display:inline !important; }
  .playlist-tablet-only-copy { display:none !important; }
}
@media (max-width:1100px) {
  .playlist-desktop-only-copy { display:none !important; }
  .playlist-tablet-only-copy { display:inline !important; }
}

/* Desktop menu frame ends at 180px. Halve the embedded rail's 22px gap.
   Content-sized grid tracks keep the same gap between the two cards. */
@media (min-width:1101px) {
  body:not(.songbook-pwa-embed) .tabviewer-page-shell > .tv-top-grid,
  body:not(.songbook-pwa-embed).tabviewer-floating-mounted .tabviewer-page-shell > .tv-top-grid,
  body.songbook-pwa-embed .tabviewer-page-shell > .tv-top-grid {
    top:191px !important;
    align-content:start !important;
    row-gap:11px !important;
  }
}

/* Desktop TAB controls: keep the rail geometry, unify control surfaces. */
@media (min-width:1101px) {
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) {
    background:#191919 !important;
    border:1px solid #383838 !important;
    border-radius:10px !important;
    box-shadow:0 3px 12px #0003 !important;
    column-gap:6px !important;
    grid-template-columns:minmax(0,1fr) 32px 32px 66px !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip {
    grid-template-columns:32px minmax(0,1fr) 32px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools :is(.tv-floating-stepper,.tv-floating-control-chip,.tv-setlist-switch-btn) {
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 !important;
    border-radius:6px !important;
    border:1px solid #424242 !important;
    background:#252525 !important;
    color:#eee8dc !important;
    box-shadow:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-setlist-switch-btn-next {
    border-color:#92702d !important;
    color:#ffcb65 !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools button:not(:disabled):hover {
    background:#373126 !important;
    border-color:#bd9144 !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools :is(button,input,[role="button"]):focus-visible {
    outline:2px solid #efb449 !important;
    outline-offset:2px !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools > :is(.tv-desktop-autoscroll-control,.tv-desktop-zoom-control) {
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 38px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    max-width:none !important;
    background:none !important;
    color:#c6c3bc !important;
    font:600 11px/1.2 Arial,sans-serif !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-horizontal-scroll-label {
    padding:0 !important;
    border:0 !important;
    background:none !important;
    opacity:1 !important;
    color:inherit !important;
    font:inherit !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools :is(.tv-horizontal-scroll-control,input[type="range"]) {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools input[type="range"] { accent-color:#cba65c; }
  body:is(.songbook-pwa-embed, :not(.songbook-pwa-embed)) #tv-floating-live-tools output {
    color:#e4ddce !important;
    font:600 11px/1 Arial,sans-serif !important;
    font-variant-numeric:tabular-nums !important;
    text-align:right !important;
  }
}

/* Song actions occupy two natural-flow rows on desktop and tablet. */
@media (min-width:561px) {
  body .tabviewer-page-shell .tv-song-card > .tv-card-header {
    position:static !important; height:auto !important; min-height:24px;
    align-items:flex-start !important;
  }
  body .tabviewer-page-shell .tv-song-card .tv-song-live-actions {
    display:grid !important; grid-template-columns:max-content max-content;
    gap:5px !important; justify-content:end !important; width:auto !important;
  }
  body .tabviewer-page-shell .tv-song-live-actions .tv-create-tab-compact { grid-area:1 / 1; }
  body .tabviewer-page-shell .tv-song-live-actions #setlist-mode-btn { grid-area:1 / 2; }
  body .tabviewer-page-shell .tv-song-live-actions #on-air-button { grid-area:2 / 1; }
  body .tabviewer-page-shell .tv-song-live-actions #load-last-on-air-btn { grid-area:2 / 2; }
  body .tabviewer-page-shell .tv-song-card .tv-song-live-actions .tv-btn {
    width:auto !important; min-width:0 !important; white-space:nowrap !important;
    height:26px !important; min-height:26px !important; padding:3px 7px !important;
    font-size:10px !important; line-height:18px !important;
    overflow:visible !important; text-overflow:clip !important;
  }
  body .tabviewer-page-shell .tv-song-card .tv-song-title { position:static !important; }
}

/* Shadow-puppet musicians for timed and untimed karaoke cues. */
.on-air-animation-stage{position:relative;display:block;width:min(100%,390px);height:min(25vh,205px);min-height:115px;margin:auto;overflow:visible}
.on-air-animation-spotlight{position:absolute;inset:36px 10% 2px;display:grid;place-items:center;background:transparent}
.on-air-animation-spotlight svg{display:block;width:100%;height:100%;overflow:visible}
.on-air-animation-gif{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;filter:invert(1);mix-blend-mode:screen;image-rendering:auto}
.on-air-animation-caption{position:absolute;z-index:3;left:0;right:0;top:1px;color:#f5f2ea;font:800 clamp(15px,2vw,22px)/1.2 sans-serif;letter-spacing:.1em;text-align:center;text-shadow:0 2px 5px #000}
.on-air-scene-note{position:absolute;z-index:2;color:var(--accent-color,#ffc86d);font:700 29px/1 sans-serif;opacity:0;pointer-events:none;animation:on-air-scene-note 2.7s ease-out infinite}
.on-air-scene-note.note-1{left:20%;top:44%;animation-delay:0s}
.on-air-scene-note.note-2{left:74%;top:42%;animation-delay:.65s}
.on-air-scene-note.note-3{left:49%;top:37%;animation-delay:1.3s}
.on-air-scene-note.note-4{left:82%;top:55%;animation-delay:1.95s}
@keyframes on-air-scene-note{0%{opacity:0;transform:translateY(0) rotate(-12deg) scale(.6)}15%{opacity:.95}75%{opacity:.65}100%{opacity:0;transform:translateY(-52px) rotate(14deg) scale(1.15)}}
.on-air-reader-pane.is-current .on-air-silhouette-guitarist{transform-origin:185px 125px;animation:on-air-guitarist 1.35s ease-in-out infinite alternate}
.on-air-reader-pane.is-current .on-air-silhouette-player{transform-origin:center bottom;animation:on-air-player 1.4s ease-in-out infinite alternate}
.on-air-reader-pane.is-current .on-air-silhouette-singer{transform-origin:232px 125px;animation:on-air-singer 1.1s ease-in-out infinite alternate}
@keyframes on-air-guitarist{to{transform:rotate(5deg) translateY(-3px)}}
@keyframes on-air-player{to{transform:rotate(3deg) translateY(-2px)}}
@keyframes on-air-singer{to{transform:rotate(-4deg) translateY(-3px)}}
.on-air-reader-pane:not(.is-current) .on-air-animation-stage{transform:scale(.68);transform-origin:center top}
.on-air-reader-pane:not(.is-current) .on-air-scene-note{animation-play-state:paused;opacity:.45}
.on-air-animation-progress{position:absolute;z-index:5;left:16px;right:16px;bottom:9px;height:6px;overflow:visible;border-radius:999px;background:rgba(255,255,255,.2);box-shadow:inset 0 1px 2px #0005}
.on-air-animation-progress-fill{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-color,#ffc86d),color-mix(in srgb,var(--accent-color,#ffc86d) 45%,white));transition:width .1s linear}
.on-air-animation-progress-time{position:absolute;right:0;bottom:9px;color:#f5f2ea;font:700 11px/1 sans-serif}
.on-air-animation-progress.is-locked{box-shadow:0 0 0 3px rgba(var(--songbook-accent-rgb),.32)}
@media(prefers-reduced-motion:reduce){.on-air-scene-note,.on-air-reader-pane.is-current .on-air-silhouette-guitarist,.on-air-reader-pane.is-current .on-air-silhouette-player,.on-air-reader-pane.is-current .on-air-silhouette-singer{animation:none}.on-air-scene-note{opacity:.75}}

/* Keep transpose compact even in the responsive grid toolbar. */
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools > .tv-floating-inline-group:first-child{width:max-content!important;max-width:100%!important;justify-self:start!important;justify-content:flex-start!important}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip{display:inline-flex!important;grid-template-columns:none!important;width:max-content!important;min-width:0!important;max-width:100%!important;flex:0 0 auto!important;gap:3px!important;padding:2px!important;border:1px solid rgba(var(--songbook-accent-rgb),.4)!important;border-radius:8px;background:rgba(var(--songbook-accent-rgb),.06)!important;box-sizing:border-box}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-stepper{width:28px!important;min-width:28px!important;max-width:28px!important;flex:0 0 28px!important;height:24px!important;min-height:24px!important;margin:0!important;padding:0!important;color:var(--songbook-accent);line-height:1!important}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-live-box-main{flex:0 0 auto!important;min-width:3.2ch!important;width:auto!important;padding:0 4px!important;gap:1px!important;text-align:center}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-live-value{font-size:.9rem!important;line-height:1!important;color:var(--pre-text-color,#fff)}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-transpose-value{font-size:.64rem!important;line-height:1!important;color:var(--songbook-accent);opacity:1}

/* A quiet numeric speed reference on tablet / mobile, matching desktop. */
.tv-navigation-autoscroll-control .tv-autoscroll-speed-value{display:block;flex:0 0 3ch;min-width:3ch;text-align:right;font:600 11px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--songbook-accent,#ffc86d);opacity:.82}
.tv-navigation-autoscroll-control:not(.is-active) .tv-autoscroll-speed-value{color:#aaa;opacity:.65}

/* Desktop: smaller key readout and actions immediately beside transpose. */
@media(min-width:1101px){
  body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools){grid-template-columns:max-content 32px 32px minmax(66px,1fr)!important}
  body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-live-value{font-size:calc(.9rem - 1px)!important}
  body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-transpose-value{font-size:calc(.64rem - 1px)!important}
}
/* Two extra pixels between the SONG action header and artist/title. */
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell .tv-song-card>.tv-card-header{padding-bottom:2px!important}

.song-change-notice{top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 32px));padding:20px}
.song-change-notice-row>span{font-size:26px;line-height:1.2}
.song-change-progress{height:5px;margin-top:16px}
.song-change-progress::after{transform:scaleX(0);animation:song-change-forward 7s linear forwards;transform-origin:left}
@keyframes song-change-forward{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Independent chord and fret controls, deliberately dark during live use. */
.transpose-kind { color:#b4aa95;font:600 10px/1 Arial,sans-serif;flex:0 0 auto;padding-right:3px; }
.tab-number-transpose { display:inline-flex;align-items:center;gap:4px;border:1px solid #484338;border-radius:7px;background:#202020;padding:2px 4px;color:#ddd5c6; }
.tab-number-transpose button { min-width:25px;height:25px;padding:0 5px;border:1px solid #48443c;border-radius:5px;background:#272622;color:#e3d8bd;font:16px/1 Arial,sans-serif;cursor:pointer; }
.tab-number-transpose output { min-width:23px;text-align:center;font:600 11px/1 Arial,sans-serif; }
.tabedit-number-tools { display:flex;justify-content:flex-end;margin:4px 0; }
.tabedit-notes-toolbar { flex-wrap:wrap; }
.tv-fret-transpose-group { display:flex;align-items:center;gap:3px;flex:0 0 auto; }
#tv-floating-live-tools:not(.public-tab-live-tools) .tv-floating-inline-group { display:flex;align-items:center;gap:3px; }
#tv-floating-live-tools:not(.public-tab-live-tools) :is(.tv-floating-live-box,.tv-floating-stepper,.tv-control-chip,.tab-number-transpose,button):is(:hover,:active,:focus,.is-active,.is-transposed) { background:#29271f!important;box-shadow:none!important;color:#d8c89e!important;border-color:#625536!important; }
#tv-floating-live-tools .tv-horizontal-scroll { touch-action:none!important; }
#tv-floating-live-tools .tv-horizontal-scroll:active { filter:saturate(.4) brightness(.9)!important;opacity:.8!important; }
.topbar-options-menu[hidden] { display:none!important; }
.songbook-network-dialog { position:fixed;inset:0;margin:auto!important;width:min(380px,calc(100vw - 32px));height:fit-content;padding:20px;border:1px solid #665631;border-radius:14px;background:#202020;color:#eee;font:14px/1.5 Arial,sans-serif; }
.songbook-network-dialog::backdrop { background:#0009; }
.songbook-network-dialog h2 { margin:0 0 10px;font-size:20px; }
.songbook-network-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:18px; }
@media (min-width:1101px) {
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) { grid-template-columns:minmax(120px,1fr) 92px 30px 30px 56px!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-floating-inline-group { grid-column:1!important;grid-row:1!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-fret-transpose-group { grid-column:2!important;grid-row:1!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-mode-icon-btn { grid-column:3!important;grid-row:1!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-notation-mode-btn { grid-column:4!important;grid-row:1!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-setlist-switch-controls { grid-column:5!important;grid-row:1!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip { grid-template-columns:28px minmax(0,1fr) 28px!important;width:100%!important; }
}
@media (max-width:1100px) {
 body:not(.songbook-pwa-embed) > .songbook-global-topbar { top:0!important;height:42px!important;min-height:42px!important;z-index:12000!important;overflow:visible!important; }
 body:not(.songbook-pwa-embed) > .workspace-nav-strip { top:42px!important;bottom:auto!important;height:36px!important;min-height:36px!important; }
 #tv-floating-live-tools:not(.public-tab-live-tools) { gap:4px!important;background:#191919!important;box-shadow:0 2px 8px #0004!important; }
 #tv-floating-live-tools .tv-floating-inline-group { flex:0 0 auto!important; }
 #tv-floating-live-tools #tab-key-chip { min-width:100px!important;width:100px!important; }
 #tv-floating-live-tools .tv-navigation-autoscroll-control { flex:1 1 120px!important;min-width:95px!important;margin:0 3px!important;padding:0 4px!important; }
}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) #tab-key-chip { background:#211f1a!important;border-color:#504937!important;box-shadow:none!important; }
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) #tab-key-chip .tv-floating-stepper { color:#c6b78f!important;background:#28261f!important;box-shadow:none!important; }
/* One combined transpose control per content, with an explicit reset count. */
#tab-key-transpose-value { cursor:pointer; }
@media (min-width:1101px) {
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) { grid-template-columns:minmax(0,1fr) 30px 30px 66px!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-mode-icon-btn { grid-column:2!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-notation-mode-btn { grid-column:3!important; }
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-setlist-switch-controls { grid-column:4!important; }
}
@media (max-width:1100px) {
 body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select { flex:0 1 11ch!important;width:11ch!important;max-width:11ch!important;min-width:64px!important;overflow:hidden;text-overflow:ellipsis; }
 body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-button { flex:1 1 25ch!important;width:25ch!important;max-width:34ch!important;min-width:100px!important;font-size:10px!important; }
}
/* The target switch changes which transpose state the same box controls. */
.transpose-mode-button { flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:25px!important;min-height:25px!important;margin:0!important;padding:0!important;border:1px solid #514b3d!important;border-radius:5px!important;background:#24221d!important;color:#c8b98e!important;box-shadow:none!important;font:600 11px/1 Arial,sans-serif!important;cursor:pointer; }
.transpose-mode-button[aria-pressed=true] { background:#29251c!important;border-color:#78643b!important;color:#ddc997!important; }
#tv-floating-live-tools .tv-floating-inline-group > .transpose-mode-button { margin-right:3px!important; }
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip{width:max-content!important;max-width:none!important;flex:0 0 auto!important}

body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip {height:31px!important;min-height:31px!important;padding:2px!important;border-color:#625536!important;background:#24221d!important;gap:3px!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-live-box-main {flex:0 0 36px!important;width:36px!important;min-width:36px!important;padding:0!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-stepper {height:25px!important;min-height:25px!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .tv-floating-live-value {font:600 13px/1 Arial,sans-serif!important;}
@media(max-width:1100px){
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell :is(.tv-song-card,.tv-current-tab-shell) > .tv-card-header {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:6px!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell :is(.tv-song-card,.tv-current-tab-shell) > .tv-card-header .tv-card-heading {flex:0 0 auto!important;min-width:0!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell :is(.tv-song-card,.tv-current-tab-shell) > .tv-card-header .tv-card-actions {display:flex!important;flex:0 1 auto!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;margin-left:auto!important;gap:3px!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell :is(.tv-song-card,.tv-current-tab-shell) > .tv-card-header .tv-btn {font:600 10px/1 Arial,sans-serif!important;min-height:23px!important;height:23px!important;padding:2px 6px!important;width:auto!important;min-width:0!important;white-space:nowrap!important;}
}
@media(min-width:1101px){
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools:not(.public-tab-live-tools) {grid-template-columns:max-content 30px 30px 56px!important;column-gap:5px!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-mode-icon-btn {grid-column:2!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-notation-mode-btn {grid-column:3!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .tv-setlist-switch-controls {grid-column:4!important;}
}

body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip {border-color:#424242!important;background:#232323!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip :is(.tv-floating-stepper,.transpose-mode-button) {border-color:#454545!important;background:#292929!important;color:#c4c4c4!important;box-shadow:none!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools #tab-key-chip .transpose-mode-button {border-radius:50%!important;color:var(--songbook-accent)!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools .songbook-transpose-box :is(button,.tv-floating-live-box):is(:hover,:active,:focus,.is-active,.is-transposed) {border-color:#555!important;background:#303030!important;color:#ddd!important;}
body[class*="theme-accent-"] .tabviewer-page-shell :is(.tv-info-kicker,.setlist-mode-section-index) {color:var(--songbook-accent)!important;}
body[class*="theme-accent-"] .tabviewer-page-shell :is(#setlist-mode-btn.active,.tv-setlist-section-tab.is-active,.tv-setlist-section-tab.active) {color:var(--songbook-accent)!important;border-color:rgba(var(--songbook-accent-rgb),.35)!important;background:rgba(var(--songbook-accent-rgb),.09)!important;}
body .tv-reader-fullscreen {display:none!important;}
@media(max-width:1100px){
 body:not(.songbook-pwa-embed) > .songbook-global-topbar .topbar-context-select {flex:0 0 16ch!important;width:16ch!important;min-width:16ch!important;max-width:16ch!important;padding-right:18px!important;}
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) .tabviewer-page-shell .tv-song-card > .tv-card-header .tv-card-actions {display:grid!important;grid-template-columns:max-content max-content!important;gap:4px 6px!important;flex:0 0 auto!important;width:max-content!important;}
 body .tv-reader-fullscreen {display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;right:8px!important;bottom:7px!important;width:27px!important;height:25px!important;min-width:27px!important;padding:3px!important;background:#262626!important;border:1px solid #454545!important;color:#ddd!important;}
 .tv-reader-fullscreen svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;}
 body #tv-floating-live-tools .tv-desktop-zoom-control {padding-right:35px!important;}
}
body.tab-reader-fullscreen > :is(.songbook-global-topbar,.workspace-nav-strip) {display:none!important;}
body.tab-reader-fullscreen {overflow:hidden!important;padding:0!important;}
body.tab-reader-fullscreen #dynamic-content-left {display:none!important;}
body.tab-reader-fullscreen #dynamic-content-right {position:fixed!important;inset:0!important;left:0!important;top:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;z-index:14000!important;overflow:auto!important;}
body.tab-reader-fullscreen .tabviewer-page-shell {padding:0 0 115px!important;}
body.tab-reader-fullscreen #tv-floating-live-tools {position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;z-index:14020!important;}
body.tab-reader-fullscreen .tabviewer-page-shell > :is(.tv-top-grid,.tv-setlist-mode-shell) {display:none!important;}
body[class*="theme-accent-"] :is([data-playlist-workspace-tab].is-active,[data-setlist-workspace-tab].is-active,.bookpage-toolbar-summary,.workspace-add-section-btn,.setlist-mode-section-index) {color:var(--songbook-accent)!important;}
body[class*="theme-accent-"] :is([data-playlist-workspace-tab].is-active,[data-setlist-workspace-tab].is-active) {background:rgba(var(--songbook-accent-rgb),.09)!important;border-color:rgba(var(--songbook-accent-rgb),.35)!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed))[class*="theme-accent-"] #tv-floating-live-tools .tv-setlist-switch-btn-next {color:var(--songbook-accent)!important;border-color:rgba(var(--songbook-accent-rgb),.35)!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools button:not(:disabled):hover {background:#303030!important;border-color:#555!important;}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools :is(button,input,[role="button"]):focus-visible {outline-color:rgba(var(--songbook-accent-rgb),.5)!important;}
@media(max-width:1100px){body #tv-floating-live-tools .tv-desktop-autoscroll-control {padding-right:35px!important;}}
body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed))[class*="theme-accent-"] .tabviewer-page-shell :is(#setlist-mode-top-btn.active,#setlist-mode-btn.active,#setlist-mode-btn.active-setlist) {color:var(--songbook-accent)!important;border-color:rgba(var(--songbook-accent-rgb),.35)!important;background:rgba(var(--songbook-accent-rgb),.09)!important;}
body[class*="theme-accent-"] :is(#bookpage-source-summary-label,#bookpage-current-playlist-span,#setlist-add-section,.setlist-mode-section-index) {color:var(--songbook-accent)!important;}

/* Content-only fullscreen; the same return button keeps its viewport coordinates. */
body.tab-reader-content-fullscreen {overflow:hidden!important;}
body > .tab-reader-fullscreen-overlay {position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-height:none!important;margin:0!important;padding:12px!important;box-sizing:border-box!important;overflow:auto!important;background:#181818!important;z-index:30000!important;display:block!important;}
body > .tab-reader-fullscreen-overlay #tab-content-stack {position:static!important;width:100%!important;max-height:none!important;min-height:calc(100dvh - 24px)!important;margin:0!important;}
body > .tab-reader-fullscreen-overlay :is(.tabviewer-pre,#setlist-mode-content) {min-height:calc(100dvh - 48px)!important;}
body.tab-reader-content-fullscreen > #tv-reader-fullscreen {display:flex!important;align-items:center!important;justify-content:center!important;background:#292929!important;border:1px solid #666!important;color:#eee!important;border-radius:6px!important;pointer-events:auto!important;}
body.tab-reader-content-fullscreen > #tv-reader-fullscreen svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;}

body > .tab-reader-fullscreen-overlay #tab-content-viewport {height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;width:100%!important;overflow:auto!important;}

body:is(.tab-reader-content-fullscreen,.songbook-tab-fullscreen) > :is(.songbook-global-topbar,.workspace-nav-strip) {display:none!important;}
body.songbook-tab-fullscreen {overflow:hidden!important;padding:0!important;}
body.songbook-tab-fullscreen > .songbook-pwa-tabs-stage {position:fixed!important;inset:0!important;top:0!important;left:0!important;width:100vw!important;height:100dvh!important;z-index:29000!important;}
@media(max-width:1100px){
 body #tv-floating-live-tools .tv-reader-fullscreen {box-sizing:border-box!important;width:25px!important;min-width:25px!important;max-width:25px!important;height:24px!important;min-height:24px!important;margin:0!important;right:10px!important;bottom:9px!important;padding:3px!important;}
}
body.tab-reader-content-fullscreen > #tv-reader-fullscreen {box-sizing:border-box!important;min-width:0!important;min-height:0!important;}
@media(max-width:1100px){
 body:is(.songbook-pwa-embed,:not(.songbook-pwa-embed)) #tv-floating-live-tools.tv-floating-live-tools:not(.public-tab-live-tools) {padding-right:42px!important;box-sizing:border-box!important;}
 body #tv-floating-live-tools :is(.tv-desktop-autoscroll-control,.tv-navigation-autoscroll-control) {flex:1 1 70px!important;min-width:65px!important;width:calc(100% - 38px)!important;padding-right:0!important;}
 body #tv-floating-live-tools .tv-reader-fullscreen {right:9px!important;bottom:8px!important;}
}
