/* v2.3.0-r3 live-release surface policy: premium type, readable themes, no glass blur or decorative glow. */
@font-face{
  font-family:"B-Side Premium Display";
  src:url("/assets/fonts/manrope-variable.ttf") format("truetype");
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}
:root{--font-display:"B-Side Premium Display","Festival Display","Arial Narrow",sans-serif}
:where(h1,h2,h3,h4,.hero-title,.day-date,.command-title h1,.stage-hero h1,.modal-head h2,.auth-art h2){
  font-family:var(--font-display)!important;
  font-variation-settings:"wght" 700;
}
/* Manrope needs room for descenders and wrapped lines. Keep these rules with
   the font override so release packaging carries type and spacing together. */
.gig-workspace-title h1,
.festival-gig-hero .hero-title,
.title-row h1,
.today-title h1,
.section-heading h2,
.show-mode-hero h1{
  line-height:1.15;
  margin-bottom:12px;
  overflow-wrap:anywhere;
}
.gig-workspace-title{min-width:0;display:grid;gap:12px}
.gig-workspace-title h1,.gig-workspace-title p{margin:0}
.gig-workspace-title p{line-height:1.5;overflow-wrap:anywhere}
*,*::before,*::after{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Opaque replacements for surfaces that previously depended on glass blur. */
.topbar{background:var(--fad-bg,var(--bg))!important}
.sidebar{background:var(--sidebar)!important}
.quick-create-menu,
.user-menu-panel,
.command-palette,
.pwa-update-notice{background:var(--fad-panel-solid,var(--panel))!important}
.mobile-bottom-nav{background:var(--fad-bg,var(--panel))!important}
.chat-thread-head{background:var(--panel2)!important}
.show-mode-top{background:#0b0d0a!important}
.entrance-access-card{
  background:var(--pass,var(--fad-panel-solid))!important;
  color:var(--pass-ink,var(--fad-ink))!important;
  box-shadow:0 24px 60px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] .entrance-access-card{
  background:#12160f!important;
  border-color:rgba(200,239,50,.34)!important;
}
html[data-theme="light"] .entrance-access-card{
  background:#fffef8!important;
  color:#1f2418!important;
  border-color:rgba(102,121,37,.34)!important;
  box-shadow:0 22px 54px rgba(49,60,31,.12)!important;
}
.site-header,
.feature-jump{background:var(--panel)!important}
.show-card{background:#0c1009!important}
.button-ghost{background:var(--panel)!important}

/* Remove decorative halo layers while preserving operational colour cues. */
.site-glow,
.feature-card-dark::after,
.entrance-show-file::before,
.festival-gig-hero::before,
.festival-gig-light,
.gig-workspace-hero::before,
.gig-workspace-hero::after,
.fee-hero::after,
.band-identity-preview::before,
.band-identity-preview::after{display:none!important}
.brand img,
.stage-gear-shelf .stage-palette .stage-item-icon{filter:none!important}
body{background:var(--fad-bg,var(--bg))!important}
.entrance-shell{background:#080a06!important}
html[data-theme="light"] .entrance-shell{background:var(--entrance-road,#eef1e5)!important}
.festival-gig-hero{background:#11160d!important;background-image:none!important}
.gig-workspace-hero{background:#11160d!important;background-image:none!important}
.band-identity-preview,
.event-widget,
.show-mode-shell{background-image:none!important}
.card,
.workspace-panel,
.table-wrap,
.todo-command,
.settings-card,
.attention-board,
.today-schedule,
.quick-actions,
.dashboard-lower-grid>.card,
.festival-gig-hero,
.gig-workspace-hero,
.fee-hero{
  background:var(--fad-panel-solid,var(--panel))!important;
  background-image:none!important;
  box-shadow:0 18px 48px rgba(0,0,0,.14)!important;
}
html[data-theme="light"] .card,
html[data-theme="light"] .workspace-panel,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] .todo-command,
html[data-theme="light"] .settings-card,
html[data-theme="light"] .attention-board,
html[data-theme="light"] .today-schedule,
html[data-theme="light"] .quick-actions,
html[data-theme="light"] .dashboard-lower-grid>.card,
html[data-theme="light"] .festival-gig-hero,
html[data-theme="light"] .gig-workspace-hero,
html[data-theme="light"] .fee-hero{
  background:var(--fad-panel-solid,var(--panel))!important;
  box-shadow:0 16px 38px rgba(43,50,27,.09)!important;
}
/* Light theme heading contrast for surfaces that previously used white-on-dark art direction. */
html[data-theme="light"] .festival-gig-hero,
html[data-theme="light"] .gig-workspace-hero,
html[data-theme="light"] .fee-hero{color:var(--fad-ink)!important}
html[data-theme="light"] .festival-gig-hero .hero-title,
html[data-theme="light"] .gig-workspace-title h1,
html[data-theme="light"] .gig-date-orbit strong,
html[data-theme="light"] .festival-call-times b,
html[data-theme="light"] .festival-gig-hero .hero-meta,
html[data-theme="light"] .gig-workspace-title p,
html[data-theme="light"] .gig-date-orbit b,
html[data-theme="light"] .gig-date-orbit small,
html[data-theme="light"] .festival-readiness>div span,
html[data-theme="light"] .festival-readiness small{color:var(--fad-ink)!important}
html[data-theme="light"] .festival-gig-hero .hero-meta,
html[data-theme="light"] .gig-workspace-title p,
html[data-theme="light"] .gig-date-orbit b,
html[data-theme="light"] .gig-date-orbit small,
html[data-theme="light"] .festival-readiness>div span,
html[data-theme="light"] .festival-readiness small{color:var(--fad-muted)!important}
html[data-theme="light"] .festival-call-times>div,
html[data-theme="light"] .gig-date-orbit{background:var(--fad-panel-soft)!important;border-color:var(--fad-line)!important}
html[data-theme="light"] .today-title.branded h1,
html[data-theme="light"] .today-title.branded p,
html[data-theme="light"] .band-identity-preview h2,
html[data-theme="light"] .band-identity-preview p,
html[data-theme="light"] .band-identity-preview .identity-role{color:var(--fad-ink)!important}
.top-actions>.icon-button.help-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;min-height:40px}
.show-mode-shell{background:#050704!important}
/* Performance surfaces follow the selected workspace theme, including pages opened from a gig brief. */
html[data-theme="light"] .show-mode-shell{--surface-stage:#f4f5ef;--surface-stage-panel:#fff;--surface-stage-ink:#171914;--surface-stage-muted:#666d62;--show-rule:#d2d7cc;--show-muted:#666d62;background:var(--surface-stage)!important;color:var(--surface-stage-ink)!important}
html[data-theme="light"] .show-mode-top{background:rgba(244,245,239,.96)!important;border-color:var(--show-rule)!important}
html[data-theme="light"] .show-mode-brand span{color:#5c6658!important}
html[data-theme="light"] .show-mode-top>div>div:last-child{border-color:var(--show-rule)!important}
html[data-theme="light"] .show-mode-top>div>div:last-child span{color:var(--show-muted)!important}
html[data-theme="light"] .show-exit{border-color:#c2c9bd!important;background:#fff!important;color:var(--surface-stage-ink)!important}
html[data-theme="light"] .show-mode-hero p{color:var(--surface-stage-muted)!important}
html[data-theme="light"] .show-next-call{color:#111!important}
html[data-theme="light"] .show-jump-nav{border-color:var(--show-rule)!important;background:#fff!important}
html[data-theme="light"] .show-jump-nav a{color:#687064!important}
html[data-theme="light"] .show-jump-nav a:hover{background:#edf2e5!important;color:#171914!important}
html[data-theme="light"] .show-time-grid,html[data-theme="light"] .show-section{border-color:var(--show-rule)!important;background:var(--surface-stage-panel)!important}
html[data-theme="light"] .show-time-grid span,html[data-theme="light"] .show-time-grid small{color:#687064!important}
html[data-theme="light"] .show-time-grid>div{border-color:var(--show-rule)!important;background:transparent!important}
html[data-theme="light"] .show-time-grid .next{background:#edf2e5!important}
html[data-theme="light"] .show-time-grid .next small{color:#486700!important}
html[data-theme="light"] .show-section-title{border-color:#aebd8b!important}
html[data-theme="light"] .show-section-title span,html[data-theme="light"] .show-section-title>small{color:#687064!important}
html[data-theme="light"] .show-setlist li{border-color:var(--show-rule)!important}
html[data-theme="light"] .show-setlist li>div small,html[data-theme="light"] .show-setlist time{color:#687064!important}
html[data-theme="light"] .show-setlist button{border-color:#c2c9bd!important;background:#edf0e8!important;color:#273025!important}
html[data-theme="light"] .show-tech-status{background:#edf2e5!important}
html[data-theme="light"] .show-tech-status span{color:#687064!important}
html[data-theme="light"] .show-detail{border-color:var(--show-rule)!important}
html[data-theme="light"] .show-detail span{color:#687064!important}
html[data-theme="light"] .show-readiness{border-color:#aebd8b!important;background:#f0f4e6!important}
html[data-theme="light"] .show-readiness span,html[data-theme="light"] .show-readiness small,html[data-theme="light"] .show-muted{color:#687064!important}
html[data-theme="light"] .show-mode-footer{border-color:var(--show-rule)!important;color:#687064!important}
html[data-theme="light"] .lyrics-reader-modal{border-color:#c2c9bd!important;background:#f4f5ef!important;color:#171914!important}
html[data-theme="light"] .lyrics-reader-modal .modal-head,html[data-theme="light"] .lyrics-reader-modal .modal-foot{border-color:#d2d7cc!important;background:#fff!important}
html[data-theme="light"] .lyrics-reader-modal .lyrics-reader-meta{border-color:#d2d7cc!important;color:#687064!important}
html[data-theme="light"] .lyrics-reader-modal .lyrics-reader pre{color:#171914!important}
html[data-theme="light"] .lyrics-reader-modal .lyrics-reader>small{color:#687064!important}
html[data-theme="light"] .lyrics-reader-modal .lyrics-reader>a{color:#486700!important}
html[data-theme="light"] .lyrics-reader-modal .modal-foot .btn.secondary{border-color:#c2c9bd!important;background:#edf0e8!important;color:#273025!important}
html[data-theme="light"] .repertoire-share .share-action-grid .btn.primary small{color:#dce8d2!important}
.band-identity-preview{background:linear-gradient(135deg,color-mix(in srgb,var(--panel2) 82%,var(--band-accent) 18%),var(--panel))!important}
.event-widget{background:linear-gradient(150deg,#080b06,#12170d)!important}
.mission-button.active::before,
.festival-readiness>i span,
.gig-live-state i,
.gig-live-state.cancelled i,
.workspace-check.good>i,
.fee-hero>i,
.fee-hero>i.due,
.pwa-update-signal,
.button-primary,
.button-primary:hover,
.journey-step.is-active>span,
.live-chip i{box-shadow:none!important}

/* Keep onboarding targets obvious with a crisp outline instead of a halo. */
.tour-highlight{
  outline:3px solid var(--lime)!important;
  outline-offset:4px!important;
  box-shadow:none!important;
}

/* v2.3.8 invoice parties: inherit the existing light/dark palette. */
.invoice-editor .invoice-party-section{grid-column:1/-1;min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.invoice-editor .invoice-party-section legend{padding:0 8px;font-family:var(--font-display,inherit);font-size:1.35rem;font-weight:800;color:var(--ink)}
.invoice-editor .invoice-party-name{margin:0 0 14px;color:var(--muted);font-weight:700}
.invoice-editor .invoice-party-section .field{min-width:0}
.invoice-sheet .invoice-bottom p{overflow-wrap:anywhere}
@media(max-width:720px){.invoice-editor .invoice-party-section{padding:14px 12px}}

/* Keep the workspace identity visible while the page title stays in the content area. */
.band-context{min-width:220px;max-width:min(300px,28vw);display:flex;flex-direction:row;align-items:center;gap:10px}
.band-context-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.05}
.band-context-copy span{font:600 .58rem/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fad-cyan)}
.band-context-copy b{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.025em}
.topbar-band-logo{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--fad-line-strong);border-radius:10px;background:linear-gradient(145deg,var(--fad-violet),#53670b);color:#11130f}
.topbar-band-logo img{width:100%;height:100%;display:block;object-fit:cover}
@media(max-width:900px){
  .band-context{min-width:0;max-width:none;gap:8px}
  .band-context-copy span{display:none}
  .band-context-copy b{margin-top:0;font-size:1rem}
  .topbar-band-logo{flex-basis:32px;width:32px;height:32px}
}
