/* Finance module. Series colors are a validated categorical pair (light/dark). */
.production{--finance-series-a:#2a78d6;--finance-series-b:#eb6834;--finance-grid:color-mix(in srgb,var(--line) 70%,transparent)}
html[data-theme="dark"] .production{--finance-series-a:#3987e5;--finance-series-b:#d95926}
.finance-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 20px;margin-top:4px}
.finance-status-tabs{margin:0;flex:1 1 auto}
.finance-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.finance-filters .field{min-width:170px;margin:0}
.finance-filters .btn{min-height:44px}
.finance-amount{font-variant-numeric:tabular-nums;white-space:nowrap}
/* Shared tables never wrap; finance descriptions and names may. */
.finance-wrap td{white-space:normal}
.finance-wrap td:first-child,.finance-wrap td.table-actions{white-space:nowrap}
.finance-wrap td p.small{margin:2px 0 0}
.finance-nowrap{white-space:nowrap}
.finance-amount.negative{color:var(--danger)}
.finance-amount.muted{color:var(--muted)}
.finance-amount.strong{font-weight:700}
.finance-totals .metric strong{font-variant-numeric:tabular-nums}
.finance-chart{margin:0}
.finance-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted);margin-bottom:12px}
.finance-legend span,.finance-tooltip span{display:inline-flex;align-items:center;gap:7px}
.finance-key{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--finance-series-a);flex:none}
.finance-key.series-b{background:var(--finance-series-b)}
.finance-plot{display:grid;grid-template-columns:auto 1fr;gap:10px;height:210px}
.finance-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--muted);text-align:right;padding-bottom:24px;font-variant-numeric:tabular-nums}
.finance-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;background:linear-gradient(var(--finance-grid),var(--finance-grid)) top/100% 1px no-repeat,linear-gradient(var(--finance-grid),var(--finance-grid)) center calc(50% - 12px)/100% 1px no-repeat;border-bottom:0}
.finance-column-group{position:relative;display:grid;grid-template-rows:1fr 24px;min-width:0;border-radius:10px;outline:none}
.finance-column-group:hover,.finance-column-group:focus-visible{background:color-mix(in srgb,var(--brand) 6%,transparent)}
.finance-column-group:focus-visible{box-shadow:0 0 0 2px var(--brand)}
.finance-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid var(--line)}
.finance-bar{display:block;width:min(18px,40%);min-height:1px;border-radius:4px 4px 0 0;background:var(--finance-series-a);transition:height .2s ease}
.finance-bar.series-b{background:var(--finance-series-b)}
.finance-column-label{align-self:end;text-align:center;font-size:11px;color:var(--muted);white-space:nowrap}
.finance-tooltip{position:absolute;z-index:5;bottom:calc(100% - 20px);left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:3px;min-width:190px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);box-shadow:var(--shadow);font-size:12px;color:var(--ink);pointer-events:none}
.finance-column-group:hover .finance-tooltip,.finance-column-group:focus-visible .finance-tooltip{display:flex}
.finance-column-group:first-child .finance-tooltip{left:0;transform:none}
.finance-column-group:last-child .finance-tooltip{left:auto;right:0;transform:none}
.finance-table-view{margin-top:12px;font-size:13px}
.finance-table-view summary,.finance-details summary{cursor:pointer;color:var(--brand);font-weight:600}
.finance-share-list,.finance-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.finance-share-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 60%,transparent);margin:6px 0 4px;overflow:hidden}
.finance-share-track span{display:block;height:100%;border-radius:999px;background:var(--finance-series-a)}
.finance-list li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.finance-list li a:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--shadow);transform:translateY(-1px)}
.finance-list li span{display:grid;gap:2px;min-width:0}
.finance-list li small{color:var(--muted)}
.finance-dre td:last-child,.finance-dre th:last-child{text-align:right}
.finance-dre-label{font-weight:600}
.finance-dre-label.is-subtotal{font-weight:800}
.finance-dre tr:has(.is-subtotal){background:color-mix(in srgb,var(--brand) 5%,transparent)}
.finance-dre-item{display:block;padding-left:20px;color:var(--muted);font-size:12px}
.finance-dre tr:has(.finance-dre-item) td{padding-top:6px;padding-bottom:6px}
.finance-net{padding:12px 14px;border-radius:14px;background:var(--brand-soft);font-variant-numeric:tabular-nums}
.finance-fieldset{border:0;margin:0;padding:0;min-width:0}
.finance-fieldset h4,.finance-inline-fields h4{margin:0 0 8px;font-size:14px}
.finance-inline-fields .field{margin:0;min-width:120px}
.finance-inline-fields .field-label,.finance-inline-fields .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.finance-details{border:1px solid var(--line);border-radius:14px;padding:12px 14px}
@media (max-width:720px){.finance-metrics .metric strong{font-size:clamp(17px,5.2vw,24px);overflow-wrap:anywhere}.finance-filters,.finance-filters .field{width:100%}.finance-plot{height:180px}.finance-bar{width:min(12px,40%)}.finance-tooltip{min-width:160px}}
@media (prefers-reduced-motion:reduce){.finance-bar,.finance-list li a{transition:none}.finance-list li a:hover{transform:none}}
@media (forced-colors:active){.finance-bar,.finance-key,.finance-share-track span{background:CanvasText}.finance-bar.series-b,.finance-key.series-b{background:Highlight}}
