.finance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.finance-cards h2{margin:12px 0 0}.finance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.finance-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;align-items:end}.finance-form label{display:flex;flex-direction:column;gap:7px}.finance-form .finance-check{flex-direction:row;align-items:center}.finance-form .finance-check input{width:auto}.finance-table{overflow-x:auto}.finance-table td,.finance-table th{white-space:nowrap;padding:12px}.finance-table pre{white-space:pre-wrap;max-width:600px}.finance-form button{min-height:42px}#finance-message:empty{display:none}

.finance-form fieldset,.finance-form>p,.finance-form>label:has(textarea){grid-column:1/-1}.finance-form textarea{width:100%;min-height:90px;resize:vertical}.finance-form fieldset{border:1px solid #d9e2e8;border-radius:10px;padding:16px}.finance-form #invoice-items{display:grid;gap:12px}.finance-form #invoice-items fieldset{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:12px}.finance-form #invoice-items .remove-item{grid-column:1/-1;justify-self:start}@media(max-width:760px){.finance-form #invoice-items fieldset{grid-template-columns:1fr}}

.invoice-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  margin: 0 0 16px;
  padding: 12px 18px;
  border: 1px solid #e0e8ee;
  border-radius: 12px;
  background: #fff;
}
.invoice-overview > div { display: flex; align-items: baseline; gap: 10px; }
.invoice-overview dt { color: #536478; font-size: .88rem; }
.invoice-overview dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.invoice-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.invoice-toolbar h2 { margin: 0; }
.invoice-toolbar > div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.invoice-list { width: 100%; table-layout: fixed; border-collapse: collapse; }
.invoice-list th, .invoice-list td { padding: 12px 10px; vertical-align: top; text-align: left; overflow-wrap: anywhere; white-space: normal; }
.invoice-list th { font-size: .8rem; color: #536478; background: #f3f6fa; }
.invoice-list th:nth-child(1) { width: 15%; }
.invoice-list th:nth-child(2) { width: 20%; }
.invoice-list th:nth-child(3), .invoice-list th:nth-child(4) { width: 12%; }
.invoice-list th:nth-child(5) { width: 11%; }
.invoice-list th:nth-child(6) { width: 30%; }
.invoice-list td { border-bottom: 1px solid #e3e9ef; }
.invoice-reference strong { display: block; font-size: .9rem; }
.invoice-status { display: inline-block; margin-top: 6px; padding: 3px 8px; border-radius: 999px; font-size: .75rem; font-weight: 650; }
.invoice-status--neutral { background: #e9eff5; color: #364b62; }
.invoice-status--warning { background: #fff1d8; color: #754405; }
.invoice-status--paid { background: #e1f4ea; color: #225c42; }
.invoice-money { font-variant-numeric: tabular-nums; }
.invoice-money small { display: block; margin-top: 4px; color: #536478; }
.invoice-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; }
.invoice-actions > button { margin: 0; }
.invoice-menu { max-width: 100%; }
.invoice-menu summary { padding: 11px 10px; color: #275682; border-radius: 8px; cursor: pointer; }
.invoice-menu summary:hover { background: #eef4fa; }
.invoice-menu-options { display: grid; gap: 2px; min-width: 0; padding: 4px; border: 1px solid #e0e8ee; border-radius: 10px; background: #fff; }
.invoice-menu-options a, .invoice-menu-options button { display: block; width: 100%; margin: 0; padding: 8px; border: 0; border-radius: 6px; background: transparent; text-align: left; color: #275682; font: inherit; font-size: .88rem; overflow-wrap: anywhere; white-space: normal; }
.invoice-menu-options a:hover, .invoice-menu-options button:not(:disabled):hover { background: #eef4fa; }
.invoice-history { margin-top: 18px; }
.invoice-history summary { cursor: pointer; }
@media (max-width: 900px) {
  .invoice-list, .invoice-list tbody, .invoice-list tr, .invoice-list td { display: block; width: 100%; }
  .invoice-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .invoice-list tbody { display: grid; gap: 10px; }
  .invoice-list tr { padding: 10px 12px; border: 1px solid #e3e9ef; border-radius: 10px; }
  .invoice-list td { padding: 4px 0; border: 0; }
  .invoice-list td[data-label] { display: grid; grid-template-columns: minmax(65px, 28%) minmax(0, 1fr); gap: 8px; }
  .invoice-list td[data-label]::before { content: attr(data-label); color: #536478; }
  .invoice-list td[data-label] small { grid-column: 2; margin: 0; }
  .invoice-list td.invoice-actions-cell { padding-top: 10px; }
}

.invoice-form-back { margin-top: 16px; }

.finance-tabs button.finance-closures-open {
  background: #fce8e7;
  border-color: #c24441;
  color: #8e2827;
  font-weight: 700;
}
.finance-tabs button.finance-closures-open:hover {
  background: #f9d8d6;
  color: #762120;
}

.finance-search-choice { display: grid; gap: 6px; }
.finance-search-choice small:empty { display: none; }
.finance-chart { margin-block-start: 24px; }
.finance-chart-rows { display: grid; gap: 8px; }
.finance-chart-month { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 8px; align-items: center; }
.finance-chart-month:nth-child(odd) { background: rgba(94, 112, 128, .07); }
.finance-chart-bar { display: grid; grid-template-columns: 5.5rem minmax(10px, 1fr) minmax(6rem, auto); gap: 8px; align-items: center; }
.finance-chart-bar progress { width: 100%; min-width: 0; accent-color: #23648f; }
.finance-chart-bar .finance-chart-payments, .finance-chart-bar .finance-chart-actual { accent-color: #29744d; }
.finance-chart-bar strong { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 440px) {
  .finance-chart-month { grid-template-columns: 2.4rem minmax(0, 1fr); gap: 4px; }
  .finance-chart-bar { grid-template-columns: 4.4rem minmax(10px, 1fr) auto; gap: 4px; }
}

.finance-list-search { max-width: 28rem; margin-block: 12px; }
.finance-list-search input { width: 100%; }
.finance-list-search small:empty { display: none; }
tr[data-finance-customer][hidden] { display: none; }

#finance-respio-hint { grid-column: 1 / -1; }
#finance-respio-hint:not(:has(> :not([hidden]))) { display: none; }

.finance-revenue-info{margin-top:10px;font-size:12px;color:#576779}
.finance-revenue-info summary{cursor:pointer;width:fit-content;line-height:1.5;padding:3px 0}
.finance-revenue-info summary:focus-visible{outline:2px solid #1765a8;outline-offset:3px;border-radius:3px}
.finance-revenue-info p{font-size:12px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}
.invoice-context{display:flex;gap:10px 20px;flex-wrap:wrap;color:#687385;font-size:12px;margin:12px 0 18px}

.package-search{display:block;max-width:28rem;margin:1.5rem 0 .5rem}.package-search input{display:block;width:100%;margin-top:.4rem}
.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:1rem;margin-top:1rem}
.session-package{min-width:0;border:1px solid var(--line,#dce3e8);border-radius:14px;padding:1.2rem;background:var(--surface,#fff)}
.session-package h3{margin:.25rem 0;overflow-wrap:anywhere}.package-origin{font-size:.85rem;color:var(--muted,#64748b);line-height:1.5}
.package-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:1.25rem 0}.package-balances div{padding:.6rem;border-radius:8px;background:#f5f7f8}.package-balances dt{font-size:.8rem;color:#526373}.package-balances dd{font-size:1.6rem;font-weight:700;margin:.3rem 0 0}.package-balances .package-remaining{background:#e8f3ee;color:#185940}
.session-package progress{display:block;width:100%;height:.5rem;accent-color:#30775c}.session-package details{margin-top:1rem}.session-package summary{cursor:pointer;font-weight:600}.package-history{list-style:none;padding:0}.package-history li{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid #e5e9ed}.package-history li div{flex:1 1 10rem;min-width:0}.package-history strong{overflow-wrap:anywhere}.package-history small{display:block;color:#64748b;margin-top:.3rem}.package-history button{font-size:.8rem;padding:.4rem .6rem}

/* Finance workspace: primary areas, contextual tools and a quiet daily overview. */
.finance-primary-nav{margin:0 0 10px;gap:5px;padding:6px;background:#e9edf4;border-radius:13px;display:flex;flex-wrap:wrap;flex:none}
.finance-primary-nav button{background:transparent;color:#546174;box-shadow:none;border:0;min-height:40px;padding:10px 15px;font-weight:600;flex:1 0 auto;white-space:nowrap}
.finance-primary-nav button.active{background:#fff;color:#204f9c;box-shadow:0 2px 7px #263b5914}.finance-primary-nav button:hover{background:#ffffffa6}
.finance-primary-nav button.finance-closures-open{background:#fff0ee;color:#a33b33}.finance-primary-nav button.finance-closures-open.active{box-shadow:inset 0 0 0 1px #e8b0aa}
.finance-subnav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;flex:none}.finance-subnav button{font-size:12px;border-color:transparent!important;color:#526174;padding:8px 12px;min-height:36px;box-shadow:none}.finance-subnav button.active{background:#e5edf9;border-color:#d9e4f6!important;color:#20579b}
.finance-metric-period{font-size:11px;color:#7b8797;margin:0 0 9px}.finance-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}.finance-cards .panel{padding:18px 20px;box-shadow:0 2px 10px #21364d05;border-radius:14px}.finance-cards small{font-size:12px;color:#69778a}.finance-cards h2{font-size:clamp(18px,1.8vw,28px);margin:10px 0 0;letter-spacing:-.6px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.finance-cards article:first-child{border-top:3px solid #7195d5}.finance-revenue-info{font-size:11px;margin-top:8px}
#finance-detail.finance-home{padding:26px;background:#fff;border-radius:17px}.finance-home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.finance-home-heading h2{font-size:24px;letter-spacing:-.5px;margin:5px 0}.finance-home-heading p{margin:5px 0}.finance-home-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:28px}.finance-home-chart{min-width:0}.finance-home-tasks{border-left:1px solid #e9edf3;padding-left:24px}.finance-home h3{font-size:15px;margin:0 0 12px}.finance-section-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.finance-section-heading p{font-size:12px;margin:0}.finance-year-filter{display:flex;gap:7px;align-items:end}.finance-year-filter label{font-size:11px;margin:0}.finance-year-filter input{width:90px;padding:7px;margin-top:4px}.finance-year-filter button{padding:8px 10px;font-size:11px;min-height:34px}.finance-chart-totals{display:flex;gap:32px;margin:25px 0 16px;flex-wrap:wrap}.finance-chart-totals small,.finance-chart-totals strong{display:block}.finance-chart-totals small{color:#7a8798;font-size:11px;margin-bottom:7px}.finance-chart-totals strong{font-size:21px;letter-spacing:-.5px}.finance-home-legend{display:flex;gap:18px;font-size:11px;color:#4d7ce4}.finance-home-legend span+span{color:#398473}.finance-home-svg{display:block;width:100%;height:auto;margin:6px 0 0;overflow:visible}.finance-home-svg text{font-size:11px;fill:#7b8797;font-family:inherit}.finance-chart-values{font-size:12px;color:#69778a;margin-top:10px}.finance-chart-values summary{cursor:pointer}
.finance-task{display:flex;width:100%;align-items:center;gap:10px;justify-content:space-between;background:#f6f8fb;color:#5d6b7d;text-align:left;padding:14px;border-radius:10px;margin:9px 0;box-shadow:none;font-size:12px}.finance-task span:first-child{flex:1}.finance-task strong{font-size:18px;min-width:22px;text-align:center}.finance-task.needs-attention{background:#fff3f0;color:#a74736}.finance-task:hover{background:#edf2f9;color:#244d83}.finance-task-note{font-size:11px;line-height:1.6;margin-top:15px}.finance-home-bottom{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:28px;margin-top:28px;padding-top:22px;border-top:1px solid #e9edf3}.finance-quick-links{display:flex;flex-wrap:wrap;gap:8px}.finance-quick-links button,.finance-home-bottom button{font-size:12px;border-color:#d3dce8!important;padding:9px 12px}.finance-mini-budget{display:flex;gap:25px;margin:0 0 13px}.finance-mini-budget dt{font-size:11px;color:#798598}.finance-mini-budget dd{margin:6px 0;font-weight:600;font-size:14px}
@media(max-width:1100px){.finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-home-grid,.finance-home-bottom{grid-template-columns:minmax(0,1fr)}.finance-home-tasks{border-left:0;border-top:1px solid #e9edf3;padding:22px 0 0}.finance-home-bottom{gap:24px}}
@media(max-width:600px){.finance-primary-nav button{flex:1 0 27%;font-size:12px;padding:9px 8px}.finance-primary-nav{margin-top:0}.finance-cards{gap:9px}.finance-cards .panel{padding:14px}.finance-cards h2{font-size:20px}.finance-cards small{font-size:11px}#finance-detail.finance-home{padding:18px}.finance-home-heading{align-items:start}.finance-home-heading h2{font-size:20px}.finance-home-heading p{font-size:12px}.finance-home-heading>button{font-size:11px;padding:8px}.finance-section-heading{flex-direction:column;gap:12px}.finance-year-filter{align-self:end}.finance-chart-totals{gap:20px}.finance-chart-totals strong{font-size:19px}.finance-home-svg text{font-size:13px}.finance-mini-budget{flex-wrap:wrap}}

.finance-analytics-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.finance-analytics-heading h2{margin:5px 0;font-size:24px;letter-spacing:-.5px}.finance-analytics-heading p{margin:5px 0;font-size:12px}.finance-analytics-heading .eyebrow{font-size:9px;letter-spacing:1.2px;color:#93a0b2}.finance-analytics-year{display:flex;align-items:end;gap:7px;flex-shrink:0}.finance-analytics-year label{margin:0;font-size:10px;color:#8290a2}.finance-analytics-year input{width:95px;padding:8px;margin-top:4px}.finance-analytics-year button{min-height:37px;padding:8px 11px;font-size:12px;border-color:#d9e2ef!important;box-shadow:none}.finance-analytics-year [data-year-step]{font-size:19px;width:35px;padding:3px}
.finance-analytics-card{padding:23px 25px;border:1px solid #e2e8f1;border-radius:15px;background:#fff;margin:0 0 22px;min-width:0}.finance-analytics-card-heading h3{margin:0 0 7px;font-size:17px;color:#354c69}.finance-analytics-card-heading p{max-width:750px;font-size:11px;color:#8a97aa;line-height:1.7;margin:0}.finance-analytics-totals{display:flex;flex-wrap:wrap;gap:25px 55px;padding:23px 0 16px}.finance-analytics-totals span,.finance-analytics-readout small{display:flex;align-items:center;gap:7px;font-size:10px;color:#8795a8}.finance-analytics-totals i,.finance-analytics-readout i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.finance-analytics-totals strong{display:block;font-size:25px;color:#334a65;letter-spacing:-.6px;margin-top:8px;font-variant-numeric:tabular-nums}.finance-analytics-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d3ddea transparent}.finance-analytics-svg{display:block;width:100%;min-width:640px;height:auto}.finance-analytics-svg text{font:10px -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;fill:#8b99ac}.finance-analytics-gridline{stroke:#edf1f6;stroke-dasharray:3 5}.finance-analytics-zero{stroke:#dce4ee}.finance-analytics-month{cursor:pointer;outline:none}.finance-analytics-hit{fill:transparent;stroke:transparent}.finance-analytics-month:hover .finance-analytics-hit,.finance-analytics-month[aria-pressed=true] .finance-analytics-hit{fill:#edf2fa;fill-opacity:.6}.finance-analytics-month:focus-visible .finance-analytics-hit{stroke:#7198d3;stroke-width:1.5}.finance-analytics-month:hover text,.finance-analytics-month[aria-pressed=true] text{fill:#3d6195;font-weight:600}.finance-analytics-readout{display:flex;align-items:center;gap:25px;padding:15px 18px;background:#f6f8fc;border-radius:11px;margin:12px 0 15px}.finance-analytics-readout>label{margin:0;font-size:10px;color:#8b97a9;min-width:155px}.finance-analytics-readout select{font-size:12px;padding:8px;margin-top:5px;border-color:#e0e7f1;background:white}.finance-analytics-readout>div{display:flex;flex-wrap:wrap;gap:15px 35px;flex:1}.finance-analytics-readout strong{display:block;font-size:15px;font-weight:600;margin-top:6px;color:#3d536f;font-variant-numeric:tabular-nums}.finance-analytics-swipe{display:none}.finance-analytics-empty{min-height:140px;display:grid;place-items:center;border:1px dashed #e1e7f0;background:#fafbfd;border-radius:10px;color:#99a5b5;font-size:12px;margin:12px 0 20px}.finance-analytics-card .finance-chart-values{color:#8391a5;font-size:11px}.finance-analytics-card .finance-chart-values summary{min-height:32px;cursor:pointer}.finance-analytics-card .finance-table td{font-variant-numeric:tabular-nums}
@media(max-width:850px){.finance-analytics-heading{align-items:start;flex-direction:column}.finance-analytics-year{align-self:flex-end}.finance-analytics-card{padding:20px 16px}.finance-analytics-readout{gap:18px;flex-wrap:wrap}.finance-analytics-swipe{display:block;font-size:10px;color:#9aa6b7;text-align:right;margin:5px 0 12px}}
@media(max-width:500px){.finance-analytics-heading h2{font-size:21px}.finance-analytics-totals{gap:18px 28px}.finance-analytics-totals strong{font-size:20px}.finance-analytics-readout{padding:13px}.finance-analytics-readout>label{width:100%}.finance-analytics-readout>div{gap:20px}.finance-analytics-readout strong{font-size:14px}.finance-analytics-card-heading h3{font-size:16px}}
@media(max-width:500px){.finance-analytics-year button{min-height:44px}.finance-analytics-year [data-year-step]{width:44px}}

.finance-comparison-summary{display:flex;align-items:center;gap:28px;background:#f2f5fa;border:1px solid #e0e7f1;border-radius:11px;padding:17px 19px;margin:0 0 18px}.finance-comparison-summary>div{flex-shrink:0}.finance-comparison-summary span{display:block;font-size:10px;color:#8593a7}.finance-comparison-summary strong{display:block;font-size:21px;letter-spacing:-.4px;color:#425b7c;margin-top:6px;font-variant-numeric:tabular-nums}.finance-comparison-summary p{font-size:11px;color:#8895a7;line-height:1.7;margin:0;max-width:560px}.finance-comparison-month{padding-left:18px;border-left:1px solid #dce4ee}
@media(max-width:700px){.finance-comparison-summary{align-items:flex-start;flex-direction:column;gap:12px}.finance-comparison-month{padding-left:0;border-left:0}}
