.workspace-page{height:100vh;overflow:hidden;padding:0}.workspace-sidebar{position:fixed;top:0;bottom:0;left:0;width:220px;padding:32px 20px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.workspace-sidebar .brand{font-size:17px;letter-spacing:2px;margin:0 5px 46px}.workspace-caption{font-size:10px;color:var(--muted);letter-spacing:2px;margin:0 12px 18px}.workspace-sidebar nav{display:flex;flex-direction:column;gap:7px}.workspace-sidebar nav a{display:flex;align-items:center;gap:13px;min-height:48px;padding:10px 14px;color:var(--muted);text-decoration:none;border-radius:12px;font-size:14px}.workspace-sidebar nav a span{width:22px;font-size:21px;text-align:center}.workspace-sidebar nav a[aria-current=page]{background:var(--bg);color:var(--gold);font-weight:700}.workspace-sidebar nav a:hover{background:var(--bg)}.workspace-note{margin-top:auto;border-top:1px solid var(--line);padding:20px 12px;color:var(--muted);font-size:12px}.workspace-note>span{font-size:8px;letter-spacing:1px}.workspace-note strong{display:block;font-size:15px;color:var(--text);margin-top:14px}.workspace-content{margin:0 0 0 220px;padding:0;max-width:none;height:100%;position:relative}.workspace-content iframe{display:block;width:100%;height:100%;border:0;background:var(--bg)}.workspace-content iframe[hidden]{display:none!important}
/* Embedded documents keep their controllers alive while the shell changes views. */
.embedded.player-page{padding-left:0!important}.embedded.player-page .player-sidebar{display:none!important}.embedded.player-page .player-dock{left:0}.embedded.admin-page .admin-sidebar,.embedded.admin-page>.topbar,.embedded.admin-page footer{display:none!important}.embedded.admin-page>main{margin-left:0!important;max-width:none}.embedded .workspace-title{display:flex}.embedded .mobile-brand{display:none}.embedded.player-page .topbar{min-height:74px}.embedded.player-page .player-dock{left:10px;right:10px}
@media(min-width:1180px) and (pointer:fine){.embedded.player-page .player-dock{left:0;right:0}.workspace-sidebar{background:#fff}}
/* One bottom bar belongs to the shell, even on wide touch tablets. The iframe
   ends above it, so the playback dock and admin actions cannot sit underneath. */
.workspace-page{height:100dvh}
@media(max-width:1179px),(pointer:coarse){
  .workspace-page{--workspace-nav-height:72px}
  .workspace-sidebar{position:fixed;inset:auto 0 0;width:100%;height:calc(var(--workspace-nav-height) + env(safe-area-inset-bottom,0px));padding:4px max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px));border-right:0;border-top:1px solid var(--line);background:var(--panel)}
  .workspace-sidebar>.brand,.workspace-caption,.workspace-note,.workspace-sidebar>p{display:none}
  .workspace-sidebar nav{height:100%;flex-direction:row;gap:4px;justify-content:space-around;align-items:center}
  .workspace-sidebar nav a{flex:1;justify-content:center;flex-direction:column;padding:5px 3px;gap:1px;min-height:56px;font-size:11px;white-space:nowrap}
  .workspace-sidebar nav a span{font-size:22px;width:auto;line-height:1.25}
  .workspace-content{margin:0;height:calc(100% - var(--workspace-nav-height) - env(safe-area-inset-bottom,0px))}
  .embedded.player-page{padding-bottom:152px}
  .embedded.player-page .topbar{padding:12px 18px;min-height:64px}
  .embedded .workspace-title{font-size:13px}
  .embedded .workspace-title small{display:none}
  .embedded.player-page .mobile-nav{position:sticky;top:0;bottom:auto;display:flex;gap:4px;justify-content:center;min-height:54px;padding:4px 12px;border:0;border-bottom:1px solid var(--line);background:var(--bg);z-index:9}
  .embedded.player-page .mobile-nav a{flex:1;max-width:160px;min-height:44px;flex-direction:row;gap:6px;font-size:12px;padding:4px 8px}
  .embedded.player-page .mobile-nav a span{font-size:18px}
  .embedded.player-page .player-dock{bottom:10px}
  .embedded.player-page :is(#preparation,#music-panel,#effects-panel,#cue-desk,#storage){scroll-margin-top:66px}
}
@media(max-width:390px){.workspace-sidebar nav a{font-size:10px}.embedded.player-page .mobile-nav a{font-size:11px;padding:4px}.embedded.player-page .mobile-nav a span{display:none}}
/* The workspace owns navigation; embedded documents never add a second bar. */
.embedded.player-page .mobile-nav { display:none!important; }
.workspace-page.workspace-navigation-hidden .workspace-sidebar{display:none!important}
.workspace-page.workspace-navigation-hidden .workspace-content{margin-left:0!important;height:100%!important}
@media(max-width:650px) {
  .workspace-sidebar nav { gap:0; }
  .workspace-sidebar nav a { font-size:10px; min-width:0; white-space:normal; text-align:center; line-height:1.2; padding:4px 2px; }
}
