/* Financial workspace (Bahía Ballena layout) in Pepe's dashboard colours: wine accent, navy ink. */
#financials{--fin-ink:#132335;--fin-muted:#4b5b6e;--fin-line:#c9d3df;--fin-accent:#8b2e50;--fin-paper:#fffdf8;--fin-error:#a3262a;min-width:0;color:var(--fin-ink)}
#financials [hidden],#financePagination[hidden]{display:none!important}
.dashboard:has(#financials.active) .dash-header h1{display:none}
.dashboard:has(#financials.active) .dash-header{margin-bottom:24px}
.finance-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.finance-heading .eyebrow,#financials .dash-section-head .eyebrow{color:var(--fin-accent);margin:0 0 8px}
#financials h2{margin:0;font:400 clamp(1.6rem,3vw,2.1rem)/1.15 var(--display,Georgia,serif);letter-spacing:-.01em;color:var(--fin-ink)}
#financials h3{font-family:var(--display,Georgia,serif);font-weight:400}
.finance-primary{min-height:48px;padding:12px 20px;border:0;border-radius:6px;background:var(--fin-accent);color:#fff;font:600 1rem/1 inherit;cursor:pointer}
.finance-primary:hover{filter:brightness(.92)}
#financeNavigation{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--fin-line);margin-bottom:24px}
#financeNavigation button{flex-shrink:0;border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 16px;min-height:44px;font:inherit;color:inherit;cursor:pointer}
#financeNavigation button[aria-current=page]{color:var(--fin-accent);border-bottom-color:var(--fin-accent);font-weight:700}
.finance-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px}
.finance-filters label,.finance-search,.expense-ledger-filter{display:grid;gap:6px;font-size:.875rem;font-weight:600}
#financials input,#financials select{max-width:100%;min-height:44px;border:1px solid var(--fin-line);border-radius:5px;background:var(--fin-paper);padding:8px 12px;color:var(--fin-ink);font:inherit}
#financials button:not(.finance-primary){min-height:44px;cursor:pointer;font:inherit}
#financials button:disabled{cursor:not-allowed;opacity:.5}
#financials :focus-visible{outline:3px solid color-mix(in srgb,var(--fin-accent) 70%,white);outline-offset:3px}
.finance-help,.finance-section>p,.finance-month-summary>p{max-width:75ch;font-size:.875rem;line-height:1.65}
.finance-status{min-height:24px;margin:16px 0;color:var(--fin-ink)}
.finance-status.is-error,.finance-variance{color:var(--fin-error);font-weight:600}
.finance-section[aria-busy=true]{opacity:.45;pointer-events:none}
.finance-section[data-load-failed=true]>*{visibility:hidden}
.finance-section{min-width:0}
#financials .dash-section-head{margin:8px 0 4px}
#financials .dash-section-head h2{font-size:1.5rem}
.finance-snapshot-rows{display:block;margin-bottom:24px}
.finance-snapshot-rows article{display:grid;grid-template-columns:1.1fr .8fr 1.5fr;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--fin-line)}
.finance-snapshot-rows article>span{font-size:.875rem}
.finance-snapshot-rows strong{font-size:1.15rem;font-weight:650;font-variant-numeric:tabular-nums}
.finance-snapshot-rows small{color:var(--fin-muted);font-size:.78rem}
#financials .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
#financials .dash-label{margin:0 0 4px;color:var(--fin-accent);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
#financials .legend{color:var(--fin-muted);font-size:.82rem}
.payment-breakdown{margin:8px 0 28px;padding:20px;border:1px solid var(--fin-line);border-radius:8px;background:var(--fin-paper)}
.payment-breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.payment-breakdown-grid article{display:grid;gap:6px;padding:12px;border-radius:6px;background:color-mix(in srgb,var(--fin-line) 25%,transparent)}
.payment-breakdown-grid span{font-size:.8rem;color:var(--fin-muted)}
.payment-breakdown-grid strong{font-variant-numeric:tabular-nums}
.finance-scroll{overflow-x:auto;max-width:100%}
.finance-scroll table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:720px}
.finance-scroll th,.finance-scroll td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--fin-line);vertical-align:top}
.finance-scroll th{font-size:.75rem;font-weight:600}
.finance-scroll td small{display:block;overflow-wrap:anywhere;max-width:30ch;margin-top:4px;color:var(--fin-muted)}
.finance-search{max-width:480px;margin:16px 0}
.finance-month-summary{border-top:1px solid var(--fin-line);margin-top:32px;padding-top:24px}
.finance-month-summary dl{max-width:650px;margin:0}
.finance-month-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--fin-line)}
.finance-month-summary dd{font-weight:650;margin:0;font-variant-numeric:tabular-nums}
.finance-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding-top:20px}
.finance-income-totals,.finance-ledger-totals{max-width:780px;margin:0 0 26px;padding:16px 0;border-top:1px solid var(--fin-line);border-bottom:1px solid var(--fin-line)}
.finance-income-totals h3,.finance-ledger-totals h3{margin:0 0 12px;font-size:1.2rem}
.finance-income-totals dl,.finance-ledger-totals dl{margin:0}
.finance-income-totals dl>div,.finance-ledger-totals dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
.finance-income-totals dd,.finance-ledger-totals dd{margin:0;font-weight:650;text-align:right;font-variant-numeric:tabular-nums}
.finance-ledger-totals dd small{display:block;font-weight:400;color:var(--fin-muted)}
.finance-income-totals p,.finance-ledger-totals p{max-width:70ch;font-size:.8rem;line-height:1.5}
.expense-ledger{margin-bottom:32px}
#finance-expenses .expense-ledger table{min-width:420px}
.finance-filters>button,.finance-pagination button,.finance-scroll button,.finance-month-summary button,#finance-closings>[data-finance-export]{padding:10px 16px;border:1px solid var(--fin-line);border-radius:5px;background:var(--fin-paper);color:var(--fin-ink)}
.finance-scroll button:hover,.finance-month-summary button:hover,.finance-filters>button:hover{border-color:var(--fin-accent);color:var(--fin-accent)}
.finance-supplier-invoices{margin-top:8px}
#finance-overview>section:last-child:not(.finance-month-summary),#finance-closings>section:last-child,#finance-expenses>section:last-child:not(.expense-ledger){margin-top:40px}
.fiscal-register{padding-bottom:24px}
.fiscal-row{border-bottom:1px solid var(--fin-line);padding:4px 0}
.fiscal-row summary{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:center;padding:12px 4px;cursor:pointer;font-size:.875rem}
.fiscal-row [data-state=accepted]{color:#1f6b3a}.fiscal-row [data-state=rejected],.fiscal-row [data-state=error]{color:var(--fin-error)}
.fiscal-row p{margin:6px 4px;font-size:.85rem;overflow-wrap:anywhere}
.fiscal-artifacts{display:flex;flex-wrap:wrap;gap:12px}
.fiscal-artifacts a{color:var(--fin-accent);font-weight:600}
.finance-upload-dialog,.finance-supplier-pdf,.finance-report-format{border:1px solid var(--fin-line);border-radius:8px;color:var(--fin-ink);background:var(--fin-paper)}
.finance-upload-dialog{width:min(720px,calc(100vw - 24px));max-height:min(90vh,900px);padding:20px;overflow:auto}
.finance-upload-dialog h3{margin:0 0 8px}
.finance-upload-dialog p{font-size:.875rem;line-height:1.5}
.finance-upload-dialog::backdrop,.finance-supplier-pdf::backdrop,.finance-report-format::backdrop{background:rgb(9 43 74 / .6)}
.finance-dialog-close{display:block;margin:0 0 12px auto;padding:8px 14px;border:1px solid var(--fin-line);border-radius:5px;background:transparent;color:var(--fin-ink);cursor:pointer}
.finance-report-format{width:min(26rem,calc(100vw - 32px));box-sizing:border-box;padding:24px}
.finance-report-format h3{margin:0;font-size:1.25rem}
.finance-report-format p{font-size:.9rem;line-height:1.5;margin:12px 0 20px}
.finance-report-options{display:flex;gap:12px;margin-bottom:12px}
.finance-report-format button{padding:10px 16px;border:1px solid var(--fin-line);border-radius:5px;font:inherit;color:inherit;background:transparent;cursor:pointer}
.finance-report-options button{flex:1;font-weight:600}
.finance-report-format button:hover,.finance-report-format button:focus-visible{background:var(--fin-accent);border-color:var(--fin-accent);color:#fff}
.finance-supplier-pdf{width:min(1120px,calc(100vw - 24px));height:90dvh;max-height:960px;padding:20px;overflow:auto}
.finance-supplier-pdf[open]{display:flex;flex-direction:column;gap:12px}
.finance-supplier-pdf header,.finance-pdf-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.finance-supplier-pdf header h3{margin:0}
.finance-supplier-pdf header p,.finance-pdf-toolbar p{margin:4px 0 0;font-size:.85rem}
.finance-supplier-pdf header button{padding:8px 14px;border:1px solid var(--fin-line);border-radius:5px;background:transparent;cursor:pointer}
.finance-pdf-toolbar a{color:var(--fin-accent);font-weight:600}
.finance-supplier-pdf iframe{flex:1;width:100%;min-height:60vh;border:1px solid var(--fin-line);border-radius:6px;background:#fff}
.finance-supplier-pdf img{max-width:100%;height:auto;align-self:center}
.finance-supplier-pdf pre{flex:1;overflow:auto;padding:12px;border:1px solid var(--fin-line);border-radius:6px;background:#fff;font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.finance-heading{align-items:start}.finance-filters label{min-width:0;flex:1 1 150px}.finance-filters input,.finance-filters select{width:100%}.payment-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscal-row summary{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.finance-heading{flex-direction:column}.finance-snapshot-rows article{grid-template-columns:1fr auto;gap:6px}.finance-snapshot-rows small{grid-column:1/-1}.finance-pagination{justify-content:space-between;gap:8px}}
/* Cards moved under a tab keep their behaviour; their headings drop to section size. */
#finance-overview>section:not(.payment-breakdown):not(.finance-month-summary) h2,#finance-closings>section h2,#finance-expenses>section:not(.expense-ledger) h2,#finance-hacienda>section:not(.fiscal-register) h2{font-size:1.35rem}
