.finance-root{display:grid;gap:15px;min-width:0}
.finance-hero{background:linear-gradient(115deg,#204a39,#346b4e);border-radius:15px;color:#f4fcf7;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.finance-hero h2{margin:0;font-size:22px;font-weight:750}.finance-hero p{margin:4px 0 0;color:#cfe5d7;font-size:12px}.finance-hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.finance-hero-actions select{width:175px}.finance-hero-actions button{background:#eaf5ec;color:#28543d}
.finance-tabs{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding:2px 0 10px;scrollbar-width:thin}.finance-tabs button{white-space:nowrap;background:#eaf1e9;color:#315941;border:1px solid #d5e4d7;border-radius:20px;font-size:12px;padding:9px 13px}.finance-tabs button.selected{background:#28684d;border-color:#28684d;color:#fff}
.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-kpi{background:#fff;border:1px solid #dce8df;border-radius:14px;padding:18px;min-width:0}.finance-kpi small{display:block;color:#63806e;font-size:12px;margin-bottom:8px}.finance-kpi b{display:block;font-size:22px;color:#214a35;font-weight:750;font-variant-numeric:tabular-nums}.finance-kpi em{display:block;color:#63806e;font-style:normal;font-size:11px;margin-top:5px}
.finance-card{background:#fff;border:1px solid #dce8df;border-radius:14px;padding:16px;min-width:0}.finance-card h3{font-size:16px;margin:0 0 10px;color:#234535}.finance-note{color:#668171;font-size:12px;line-height:1.5;margin:5px 0 13px}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.finance-filters label{min-width:140px;flex:1}.finance-filters label.fin-search{flex:2;min-width:200px}.finance-table-wrap{overflow-x:auto;border:1px solid #e1eae2;border-radius:11px}.finance-table{width:100%;border-collapse:collapse;min-width:650px;font-size:12px;text-align:left}.finance-table th{padding:10px;background:#f0f6f0;color:#557361;font-weight:700;white-space:nowrap}.finance-table td{padding:10px;border-top:1px solid #e8eee7;color:#31513e;vertical-align:top}.finance-table tr:hover td{background:#fcfefb}.finance-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.finance-bad{color:#b0524c}.finance-good{color:#247b50}.finance-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.finance-pagination button{padding:7px 11px}.finance-muted{color:#73877a;font-size:12px}.finance-bars{display:flex;align-items:end;gap:6px;height:150px;overflow-x:auto;border-bottom:1px solid #d4e4d6;padding:10px 5px 0}.finance-bar{background:#70b78f;min-width:17px;flex:1;max-width:38px;border-radius:5px 5px 0 0;position:relative}.finance-bar:hover{background:#368461}.finance-bar span{display:none;position:absolute;bottom:100%;left:0;background:#214e38;color:#fff;font-size:10px;padding:3px;z-index:1;white-space:nowrap}.finance-bar:hover span{display:block}.finance-warning{padding:12px 15px;border:1px solid #edd8b0;background:#fffaf1;border-radius:11px;color:#795d27;font-size:12px}.finance-empty{padding:24px;color:#678473;text-align:center;font-size:12px}.finance-count{font-weight:700;color:#2b6545}.finance-pill{font-size:10px;border-radius:30px;padding:3px 7px;background:#e9f2ed;color:#42775b;white-space:nowrap}.finance-action-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-action-form label{min-width:0}.finance-action-form .wide{grid-column:span 2}.finance-action-form .all{grid-column:1/-1}.finance-confirm{background:#28684d;color:#fff}.finance-form-notice{min-height:18px;font-size:12px}.finance-details{border-top:1px solid #e5eee8;padding-top:9px;margin-top:9px}
@media(max-width:1000px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid{grid-template-columns:1fr}}
@media(max-width:620px){.finance-hero{padding:15px}.finance-hero h2{font-size:18px}.finance-kpis{gap:8px}.finance-kpi{padding:12px}.finance-kpi b{font-size:17px}.finance-action-form{grid-template-columns:1fr 1fr}.finance-action-form .wide{grid-column:span 2}}
/* Native financial input controls */
.finance-entry {padding:14px;background:#f4f9f3;border:1px solid #d7e5da;border-radius:13px;margin:0 0 16px}
.finance-entry-buttons {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.finance-entry-buttons button {min-width:125px}
.finance-action-editor {background:#fff;border:1px solid #d7e5da;border-radius:12px;padding:16px;display:grid;gap:12px}
.finance-action-editor h3 {margin:0 0 4px;font-size:16px;color:#264b38}
.finance-action-editor .finance-action-form {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.finance-action-editor label {font-size:12px;font-weight:600;color:#496454}
.finance-action-editor input,.finance-action-editor select {display:block;width:100%;margin-top:5px}
.finance-action-editor button {justify-self:start}

.finance-reconciliation {background:#eef5ed;border:1px solid #bfd8c6;border-radius:12px;padding:14px;display:grid;gap:10px}
.finance-reconciliation h4 {margin:0;color:#214634;font-size:15px}
.finance-reconciliation-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:6px 16px}
.finance-reconciliation-line {display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid #dfebe2;padding:5px 0;font-size:13px}
.finance-reconciliation-line strong {white-space:nowrap}
.finance-reconciliation-note {margin:0;padding:9px 11px;border-radius:8px;font-size:13px}
.finance-reconciliation-note.ok {background:#e0efe5;color:#185d3b}
.finance-reconciliation-note.warn {background:#fff1df;color:#7e4416}

.finance-edit-dialog {padding:0;max-width:min(760px,96vw);width:100%;border:1px solid #bdd9c2;border-radius:14px;box-shadow:0 22px 80px #0005;color:#204733}
.finance-edit-dialog::backdrop {background:#081b14b0}
.finance-edit-dialog .finance-action-editor {border:0;box-shadow:none;margin:0;max-height:86vh;overflow:auto}
.finance-edit-actions {display:flex;gap:5px;flex-wrap:wrap}
.finance-edit-actions button {font-size:11px;padding:6px 10px;white-space:nowrap}

.finance-input-group{border:1px solid #dce7df;border-radius:12px;padding:11px;min-width:0;grid-column:1/-1;background:#fbfefa}
.finance-input-group legend{font-weight:750;color:#28553d;padding:0 8px}
.finance-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.finance-input-group label{font-size:12px}

/* Editable mass timesheet (staff by row, calendar days by column) */
.finance-timesheet-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.finance-timesheet-toolbar h3{margin:0 0 5px;color:#234c36}
.finance-timesheet-controls,.finance-timesheet-range{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.finance-timesheet-controls label{display:flex;flex-direction:column;font-size:12px;gap:4px;min-width:155px}
.finance-timesheet-controls input,.finance-timesheet-controls select{max-width:230px}
.finance-timesheet-pending{font-size:12px;font-weight:650;color:#64776b}
.finance-timesheet-range{border:1px solid #d5e7db;background:#f3faf4;border-radius:10px;padding:10px;margin-bottom:12px;font-size:12px}
.finance-timesheet-range input{width:65px;padding:7px}
.finance-timesheet-legend{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 14px}
.finance-timesheet-legend span{padding:5px 8px;border:1px solid #d6e4d8;border-radius:20px;font-size:11px}
.finance-timesheet-scroll{width:100%;max-width:100%;overflow:auto;max-height:590px;border:1px solid #dbe6dc;border-radius:12px}
.finance-timesheet-grid{border-collapse:separate;border-spacing:0;font-size:11px;width:max-content;min-width:100%;background:#fff}
.finance-timesheet-grid td,.finance-timesheet-grid th{padding:3px;border-bottom:1px solid #e8eee7;border-right:1px solid #edf2ec;text-align:center;white-space:nowrap}
.finance-timesheet-grid thead th{position:sticky;top:0;z-index:2;background:#e8f2e9;height:39px}
.finance-timesheet-grid .finance-timesheet-sticky{position:sticky;left:0;z-index:3;text-align:left;min-width:185px;max-width:250px;background:#f7fbf7;padding:5px 9px;white-space:normal}
.finance-timesheet-grid thead .finance-timesheet-sticky{z-index:4;background:#dcecdc}
.finance-timesheet-sticky input{margin-right:8px}
.finance-timesheet-date{min-width:31px;height:28px;padding:1px;background:#dcebdc;color:#25513a;border-radius:5px}
.finance-timesheet-cell{min-width:31px;height:29px;padding:2px;border-radius:5px;border:1px solid #d3e1d4;font-size:11px;cursor:pointer;background:#f6f8f6}
.finance-timesheet-cell[data-status="worked"]{background:#ccebd9;color:#155334}
.finance-timesheet-cell[data-status="off"]{background:#e1e7f1;color:#344e78}
.finance-timesheet-cell[data-status="time_off"]{background:#f6ebca;color:#6a4f13}
.finance-timesheet-cell[data-status="vacation_paid"]{background:#d5e7f8;color:#234d7a}
.finance-timesheet-cell[data-status="vacation_unpaid"]{background:#f2e1d8;color:#8b4a2b}
.finance-timesheet-cell[data-status="sick"]{background:#f1dce4;color:#853856}
.finance-timesheet-cell.pending{outline:2px solid #cf8b23;outline-offset:-2px;font-weight:800}
.finance-timesheet-counts{font-variant-numeric:tabular-nums;color:#275940}
.finance-timesheet-grid td:last-child button{font-size:10px;padding:5px 7px}
.finance-expense-group{border:1px solid #dcebdc;border-radius:11px;padding:10px;margin:10px 0}
.finance-expense-group h4{margin:2px 0 10px;color:#27543d}
@media(max-width:700px){.finance-timesheet-grid .finance-timesheet-sticky{min-width:142px}.finance-timesheet-scroll{max-height:66vh}}

/* Compact fit-to-viewport finance layout, October 2026. */
.finance-root{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:10px}
.finance-root>*,#financeContent,#financeContent>*,.finance-card>*{min-width:0;max-width:100%}
.finance-hero{gap:10px;padding:12px 15px;border-radius:12px}
.finance-hero h2{font-size:19px}.finance-hero p{font-size:11px}
.finance-hero-actions{gap:6px}.finance-hero-actions select{width:145px}
.finance-tabs{flex-wrap:wrap;overflow-x:visible;gap:5px;padding:1px 0 3px;max-width:100%}
.finance-tabs button{white-space:normal;font-size:11px;line-height:1.3;padding:6px 9px;border-radius:9px}
.finance-kpis{gap:8px}.finance-kpi{padding:10px;border-radius:11px;overflow:hidden}
.finance-kpi small{font-size:11px;margin-bottom:4px;overflow-wrap:anywhere}
.finance-kpi b{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.finance-kpi em{font-size:10px}
.finance-grid{gap:8px}
.finance-card{padding:11px;border-radius:11px;overflow:hidden}
.finance-card h3{font-size:15px;margin-bottom:7px}
.finance-note{font-size:11px;margin:4px 0 9px}
.finance-entry{padding:10px;margin-bottom:10px}
.finance-entry-buttons,.finance-filters{gap:6px;margin-bottom:8px}
.finance-entry-buttons button{min-width:0}
.finance-filters label{min-width:110px}.finance-filters label.fin-search{min-width:min(190px,100%)}
.finance-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.finance-table{min-width:0;width:100%;font-size:11px;table-layout:auto}
.finance-table th,.finance-table td{padding:6px 7px;white-space:normal;overflow-wrap:anywhere}
.finance-table th{font-size:10px;line-height:1.25}
.finance-table td{line-height:1.3}
.finance-table .finance-amount{white-space:nowrap}
.finance-action-editor{padding:11px;gap:8px;min-width:0;max-width:100%}
.finance-action-editor .finance-action-form{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:8px}
.finance-action-form{gap:8px}
.finance-input-group{padding:8px;max-width:100%;min-width:0}
.finance-group-grid{grid-template-columns:repeat(auto-fit,minmax(min(125px,100%),1fr));gap:7px}
.finance-reconciliation{padding:9px;max-width:100%}
.finance-reconciliation-grid{grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:5px 10px}
.finance-reconciliation-line{font-size:11px}
.finance-pagination{flex-wrap:wrap}
.finance-timesheet-toolbar,.finance-timesheet-controls,.finance-timesheet-range{gap:7px}
.finance-timesheet-controls label{min-width:min(135px,100%)}
.finance-timesheet-scroll{max-width:100%;width:100%;overscroll-behavior-x:contain}
.finance-timesheet-grid{font-size:10px}
.finance-timesheet-grid td,.finance-timesheet-grid th{padding:2px}
.finance-timesheet-grid .finance-timesheet-sticky{min-width:147px;max-width:175px;padding:4px 5px;font-size:10px}
.finance-timesheet-cell,.finance-timesheet-date{min-width:24px;width:24px;height:25px;padding:1px;font-size:10px}
.finance-timesheet-grid td:last-child button{font-size:9px;padding:4px 5px}
.finance-timesheet-legend{gap:4px}
.finance-timesheet-legend span{font-size:10px;padding:4px 6px}
@media(max-width:1100px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
 .finance-root{gap:8px}.finance-hero{padding:10px}
 .finance-tabs button{padding:5px 7px;font-size:10px}
 .finance-card{padding:8px}
 .finance-kpi{padding:9px}.finance-kpi b{font-size:16px}
 .finance-action-editor .finance-action-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance-table{font-size:10px}.finance-table th,.finance-table td{padding:5px}
 .finance-timesheet-grid .finance-timesheet-sticky{min-width:118px;max-width:140px}
 .finance-timesheet-cell,.finance-timesheet-date{min-width:22px;width:22px;height:24px}
}
