/* BandHQ v0.9.15.1 - GAS-inspired view-only refinements.
   Existing IDs, business data, security and form listeners are preserved. */
:root{--gas-blue:#8eb5ff;--gas-soft:#6f91c2;--gas-teal:#65c8af}
.bh-dashboard{background:transparent;border:0;box-shadow:none;padding:0}
.bh-dashboard>.panel-head{padding:0 0 13px;align-items:flex-end}
.bh-dashboard>.panel-head h2{font-size:18px}
.bh-dashboard-kicker{display:grid;gap:5px;margin:4px 0 13px}
.bh-dashboard-kicker>span{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#a7caff}
.bh-dashboard-kicker>strong{font-size:16px;color:#fff}
.bh-gas-feature-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.95fr);gap:14px}
.bh-featured{background:linear-gradient(145deg,#283d5a,#1d2b3f 75%);border:1px solid #4a6589;border-radius:15px;padding:22px;min-width:0}
.bh-featured-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:16px}
.bh-small-label{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#afcffa}
.bh-tag{display:inline-flex;border-radius:999px;padding:6px 10px;background:#2d4a67;border:1px solid #4a6b8b;font-size:11px;color:#e5f3ff;white-space:nowrap}
.bh-featured h2{font-size:clamp(21px,2vw,29px);margin:0 0 6px;letter-spacing:-.5px}
.bh-muted-line{color:#bad5f5;font-size:12px;margin:0 0 18px}
.bh-featured-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bh-feature-pill{background:#192a42;border:1px solid #47617e;padding:12px;border-radius:10px;display:grid;gap:5px}
.bh-feature-pill small{color:#a8c9f2;font-size:11px}
.bh-feature-pill strong{font-size:20px;color:#f6fbff}
.bh-feature-progress{display:grid;gap:8px;margin-top:18px}
.bh-feature-progress-line{display:flex;justify-content:space-between;gap:9px;font-size:12px}
.bh-feature-progress-line strong{font-variant-numeric:tabular-nums}
.bh-feature-progress>small{color:#9fb9d8;font-size:11px}
.bh-progress-track{height:8px;border-radius:99px;background:#152439;overflow:hidden}
.bh-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#80aaff,#60c7b1);border-radius:99px}
.bh-feature-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.bh-feature-actions>button{font-size:12px}
.bh-figures{background:#1b293b;border:1px solid #304966;padding:18px;border-radius:15px}
.bh-figures h3{margin:2px 0 12px;font-size:15px}
.bh-figures .bh-dashboard-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.bh-figures .bh-stat{border:1px solid #425c7b;border-radius:11px;background:#263850;padding:13px;min-height:96px}
.bh-figures .bh-stat small{font-size:11px;color:#b5d0f4}
.bh-figures .bh-stat strong{font-size:26px}
.bh-dashboard-columns{margin-top:14px;align-items:stretch}
.bh-dashboard-columns>div{border:1px solid #314a69;border-radius:14px;padding:18px;background:#1b293b!important}
.bh-dashboard-columns h3{font-size:15px;margin:0 0 14px!important}
.bh-dashboard-row{padding:13px;background:#26384f;border:1px solid #365574;border-radius:10px;text-align:left;min-width:0}
.bh-dashboard-row-top{display:flex;align-items:center;gap:10px;justify-content:space-between}
.bh-dashboard-row-top b{font-size:12px;color:#a7c9ff;white-space:nowrap}
.bh-dashboard-link{cursor:pointer;width:100%;color:inherit;font:inherit;min-height:unset}
.bh-dashboard-link:hover{border-color:#89b2e7;background:#314863}
.bh-page-view[data-page-view=overview]>.panel{padding:0}
/* Concert overview: 4 summary cards + accessible disclosure panels. */
.bh-page-view[data-page-view=concerts] #concertDetailPanel{background:transparent;border:0;padding:2px 0 20px;box-shadow:none}
.bh-back-link{font-size:12px;color:#a6c8ff;background:transparent;border:0;padding:3px 0 14px;cursor:pointer;display:block}
.bh-back-link:hover{text-decoration:underline}
.bh-detail-head{margin-bottom:17px;align-items:flex-start}
.bh-detail-head h2{font-size:24px;margin:0 0 5px}
.bh-detail-head .muted{font-size:12px;margin:0}
.bh-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.bh-detail-card{border:1px solid #3e546f;border-radius:12px;background:#1b293b;padding:17px;min-width:0;display:flex;flex-direction:column;gap:8px;min-height:142px}
.bh-detail-card h3{font-size:14px;margin:0 0 2px!important;color:#f2f7ff}
.bh-detail-keyvals{display:grid;gap:9px}
.bh-detail-keyval{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;font-size:12px}
.bh-detail-keyval>span{color:#a9c1df;flex:0 0 auto}
.bh-detail-keyval>strong{font-size:12px;text-align:right;overflow-wrap:anywhere;white-space:pre-wrap}
.bh-watch-note{font-size:12px;color:#d7e5f6;white-space:pre-wrap;margin:0;line-height:1.6}
.bh-mini-timeline{display:flex;gap:14px;padding:5px 0;font-size:12px}
.bh-mini-timeline strong{color:#aaccff;min-width:42px}
.bh-small-action{margin-top:auto;align-self:flex-start;min-height:31px!important;font-size:11px;padding:5px 9px}
#concertDetailTaskMini>strong{color:#b8dcff;font-size:17px}
#concertDetailTaskMini>p{font-size:12px;margin:7px 0}
.bh-page-view[data-page-view=concerts] #concertDetailActions{margin:14px 0 20px}
.bh-detail-fold{display:block;background:#1b293b;border:1px solid #334b69;border-radius:12px;margin:10px 0;overflow:hidden}
.bh-detail-fold summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 16px;min-height:65px}
.bh-detail-fold summary::-webkit-details-marker{display:none}
.bh-detail-fold summary:hover{background:#263950}
.bh-detail-fold summary>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}
.bh-detail-fold summary strong{font-size:13px;color:#fff}
.bh-detail-fold summary small{color:#a6c1e4;font-size:11px}
.bh-fold-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;background:#2b4260;border:1px solid #47698a;border-radius:9px;color:#a6c7fd;font-size:17px}
.bh-fold-chevron{background:#283d55;border:1px solid #486482;border-radius:8px;width:30px;height:30px;display:grid;place-items:center;color:#acc8ed}
.bh-detail-fold[open] .bh-fold-chevron{transform:rotate(180deg)}
.bh-fold-content{padding:3px 16px 17px;border-top:1px solid #314865}
.bh-fold-content h3{font-size:14px;margin:15px 0 10px}
.bh-fold-content .bh-facts{margin:12px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
.bh-fold-content .bh-note{margin-top:12px}
.bh-detail-fold:focus-within{border-color:#6989ba}
/* Finance dashboard - shapes and hierarchy from the original GAS UI. */
.bh-page-view[data-page-view=finances] #financePanel{background:transparent;border:0;padding:0;box-shadow:none}
.fi-heading{margin-bottom:15px}
.fi-heading h2{font-size:19px}
.fi-scope-segments{display:inline-flex;align-items:center;border:1px solid #3b5271;border-radius:10px;background:#1c2d42;padding:4px;gap:3px;margin:6px 0}
.fi-scope-segments button{font:inherit;color:#d1def1;background:transparent;border:0;padding:9px 13px;border-radius:8px;font-size:12px;cursor:pointer}
.fi-scope-segments button.active{background:#8bb6ff;color:#142338;font-weight:750}
.fi-scope-segments button:focus-visible{outline:2px solid #e9f2ff}
.fi-hide-original-scope{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.fi-panel .fi-filter-bar{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:4px 0 12px}
.fi-panel .fi-filter-bar label{width:160px}
.fi-context{border:1px solid #354f6e;background:#1b293b;border-radius:11px;padding:14px 16px;display:grid;gap:5px;margin:6px 0 13px}
.fi-context strong{font-size:14px}.fi-context small{font-size:11px;color:#a9c2e3;line-height:1.5}
.fi-panel .fi-currency-tip{margin:5px 0 13px}
.fi-panel .fi-stats{margin:10px 0 14px}
.fi-panel .fi-stat{background:#253951;border:1px solid #3e5877;border-radius:12px;min-height:95px}
.fi-panel .fi-stat strong{font-size:clamp(17px,1.65vw,24px)}
.fi-insights-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:12px;margin-bottom:13px}
.fi-insights-left{min-width:0;display:grid;gap:12px;align-content:start}
.fi-insights-grid .fi-block{margin:0;min-width:0}
.fi-caption{font-size:11px;color:#a6bedb;line-height:1.45;margin:-6px 0 15px}
.fi-month-block{align-self:start}
.fi-months{display:grid;gap:11px}
.fi-month-row{display:grid;grid-template-columns:70px minmax(0,1fr) 120px;gap:9px;align-items:center;font-size:11px}
.fi-month-row>strong{font-size:11px}
.fi-month-bars{display:grid;gap:5px}
.fi-month-bars .fi-track{height:8px;background:#33455c}
.fi-month-plan{background:#8bb7fd}
.fi-month-real{background:#65c9ae}
.fi-month-negative{background:#ea8d88}
.fi-month-values{display:grid;gap:4px;text-align:right;font-variant-numeric:tabular-nums}
.fi-month-values strong{font-size:10px;overflow-wrap:anywhere}
.fi-month-values small{font-size:10px;color:#9eb9da}
.fi-category-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #344a65}
.fi-category-item:last-child{border-bottom:0;padding-bottom:0}
.fi-category-copy{display:grid;gap:6px}.fi-category-copy strong{font-size:12px}.fi-category-copy small{color:#afc5df;font-size:11px}
.fi-category-value{display:grid;text-align:right;gap:6px;white-space:nowrap}.fi-category-value strong{font-size:12px}.fi-category-value small{font-size:10px;color:#9fb7d1}
.fi-event-rollup{margin:0 0 14px}
.fi-event-entry{border:1px solid #3b5473;background:#24354c;width:100%;padding:12px;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font:inherit;margin:7px 0}
.fi-event-entry:hover{border-color:#86afe3;background:#2d4360}
.fi-event-name{display:grid;gap:6px}.fi-event-name strong{font-size:12px}.fi-event-name small{font-size:11px;color:#a7bfdc}
.fi-event-amounts{display:grid;gap:6px;text-align:right}.fi-event-amounts>span{color:#b4ceef;font-size:11px}.fi-event-amounts>strong{font-size:12px}
@media(max-width:960px){.bh-gas-feature-grid,.fi-insights-grid{grid-template-columns:1fr}.bh-figures .bh-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.bh-detail-summary{grid-template-columns:1fr}.bh-fold-content .bh-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-month-row{grid-template-columns:64px minmax(0,1fr) 105px}}
@media(max-width:640px){.bh-figures .bh-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bh-featured{padding:15px}.bh-dashboard-columns>div{padding:13px}.bh-detail-summary{gap:9px}.bh-detail-card{min-height:unset}.bh-fold-content .bh-facts{grid-template-columns:1fr}.fi-panel .fi-filter-bar{justify-content:stretch}.fi-panel .fi-filter-bar label{flex:1;width:auto;min-width:120px}.fi-panel .fi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-month-row{grid-template-columns:58px minmax(0,1fr) 92px;gap:5px}.fi-month-values strong,.fi-month-values small{font-size:9px}.fi-event-entry{align-items:flex-start;flex-wrap:wrap}.fi-event-amounts{text-align:left}.bh-detail-head{flex-wrap:wrap}}

/* Keep GAS-like overview focused rather than duplicating module names. */
.bh-dashboard>.panel-head>div:first-child{display:none}
.bh-dashboard>.panel-head{justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.bh-concert-detail-open #concertsPanel{display:none!important}
.fi-scope-segments{vertical-align:middle;margin-right:14px}
.fi-filter-bar{margin-top:2px!important}

/* Avoid duplicate page headings; on the detail view, the concert is the heading. */
.bh-page-view[data-page-view=finances] .fi-heading>div:first-child{display:none}
.bh-page-view[data-page-view=finances] .fi-heading{justify-content:flex-end;margin-bottom:3px}
body:has(.bh-page-view[data-page-view="concerts"]:not(.bh-page-hidden) #concertDetailPanel:not(.hidden)) .bh-page-intro{display:none}


/* BandHQ 0.9.15.2 – directly editable production cards (GAS layout evolution). */
.bh-editor-tip{border:1px solid #415c7d;border-radius:11px;background:#1c2f47;padding:13px 15px;font-size:13px;color:#c6dcf6;margin:12px 0}
.bh-production-section{margin:18px 0 23px}
.bh-section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 13px;padding:0 3px}
.bh-section-heading h3{font-size:17px;color:#fff;margin:3px 0 5px}
.bh-section-heading p{font-size:12px;margin:0;max-width:750px}
.bh-production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bh-production-card{background:#1d2b3e;border:1px solid #395473;border-radius:14px;padding:17px;min-width:0;display:flex;flex-direction:column;gap:13px}
.bh-production-card>header{display:flex;align-items:center;gap:11px}
.bh-production-card header>div{display:grid;gap:3px;min-width:0}
.bh-production-card h4{font-size:15px;margin:0;color:#fff}
.bh-card-state{font-size:11px;color:#a6c8f2}
.bh-production-icon{width:39px;height:39px;flex:none;border-radius:11px;border:1px solid #47678d;background:#2c4360;display:grid;place-items:center;font-size:20px;color:#b6d4ff}
.bh-production-summary{display:grid;gap:9px;flex:1}
.bh-production-data{display:flex;justify-content:space-between;align-items:start;gap:8px;font-size:12px}
.bh-production-data>span{color:#9eb6d5;flex:0 0 auto}
.bh-production-data>strong{color:#ecf4ff;text-align:right;overflow-wrap:anywhere;max-width:70%;font-size:12px}
.bh-production-card .bh-production-toggle{align-self:flex-start;font-size:12px;min-height:35px;padding:8px 12px}
.bh-production-form{border-top:1px solid #344b66;padding-top:14px;display:grid;gap:12px}
.bh-production-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.bh-production-fields>label{display:grid;gap:6px;font-size:12px;color:#bdd5f2;min-width:0}
.bh-production-fields input,.bh-production-fields select,.bh-production-fields textarea{width:100%;min-width:0;min-height:38px}
.bh-production-fields label.bh-wide-field{grid-column:1 / -1}
.bh-production-check{display:flex;align-items:center;gap:9px;color:#d5e5f7;font-size:12px}
.bh-production-check input{width:auto;min-width:unset;min-height:unset}
.bh-production-form-actions{display:flex;flex-wrap:wrap;gap:9px}
.bh-production-form-actions button{font-size:12px}
.bh-production-form [disabled]{opacity:.6;cursor:not-allowed}
.bh-production-total{display:flex;justify-content:space-between;align-items:center;border:1px solid #3c5b78;background:#253953;border-radius:12px;padding:15px 17px;margin-top:12px;gap:12px}
.bh-production-total span{font-size:12px;color:#b9d4f2}
.bh-production-total strong{font-size:20px;color:#70cfb4;font-variant-numeric:tabular-nums}
.bh-production-disclaimer{font-size:11px;color:#9bb8d9;margin:10px 3px 0;line-height:1.6}
.bh-production-card .hidden,.bh-production-section .hidden{display:none!important}
@media(max-width:870px){.bh-production-grid{grid-template-columns:1fr}}
@media(max-width:520px){.bh-production-card{padding:13px}.bh-production-fields{grid-template-columns:1fr}.bh-production-total{flex-wrap:wrap}.bh-production-data>strong{max-width:65%}}
/* BandHQ v0.9.17.0 Documents */
.bh-doc-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0 22px}.bh-doc-toolbar label{min-width:210px;flex:1}.bh-doc-toolbar button{flex:0 0 auto}
.bh-doc-list{display:grid;gap:12px}.bh-doc-card{display:flex;gap:16px;justify-content:space-between;align-items:center;background:#1b293a;border:1px solid #36485e;border-radius:13px;padding:18px}
.bh-doc-main{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.bh-doc-main strong{font-size:1rem}.bh-doc-main small{color:#9db7d9}.bh-doc-main p{white-space:pre-wrap;margin:0}.bh-doc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.bh-doc-source{display:flex;gap:18px;flex-wrap:wrap}.bh-doc-source label{display:flex;align-items:center;gap:6px}
@media(max-width:740px){.bh-doc-card{align-items:stretch;flex-direction:column}.bh-doc-actions{justify-content:flex-start}.bh-doc-toolbar{flex-direction:column;align-items:stretch}.bh-doc-toolbar label{min-width:0;width:100%}}

.bh-cost-summary{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}.bh-cost-summary span{font-size:12px;color:#b8cee9}.bh-cost-summary strong{text-align:right;font-size:14px;white-space:nowrap}
