/* Finance workspace and accounting list tools: scoped to avoid changing other modules. */
.finance-workspace { --finance-ink:#203b43; --finance-accent:#205e66; --finance-line:#d9e5e8; color:var(--finance-ink); display:grid; gap:22px; padding:4px 2px 24px; }
.finance-workspace * { min-width:0; }
.finance-hero { display:flex; justify-content:space-between; gap:32px; padding:36px 40px; border:1px solid var(--finance-line); border-inline-start:5px solid var(--finance-accent); border-radius:18px; background:linear-gradient(115deg,#f9fbfb,#eaf2f3); }
.finance-eyebrow { color:#587780; font-size:.78rem; font-weight:600; letter-spacing:.01em; display:block; margin-bottom:9px; }
.finance-eyebrow i { margin-inline-end:7px; }
.finance-hero h1 { margin:0 0 16px; font-size:clamp(1.9rem,3vw,3.2rem); font-weight:700; color:var(--finance-ink); letter-spacing:-.035em; }
.finance-hero p { margin:0; font-size:1.08rem; color:#617a81; line-height:1.85; }
.finance-hero p strong { color:var(--finance-accent); font-size:1.3rem; }
.finance-hero-meta { display:flex; flex-wrap:wrap; gap:20px; margin-top:23px; font-size:.78rem; color:#486872; }
.finance-period-control { width:260px; flex-shrink:0; display:grid; align-content:center; gap:12px; padding:22px; background:#ffffffd9; border:1px solid var(--finance-line); border-radius:12px; }
.finance-period-control label { font-size:.82rem; font-weight:600; }
.finance-period-control .form-select { font-size:.85rem; min-height:44px; }
.finance-period-control .btn { min-height:44px; }
.finance-period-control small { text-align:center; font-size:.7rem; color:#6c848d; }
.finance-shortcuts { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
.finance-shortcuts a { display:flex; align-items:center; gap:10px; padding:15px; background:white; border:1px solid var(--finance-line); border-radius:10px; font-size:.83rem; color:var(--finance-ink); text-decoration:none; transition:border-color .15s,background .15s; }
.finance-shortcuts a:hover { border-color:#205e66; background:#f0f6f7; }
.finance-shortcuts a > i:first-child { font-size:1.12rem; color:var(--finance-accent); }
.finance-shortcuts a > i:last-child { margin-inline-start:auto; color:#80999e; font-size:.7rem; }
.finance-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.finance-kpi { position:relative; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:11px; min-height:195px; padding:24px; border:1px solid var(--finance-line); border-radius:13px; background:white; }
.finance-kpi > span:not(.finance-kpi-icon) { font-size:.85rem; color:#52717a; margin-top:38px; }
.finance-kpi > strong { font-size:clamp(1.5rem,2.5vw,2.4rem); font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.finance-kpi small { font-size:.7rem; color:#637d85; }
.finance-kpi-icon { position:absolute; top:19px; inset-inline-end:22px; display:grid; place-items:center; width:36px; height:36px; border-radius:10px; border:1px solid #dbe7ea; color:var(--finance-accent); background:#f4f8f9; }
.finance-kpi-net { background:#edf4f5; border-color:#c8dcdf; }
.finance-main-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr); gap:22px; }
.finance-bottom-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(275px,.8fr); gap:22px; }
.finance-panel { background:white; border:1px solid var(--finance-line); border-radius:14px; padding:24px; overflow:hidden; }
.finance-panel > header { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:22px; }
.finance-panel h2 { color:var(--finance-ink); font-size:1.1rem; font-weight:600; margin:0; line-height:1.5; }
.finance-currency { color:#65828b; font-size:.72rem; background:#f4f8f8; border:1px solid #e2eaec; padding:6px 9px; border-radius:6px; white-space:nowrap; }
.finance-chart-key { display:flex; flex-wrap:wrap; gap:16px; align-items:center; color:#59757e; font-size:.73rem; }
.finance-chart-key i { display:inline-block; width:9px; height:9px; border-radius:2px; background:#205e66; }
.finance-chart-key i.is-payment { background:#abc3c8; }
.finance-chart-key small { margin-inline-start:auto; font-size:.7rem; }
.finance-chart { display:flex; direction:ltr; gap:12px; height:252px; padding:26px 6px 0; margin-top:10px; background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2f4 calc(25% - 1px),#edf2f4 25%); }
.finance-chart-bucket { flex:1; display:flex; flex-direction:column; gap:9px; align-items:center; }
.finance-chart-bars { display:flex; align-items:flex-end; justify-content:center; gap:4px; flex:1; width:100%; }
.finance-chart-bars span { display:block; width:min(26px,40%); border-radius:4px 4px 0 0; background:#205e66; }
.finance-chart-bars .is-payment { background:#abc3c8; }
.finance-chart-bucket small { font-size:.65rem; color:#597680; background:white; }
.finance-chart-data { color:#587780; font-size:.76rem; margin-top:18px; }
.finance-chart-data summary { cursor:pointer; width:fit-content; }
.finance-footnote { color:#68828a; font-size:.72rem; line-height:1.7; margin:18px 0 0; }
.finance-balance-status { display:flex; gap:12px; align-items:center; padding:16px; border:1px solid #d5e6e3; border-radius:10px; background:#f1f7f5; color:#2d625b; }
.finance-balance-status > i { font-size:1.7rem; }
.finance-balance-status strong, .finance-pending strong { display:block; font-size:.85rem; }
.finance-balance-status small, .finance-pending small { display:block; margin-top:5px; font-size:.67rem; line-height:1.7; }
.finance-balance-status.needs-review { background:#fff7ed; border-color:#f1d7b8; color:#875f2d; }
.finance-totals { margin:18px 0; }
.finance-totals > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #edf2f3; }
.finance-totals dt { font-size:.8rem; font-weight:400; color:#64818b; }
.finance-totals dd { font-size:.95rem; font-variant-numeric:tabular-nums; margin:0; }
.finance-pending { display:flex; gap:12px; background:#f6f8fa; padding:14px; border-radius:9px; }
.finance-pending > i { font-size:1.2rem; }
.finance-pending small { color:#617c87; }
.finance-fiscal-link { display:flex; align-items:center; justify-content:space-between; gap:10px; text-decoration:none; color:#496a75; padding-top:16px; font-size:.68rem; }
.finance-fiscal-link strong { display:block; font-size:.8rem; margin-top:5px; }
.finance-recent { padding-inline:0; }
.finance-recent header { padding-inline:24px; }
.finance-recent .table th { color:#607e89; font-weight:500; font-size:.72rem; padding:12px 18px; background:#f6f9fa; white-space:nowrap; }
.finance-recent .table td { padding:15px 18px; font-size:.8rem; color:var(--finance-ink); border-color:#e7eef0; white-space:nowrap; }
.finance-entry-description { display:block; max-width:195px; overflow:hidden; text-overflow:ellipsis; color:#718891; font-size:.7rem; margin-top:4px; }
.finance-status { font-size:.65rem; border:1px solid #dee6eb; background:#f4f6f8; border-radius:6px; padding:4px 8px; white-space:nowrap; }
.finance-status.is-posted { color:#2b6661; background:#edf6f3; border-color:#d3e6df; }
.finance-source { margin:19px 0; }
.finance-source > div { display:flex; justify-content:space-between; gap:8px; font-size:.78rem; margin-bottom:8px; }
.finance-source progress { display:block; width:100%; height:5px; border:0; border-radius:8px; background:#eef3f4; accent-color:#6c969e; }
.finance-source progress::-webkit-progress-bar { background:#eef3f4; border-radius:8px; }
.finance-source progress::-webkit-progress-value { background:#6c969e; border-radius:8px; }
.finance-report-links { margin-top:26px; padding-top:18px; border-top:1px solid var(--finance-line); }
.finance-report-links > strong { display:block; font-size:.82rem; margin-bottom:8px; }
.finance-report-links a { display:flex; justify-content:space-between; gap:10px; color:#527984; font-size:.78rem; padding:10px 0; text-decoration:none; }
.finance-report-links a:hover { text-decoration:underline; }
.finance-empty { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; color:#627d86; padding:24px; }
.finance-empty > i { font-size:2rem; color:#7e9aa2; }
.finance-empty strong { font-size:.92rem; }
.finance-empty small { font-size:.76rem; }
.finance-scope-note { color:#728991; font-size:.74rem; line-height:1.9; }

/* One heading row and a genuinely full-width search on every accounting list. */
.accounting-list-toolbar { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:14px 20px!important; align-items:center!important; padding:20px 24px!important; width:100%; }
.accounting-list-toolbar .accounting-list-heading { display:flex; align-items:center; gap:12px; grid-column:1; min-width:0; }
.accounting-list-toolbar .accounting-list-title { margin:0; color:#203b43; font-size:1.18rem; font-weight:600; line-height:1.55; }
.accounting-list-toolbar .crud-add-button { display:grid; place-items:center; flex:0 0 38px; width:38px!important; min-width:38px; height:38px; padding:0!important; border-radius:9px; box-shadow:none; }
.accounting-list-toolbar .crud-add-button i { margin:0!important; font-size:1.1rem; }
.accounting-list-toolbar .crud-add-button[hidden] { display:none!important; }
.accounting-list-toolbar .table-tools { display:contents; }
.accounting-list-toolbar .table-search-box { grid-column:1 / -1; grid-row:2; width:100%!important; max-width:none!important; margin:0; min-height:46px; border-radius:9px; }
.accounting-list-toolbar .table-row-limit { grid-row:1; grid-column:2; }
.accounting-list-toolbar .table-row-limit label { display:flex; align-items:center; gap:9px; margin:0; white-space:nowrap; color:#627b85; font-size:.75rem; }
.accounting-list-toolbar .table-row-limit select { width:78px; min-height:36px; border:1px solid #d4e1e5; border-radius:7px; padding:5px 8px; color:#254b56; background:#fff; font:inherit; }
.accounting-list-toolbar .table-pager { grid-row:3; grid-column:2; justify-content:flex-end; font-size:.72rem; }
.accounting-list-toolbar .table-pager[hidden] { display:none!important; }
.accounting-list-toolbar .accounting-list-count { grid-row:3; grid-column:1; color:#70848d; font-size:.73rem; }
.accounting-list-toolbar .accounting-list-empty { grid-column:1 / -1; font-size:.8rem; padding:12px; border:1px dashed #d4e1e5; border-radius:8px; text-align:center; color:#627b85; }
.accounting-list-toolbar .accounting-list-empty[hidden] { display:none; }
.accounting-list-card > .card-header.accounting-list-header-empty { display:none!important; }
@media (max-width:1199px) { .finance-main-grid { grid-template-columns:minmax(0,1.2fr) minmax(295px,1fr); } .finance-bottom-grid { grid-template-columns:1fr; } .finance-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .finance-main-grid { grid-template-columns:1fr; } .finance-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-hero { padding:28px; } .finance-period-control { width:225px; padding:18px; } }
@media (max-width:600px) {
    .finance-workspace { gap:16px; } .finance-hero { flex-direction:column; padding:23px; gap:22px; } .finance-hero h1 { font-size:1.9rem; } .finance-hero-meta { gap:12px; font-size:.7rem; }
    .finance-period-control { width:100%; grid-template-columns:1fr 1fr; padding:16px; gap:10px; } .finance-period-control label,.finance-period-control small { grid-column:1 / -1; } .finance-period-control .btn { font-size:.75rem; }
    .finance-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-shortcuts a { padding:12px; font-size:.75rem; gap:7px; } .finance-shortcuts a > i:last-child { display:none; }
    .finance-kpis { gap:10px; } .finance-kpi { padding:16px; min-height:182px; } .finance-kpi > strong { font-size:1.45rem; } .finance-kpi small { font-size:.65rem; }
    .finance-kpi > span:not(.finance-kpi-icon) { font-size:.75rem; } .finance-panel { padding:18px; } .finance-recent { padding-inline:0; } .finance-recent header { padding-inline:18px; }
    .finance-chart { gap:6px; height:210px; } .finance-chart-bars { gap:2px; } .finance-chart-bucket small { font-size:.55rem; } .finance-chart-key { gap:10px; }
    .accounting-list-toolbar { padding:16px 12px!important; grid-template-columns:minmax(0,1fr) auto; gap:12px!important; }
    .accounting-list-toolbar .accounting-list-title { font-size:1rem; } .accounting-list-toolbar .table-row-limit { grid-row:3; grid-column:2; }
    .accounting-list-toolbar .table-row-limit label { gap:5px; font-size:.67rem; } .accounting-list-toolbar .table-row-limit select { width:65px; }
    .accounting-list-toolbar .accounting-list-heading { grid-column:1 / -1; } .accounting-list-toolbar .table-pager { grid-row:4; grid-column:1 / -1; justify-content:center; }
}
@media print { .finance-shortcuts,.finance-period-control,.accounting-list-toolbar { display:none!important; } .finance-workspace { display:block; } .finance-panel,.finance-kpi { break-inside:avoid; } }
