:root{--bg:#f5f7fa;--ink:#18304c;--muted:#6b7d91;--line:#dfe5ee;--green:#003b82;--accent:#ccd8e6;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5b91cf;outline-offset:3px}button{color:inherit}.sidebar{width:236px;background:#003b82;color:#f0f5fc;position:fixed;height:100vh;padding:34px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:650}.brand span:not(.brandmark){display:block;font-size:8px;letter-spacing:1.6px;margin-top:6px;color:#b6cce6}.brandmark{display:grid;place-items:center;width:42px;height:46px;border:1px solid #96b4d9;border-radius:12px;font-family:Georgia,serif;color:#ccd8e6;font-size:31px}.sidebar nav{margin-top:64px;display:grid;gap:10px}.sidebar nav button{border:0;background:none;text-align:left;color:#c4d5eb;padding:15px;border-radius:9px;font-size:19px}.sidebar nav button span{font-size:14px;margin-left:12px}.sidebar nav button.active{background:#245792;color:#ffffff}.sidebar-bottom{margin-top:auto;font-size:12px;color:#c4d5eb}.sidebar-bottom p{line-height:1.8;margin-top:20px;color:#a8c1df}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a9c8ee;margin-right:6px}main{margin-left:236px;padding:0 42px;max-width:1800px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{font-size:13px}.breadcrumb span{margin-left:15px;color:var(--muted)}.years{display:flex;border:1px solid #d8e0eb;background:#e9eef5;border-radius:10px;padding:4px;gap:4px}.years button{border:0;background:none;border-radius:7px;padding:9px 21px;color:var(--muted)}.years button.active{background:white;color:var(--ink);box-shadow:0 2px 4px #00000009;font-weight:650}.title-row{display:flex;justify-content:space-between;align-items:center;margin:34px 0 20px;gap:15px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#6b7d91;margin:0 0 12px}h1{font-family:Georgia,serif;font-weight:400;font-size:39px;margin:0;letter-spacing:-1px}.title-row p:not(.eyebrow){color:var(--muted);margin:12px 0 0}h2{font-size:18px;font-weight:600;margin:0}h3{font-size:14px;margin:0}.button{border-radius:8px;padding:11px 16px;border:1px solid var(--line);white-space:nowrap}.secondary{background:white}.primary{background:var(--green);color:white;border-color:var(--green)}.local-note{font-size:11px;color:#718096;margin-bottom:24px;line-height:1.6}.kpis{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:16px;margin-bottom:25px}.kpi{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.kpi.hero{background:#ccd8e6;border-color:#bccde1}.kpi p{font-size:12px;color:#365c86;margin:0 0 19px}.kpi strong{font-size:28px;letter-spacing:-1px;font-weight:600;white-space:nowrap}.kpi small{display:block;color:var(--muted);margin-top:12px;font-size:11px}.kpi.hero small{color:#365c86}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:22px;overflow:hidden}.card-head{padding:24px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head p{font-size:12px;color:var(--muted);margin:7px 0 0}.tag{font-size:10px;color:#365c86;background:#e5ebf2;padding:6px 9px;border-radius:6px}.rows{padding:0 25px 18px}.line{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;border-bottom:1px solid #edf1f6;font-size:13px}.line:last-child{border-bottom:0}.line.total{font-weight:650;border-top:1px solid var(--line);margin-top:9px;padding-top:9px}.line.highlight{background:#e5ebf2;margin:12px -10px 0;padding:12px 10px;border-radius:7px}.line span:first-child{color:#61738a}.line.total span:first-child{color:var(--ink)}.number{font-variant-numeric:tabular-nums;white-space:nowrap}input[type=number]{width:120px;border:1px solid #dce4ef;background:#fafbfd;border-radius:6px;text-align:right;padding:8px;color:var(--ink);font-variant-numeric:tabular-nums}input::-webkit-inner-spin-button{appearance:none}input:focus{background:#fff}.note{font-size:11px;color:#8b7c5b;background:#faf8ee;border-top:1px solid #f0ead6;padding:14px 25px;line-height:1.6}.stock{width:100%;border-collapse:collapse;font-size:12px}.stock th{text-align:right;font-weight:500;color:var(--muted);padding:12px 8px;background:#f5f7fa}.stock th:first-child,.stock td:first-child{text-align:left;padding-left:25px}.stock td{padding:10px 8px;border-top:1px solid #edf1f6;text-align:right}.stock td:last-child,.stock th:last-child{padding-right:25px}.stock input{width:90px;font-size:12px}.stock input.rate{width:60px}.table-scroll{overflow:auto}.full{grid-column:1/-1}.bar-row{margin:0 25px 18px}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin:9px 0}.bar-track{height:6px;background:#e9eef5;border-radius:4px;overflow:hidden}.bar-fill{background:#003b82;height:100%;border-radius:4px}details summary{padding:22px 25px;cursor:pointer;font-weight:600;font-size:15px}.details-intro{margin:0 25px 12px;font-size:12px;color:var(--muted)}.expense-toolbar{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px}.expense-toolbar p{color:var(--muted);font-size:12px}.expense-toolbar select{padding:9px;border:1px solid var(--line);border-radius:6px;background:white}.expense-table{width:100%;border-collapse:collapse;font-size:12px}.expense-table th{background:#f5f7fa;padding:12px;text-align:right;color:var(--muted);font-weight:500}.expense-table th:first-child{text-align:left}.expense-table td{padding:9px 12px;border-top:1px solid #edf1f6;text-align:right}.expense-table td:first-child{text-align:left;min-width:185px}.expense-table input{width:90px}.expense-table input.exception{background:#fff5df;border-color:#e7d5a8}.row-edit{font-size:10px;display:block;color:var(--green);border:0;background:none;padding:5px 0 0}.expense-table tfoot{font-weight:650;background:#edf2f8}.mobile-month{display:none}.expense-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.expense-summary .kpi{margin:0}.group-total{font-weight:500;float:right;color:var(--muted);font-size:13px;margin-right:10px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:11px;margin-top:15px}.import-label{cursor:pointer;color:var(--green)}dialog{border:1px solid var(--line);border-radius:15px;padding:30px;max-width:430px;width:calc(100% - 30px);color:var(--ink)}dialog::backdrop{background:#001c4070}dialog p{line-height:1.6}dialog label:not(.checkbox){display:flex;justify-content:space-between;align-items:center;margin:25px 0}.checkbox{display:flex;gap:9px;align-items:center;font-size:13px}.muted{color:var(--muted);font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
@media(min-width:1500px){.kpi strong{font-size:34px}}
@media(max-width:1150px){.sidebar{width:190px;padding:30px 18px}main{margin-left:190px;padding:0 25px}.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.kpi strong{font-size:29px}}
@media(max-width:650px){.sidebar{position:fixed;bottom:0;height:68px;width:100%;z-index:10;padding:0 15px;border-top:1px solid #2a5790}.brand,.sidebar-bottom{display:none}.sidebar nav{margin:0;display:flex;height:100%;justify-content:space-around;align-items:center;width:100%}.sidebar nav button{padding:10px 22px}.sidebar nav button span{margin-left:6px}main{margin:0;padding:0 17px 75px}header{height:73px}.breadcrumb{font-size:11px}.breadcrumb span{margin-left:8px}.years button{padding:8px 13px}.title-row{margin:25px 0 16px;display:block}h1{font-size:33px}.title-row .button{margin-top:17px;padding:9px 12px;font-size:11px}.local-note{font-size:10px;margin-bottom:18px}.kpis{gap:10px}.kpi{padding:17px 14px}.kpi strong{font-size:23px}.kpi p{font-size:11px;margin-bottom:14px}.kpi small{font-size:10px;line-height:1.5}.card-head{padding:20px 18px 15px}.rows{padding:0 18px 15px}.line{font-size:12px}.line input{width:105px}.note{padding:12px 18px}.bar-row{margin:0 18px 18px}.stock th:first-child,.stock td:first-child{padding-left:18px}.stock input{width:82px}.stock td:last-child,.stock th:last-child{padding-right:18px}.expense-summary{grid-template-columns:1fr 1fr;gap:10px}.expense-summary .kpi:last-child{display:none}.mobile-month{display:block}.expense-table .month-col{display:none}.expense-table .month-col.selected{display:table-cell}.expense-table th,.expense-table td{padding:10px 8px}.expense-table td:first-child{min-width:125px}.expense-table input{width:86px}.expense-table .annual{font-size:11px}.expense-toolbar{gap:10px}.expense-toolbar p{max-width:210px;font-size:11px}.group-total{font-size:11px}details summary{padding:20px 15px;font-size:13px}.details-intro{margin:0 18px 12px}.stock{min-width:490px}footer{font-size:10px;gap:10px}}

.grid > *, .kpi {min-width:0}
@media(max-width:650px){.kpis,.expense-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:clamp(17px,5.3vw,23px)}.group-total{float:none;display:block;margin:8px 0 0}.line{gap:8px}.card-head h2{font-size:16px}}
.dj-monthly{color:#20804d}.dj-monthly{margin-top:16px;padding-top:12px;border-top:1px solid #e1ebe4}.dj-monthly b{display:block;font-size:19px;font-weight:600}.dj-monthly span{display:block;font-size:10px;margin-top:5px;line-height:1.4}.stock-title{font-size:18px;font-weight:600}.stock-description{display:block;font-size:12px;color:var(--muted);margin-top:9px;font-weight:400}.stock-card summary{list-style:none}.stock-card summary::-webkit-details-marker{display:none}.stock-total{text-align:right}.stock-total small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-bottom:7px}.stock-total strong{font-size:30px;color:#003b82;font-variant-numeric:tabular-nums;white-space:nowrap}.disclosure-arrow{display:inline-block;margin-left:8px}.stock-card[open] .disclosure-arrow{transform:rotate(180deg)}#sidebar-toggle{position:absolute;right:-14px;top:108px;border:1px solid #b8cce4;border-radius:50%;background:white;color:#003b82;width:29px;height:29px;font-size:24px;display:grid;place-content:center;z-index:20}.sidebar-collapsed .sidebar{width:76px;padding:34px 14px}.sidebar-collapsed main{margin-left:76px}.sidebar-collapsed .brand>div,.sidebar-collapsed .sidebar nav span,.sidebar-collapsed .sidebar-bottom{display:none}.sidebar-collapsed .sidebar nav button{padding:14px;text-align:center}.group-actions{padding:0 20px 15px}.group-actions button{font-size:12px}.row-actions{display:flex;gap:15px;align-items:center}.row-delete{color:#a14848;background:none;border:0;font-size:10px;padding:5px 0 0}dialog input[type=text],dialog select{max-width:230px;width:60%;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fafbfd;color:var(--ink)}#undo-notice{padding:12px 16px;background:#e5ebf2;border:1px solid #ccd8e6;border-radius:8px;margin-bottom:18px;font-size:12px}#undo-notice button{background:none;border:0;text-decoration:underline;color:#003b82;margin-left:10px}
@media(max-width:650px){#sidebar-toggle{display:none}.sidebar-collapsed .sidebar{width:100%;padding:0 15px}.sidebar-collapsed main{margin:0}.sidebar-collapsed .sidebar nav span{display:inline}.sidebar-collapsed .sidebar nav button{padding:10px 22px}.stock-total strong{font-size:22px}.stock-card .card-head{flex-wrap:wrap}.stock-total{margin-left:auto}.stock-title{font-size:16px}.dj-monthly b{font-size:17px}dialog input[type=text],dialog select{max-width:60%}}
.sidebar nav .nav-euro{display:inline-block;font-style:normal;font-weight:750;font-size:24px;line-height:1;vertical-align:middle}.sidebar nav .income-icon{color:#72e6a1}.sidebar nav .expense-icon{color:#ff8e94}
.nav-letter{font-style:normal;font-size:24px;color:#dbeaff}.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.report-tabs button[aria-pressed=true]{background:#003b82;color:white}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.report-empty{padding:0 25px 25px;color:var(--muted);line-height:1.7}.report-settings{padding:0 25px 24px}.report-settings label{display:block;margin:18px 0 8px}.report-settings input{display:block;width:100%;max-width:420px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:7px}.report-settings p{line-height:1.6}.report-status{color:#365c86;font-size:12px}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{text-align:left;padding:13px 25px;border-top:1px solid var(--line);font-size:13px}.report-table th{color:var(--muted);font-weight:500}
.report-month{font-size:12px;display:grid;gap:7px}.report-month select{padding:10px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.report-source,.report-readonly{font-size:12px;color:var(--muted);margin:0 25px 18px;line-height:1.7;overflow-wrap:anywhere}.report-sheet-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 25px 18px}.report-sheet-tabs button[aria-pressed=true]{background:#e5ebf2;border-color:#003b82}.report-grid{border-collapse:collapse;width:100%;font-size:12px}.report-grid td,.report-grid th{padding:12px 14px;border:1px solid #e5ebf2;min-width:100px;max-width:400px;white-space:pre-wrap;line-height:1.5;vertical-align:top}.report-grid td.number{text-align:right;white-space:nowrap}.report-grid td:first-child{position:sticky;left:0;background:#f5f7fa;z-index:1;min-width:155px}.report-grid .excel-bold{font-weight:650;background:#f3f6fa}.report-original{margin:0 25px 18px;white-space:normal}.report-section summary{background:#fafbfd}.report-section .table-scroll{max-height:650px}.report-grid td[rowspan]{vertical-align:middle}
.report-columns>*{min-width:0}.report-total{margin:0 25px 4px;padding:16px 20px;background:#e5ebf2;border-radius:9px}.report-total span,.report-total small{display:block;font-size:12px;color:#365c86}.report-total strong{display:block;font-size:clamp(21px,2.2vw,28px);font-weight:500;margin:8px 0;font-variant-numeric:tabular-nums}.report-stock-breakdown>summary,.report-bbe-breakdown>summary{padding:10px 25px;font-size:13px}.report-summary-heading{padding:23px 25px 13px}.report-summary-note{padding:0 25px;margin:0 0 14px;font-size:11px;color:var(--muted)}.report-summary .report-table td{text-align:right}.report-sum{font-weight:700;background:#e5ebf2}.report-sales{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.report-sales td,.report-sales th{padding:13px 12px;text-align:right;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.report-sales th:first-child{text-align:left;position:sticky;left:0;background:white}.report-sales thead{background:#f5f7fa;color:var(--muted)}.report-summary-action{padding:22px 25px}.report-summary .report-table th{white-space:normal}
@media(max-width:650px){.report-columns{grid-template-columns:1fr;gap:0}.sidebar nav button,.sidebar-collapsed .sidebar nav button{padding:8px 9px}.sidebar nav button span{font-size:11px;margin-left:5px}.sidebar,.sidebar-collapsed .sidebar{padding-left:5px;padding-right:5px}}
.report-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.report-topbar .report-tabs{margin-bottom:0}.report-combined{display:grid;grid-template-columns:auto auto;gap:5px 24px;text-align:right;margin-left:auto}.report-combined span{display:block;font-size:11px;color:var(--muted)}.report-combined strong{display:block;margin-top:5px;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.report-combined small{grid-column:1/-1;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}@media(max-width:850px){.report-topbar{flex-wrap:wrap}.report-combined{width:100%;text-align:left;grid-template-columns:1fr 1fr;margin-left:0}.report-combined strong{font-size:19px}}
.report-total{display:flex;align-items:center;justify-content:space-between;gap:16px}.report-stock-value{min-width:0}.report-total strong{font-size:clamp(19px,1.8vw,24px);white-space:nowrap}.report-ranks{flex-shrink:0;display:grid;gap:12px;padding-left:16px;border-left:1px solid #b9cbe0}.report-ranks span{font-size:10px}.report-ranks b{display:block;margin-top:3px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:650px){.report-total{margin-left:18px;margin-right:18px;padding:14px;gap:10px}.report-total strong{font-size:19px}.report-ranks{padding-left:10px}.report-ranks span{font-size:9px}.report-ranks b{font-size:14px}}@media(min-width:651px) and (max-width:1000px){.report-total{margin-left:14px;margin-right:14px;padding:12px;gap:8px}.report-total strong{font-size:18px}.report-ranks{padding-left:8px}.report-ranks span{font-size:9px}}
@media(min-width:651px) and (max-width:850px){.report-columns{grid-template-columns:1fr}}
.report-trends{border-top:1px solid var(--line);margin-top:16px;padding:22px 25px 0}.report-trends-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.report-trends-head label{font-size:12px;color:var(--muted)}.report-trends-head select{margin-left:6px;background:white;border:1px solid var(--line);border-radius:6px;padding:6px;color:var(--ink)}.report-trend-note{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0 18px}.report-trend{margin:18px 0 24px}.report-trend h4{font-size:13px;margin:0 0 10px;font-weight:600}.report-trend-scroll{overflow-x:auto}.report-trend svg{display:block;width:100%;min-width:310px;height:auto;overflow:visible}.report-trend svg text{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#62758b}.trend-grid{stroke:#e5ebf2;stroke-width:1}.trend-zero{stroke:#99aabd;stroke-dasharray:4 3}.trend-line{fill:none;stroke:#003b82;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.trend-line.bbe{stroke:#537ea9}.trend-dot{fill:#003b82;stroke:white;stroke-width:1.5}.bbe .trend-dot{fill:#537ea9}.trend-point{cursor:pointer;outline:none}.trend-point:focus .trend-dot,.trend-point:hover .trend-dot{stroke:#163453;stroke-width:3}.trend-readout{font-size:12px;color:#365c86;background:#f1f5fa;padding:9px 12px;border-radius:6px;margin:8px 0 0;font-variant-numeric:tabular-nums}.report-trend-values>summary{padding:8px 0 16px;font-size:12px}.report-trend-values .report-table{font-size:11px}.report-trend-values .report-table th,.report-trend-values .report-table td{padding:10px 8px;font-size:11px;white-space:nowrap}@media(max-width:650px){.report-trends{padding:20px 14px 0}.report-trend-note{font-size:10px}.report-trend-scroll{margin:0 -4px}}
.stock-import-tools{padding:0 25px 20px}.stock-import-tools>div{display:flex;flex-wrap:wrap;gap:10px}.stock-import-tools .button{white-space:normal;text-align:left}.stock-import-tools p{font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0 0}.stock-import-tools p:empty{display:none}.stock-import-tools button:disabled{opacity:.55;cursor:wait}@media(max-width:650px){.stock-import-tools{padding:0 18px 18px}.stock-import-tools .button{font-size:12px}}

.report-trends-disclosure{border-top:1px solid var(--line);margin-top:16px}.report-trends-disclosure>summary{padding:14px 25px;font-size:13px}.report-trends-disclosure>.report-trends{border-top:0;margin-top:0;padding-top:8px}@media(max-width:650px){.report-trends-disclosure>summary{padding:14px 18px}}

.stock-card>summary{background:#f0f5fb;border-bottom:1px solid transparent;transition:background .15s}.stock-card>summary:hover{background:#e5eef9}.stock-card[open]>summary{border-bottom-color:var(--line);margin-bottom:18px}.stock-disclosure-hint{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 12px;background:#003b82;color:white;border-radius:7px;font-size:12px;font-weight:600}.stock-disclosure-hint .disclosure-arrow{margin:0;flex-shrink:0}.stock-collapse-label{display:none}.stock-card[open] .stock-expand-label{display:none}.stock-card[open] .stock-collapse-label{display:inline}
.report-import-status .card-head{padding-bottom:12px}.report-import-status h2{font-size:15px}.report-import-status .button{font-size:12px;padding:8px 12px}.report-import-months{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 25px 18px}.report-import-months span,.report-import-months small{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:var(--muted)}.report-conflict-list{padding:0 25px 18px}.report-conflict-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.report-review-dialog{max-width:900px;width:calc(100% - 28px);max-height:90vh;overflow:auto}.report-review-dialog .report-table th,.report-review-dialog .report-table td{padding:12px;font-size:12px;vertical-align:top}.report-review-dialog .report-table td{font-variant-numeric:tabular-nums}.report-review-dialog small{display:block;color:var(--muted);margin-top:6px;overflow-wrap:anywhere;max-width:300px}.report-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.report-review-actions .button{white-space:normal}.report-diff-scroll{max-height:380px}.report-review-message{color:#365c86}@media(max-width:650px){.report-import-months{grid-template-columns:1fr;padding:0 18px 18px}.report-review-dialog{padding:20px 14px}.report-review-dialog .report-table{min-width:540px}.report-conflict-list>div{flex-wrap:wrap}}
.employee-dialog{width:900px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}.employee-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.employee-dialog .employee-grid label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 0}.employee-dialog .employee-grid input,.employee-dialog .employee-grid select{width:100%;max-width:100%;text-align:left}.employee-dialog .employee-grid .checkbox{flex-direction:row;align-items:center}.employee-dialog .checkbox input{width:auto}.employee-note{background:#edf3fa;padding:12px;border-radius:8px;line-height:1.5}.employee-rates{margin:18px 0;border:1px solid var(--line);padding:14px;border-radius:8px}.employee-rates summary{cursor:pointer;font-weight:600}.employee-table{width:100%;min-width:620px;border-collapse:collapse;margin-top:12px}.employee-table th,.employee-table td{text-align:right;padding:10px;border-bottom:1px solid var(--line);font-size:12px}.employee-table th:first-child{text-align:left}.employee-error{color:#a32c2c;background:#fff0f0;padding:12px;border-radius:8px}.employee-badge{display:block;font-size:10px;color:#45658b;margin-top:4px}.employee-dialog .dialog-actions{position:sticky;bottom:-1px;background:white;padding:15px 0;margin-bottom:0}.employee-totals{padding-top:10px}.employee-dialog [hidden]{display:none!important}@media(max-width:650px){.employee-grid{grid-template-columns:1fr}.employee-dialog{padding:18px}.employee-dialog label{gap:8px}.employee-dialog .dialog-actions{flex-wrap:wrap}}
.years{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:65%;}.years .add-year{flex-basis:100%;font-size:12px;padding:5px 12px;text-align:right;color:#003b82}.years #year-message{flex-basis:100%;font-size:11px;color:#49698c;text-align:right;max-width:400px;line-height:1.4}.years #year-message:empty{display:none}header{height:auto;min-height:94px;padding:14px 0;gap:16px}@media(max-width:650px){.years{max-width:75%}.years button{padding:7px 11px}.years #year-message{max-width:230px}}
.years[hidden]{display:none!important}
#employee-host [hidden]{display:none!important}

/* Costs and employee payout are separate: net is never summed into expenses. */
.employee-net{display:block;margin-top:7px;color:#24613f;font-size:11px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.employee-subsidy{display:block;margin-top:5px;color:#49698c;font-size:10px;max-width:145px;line-height:1.4}.expense-table td{vertical-align:top}.row-actions{flex-wrap:wrap;gap:8px 12px}.row-position{display:flex;align-items:flex-start;gap:8px}.row-description{min-width:0}.row-order{display:flex;flex-direction:column;flex-shrink:0;gap:1px;margin-top:-2px}.row-order button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:3px;background:transparent;color:#49698c;font-size:14px;line-height:1;cursor:pointer}.row-order button:hover:not(:disabled){background:#e1ebf7}.row-order button:disabled{opacity:.3;cursor:default}.row-order button:focus-visible{outline:2px solid #003b82;outline-offset:2px}#row-order-status:empty{display:none}.group-actions .muted{line-height:1.5;margin-bottom:0}@media(max-width:650px){.row-order button{width:24px;height:24px}.expense-table .employee-net{font-size:10px}.expense-table td:first-child{min-width:160px}}

.nav-eye{display:inline-block;width:24px;height:24px;vertical-align:middle;fill:none;stroke:#dbeaff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.income-placeholder{max-width:780px}.income-placeholder .details-intro{line-height:1.7;padding-bottom:24px}@media(max-width:650px){.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar nav button,.sidebar-collapsed .sidebar nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 3px;width:100%;height:100%}.sidebar nav button span,.sidebar-collapsed .sidebar nav button span{font-size:10px;margin:0}.sidebar nav .nav-euro,.nav-letter{font-size:22px}.nav-eye{width:22px;height:22px}}

.income-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}.income-years{display:flex;gap:6px;flex-wrap:wrap}.income-controls select{padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-left:8px}.income-kpis{display:grid;grid-template-columns:1.15fr 1.1fr 1fr;gap:16px;margin-bottom:18px}.income-hero{background:#edf7f1;border-color:#c9e5d6}.income-hero strong,.income-current,.income-detail .card-head>strong,.positive{color:#137344}.negative{color:#ab3535}.income-sites{display:grid;grid-template-columns:1fr 1fr;gap:18px}.income-sites article{padding:20px 24px}.income-sites p{margin:0 0 12px;color:#61738a}.income-sites strong{font-size:24px;font-weight:600}.income-sites span{display:block;margin-top:10px;color:#61738a;font-size:12px}.income-chart{padding:0 18px 8px}.income-chart svg{display:block;width:100%;max-height:265px}.income-legend{display:inline-flex;gap:7px;align-items:center;margin-left:22px;font-size:12px;font-weight:400}.income-legend i{width:11px;height:11px;background:#158451;border-radius:2px}.income-legend i.prior{background:#b9cbe1;margin-left:9px}.income-table{width:100%;border-collapse:collapse;font-size:13px}.income-table th,.income-table td{padding:12px 20px;text-align:right;border-top:1px solid #e9eef3;font-variant-numeric:tabular-nums;white-space:nowrap}.income-table th:first-child{text-align:left}.income-table thead{background:#f5f7fa;color:#61738a}.income-table thead th{font-weight:500}.income-table tbody th{font-weight:400}.income-table small{display:block;font-size:11px;color:#61738a;margin-top:4px;font-weight:400}.income-table .income-current{font-weight:600}.income-table tfoot{font-weight:600;background:#f5f7fa}.income-month{background:transparent;border:0;padding:3px 0;color:#003b82;text-decoration:underline;text-underline-offset:4px;font-weight:600}.income-selected{background:#f0f6fc}.income-delta small{color:inherit}.income-detail{scroll-margin-top:16px}.income-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:0 24px 22px}.income-detail-grid h3{padding:10px 0}.income-detail-grid table th,.income-detail-grid table td{padding:10px 8px}.income-excluded{color:#7a6b50;background:#faf7ef}.income-excluded th{white-space:normal}.income-detail .card-head{flex-wrap:wrap}.income-detail .card-head>strong{font-size:23px}@media(max-width:1000px){.income-kpis{grid-template-columns:1fr}.income-kpis .kpi{padding:18px}.income-kpis .kpi p{margin-bottom:10px}.income-kpis .kpi strong{font-size:26px}}@media(max-width:650px){.income-years .button{padding:9px 12px}.income-sites{gap:10px}.income-sites article{padding:16px 12px}.income-sites strong{font-size:20px}.income-table th,.income-table td{padding:11px 14px}.income-detail-grid{grid-template-columns:1fr;padding:0 14px 18px}.income-legend{margin-left:10px}.income-chart{overflow:auto}.income-chart svg{min-width:580px}.income-detail .card-head{padding:20px 16px}}

.overview-actual-income{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.overview-actual-income>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.overview-actual-income>div{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}.overview-actual-income b{font-size:19px;font-weight:600;white-space:nowrap}.overview-actual-income small{display:inline;margin:0;color:inherit;font-size:11px;white-space:nowrap}.report-import-disclosure>summary{font-size:14px;padding:18px 25px}.report-import-disclosure .card-head{padding-top:0}

.group-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.group-toolbar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-right:15px}.group-toolbar select{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}@media(max-width:650px){.group-toolbar label{margin-right:0}.group-actions{padding:0 15px 15px}}

.expense-group-summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:7px;align-items:start;list-style:none}.expense-group-summary::-webkit-details-marker{display:none}.expense-group-summary::before{content:'▸'}.card[open]>.expense-group-summary::before{content:'▾'}.expense-group-summary .group-total{float:none;white-space:nowrap;text-align:right;margin:0}

.income-add-top{margin:-6px 0 20px}.income-detail-tools{padding:0 24px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.income-detail-tools label{font-size:12px;color:var(--muted)}.income-detail-tools select,.income-import-table select{border:1px solid var(--line);padding:9px;border-radius:7px;background:white;color:var(--ink);max-width:100%}.income-row-actions{display:flex;gap:14px;margin-top:8px}.income-row-actions button,.income-notice button{border:0;background:none;color:#003b82;font-size:12px;padding:3px 0;text-decoration:underline}.income-row-actions button:last-child{color:#ab3535}.income-detail-grid th{white-space:normal;min-width:140px}.income-entry-dialog{max-width:560px;max-height:90vh;overflow:auto}.income-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.income-entry-dialog .income-entry-grid label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 0;font-size:13px}.income-entry-dialog input,.income-entry-dialog select{width:100%;max-width:none!important;text-align:left;padding:9px;border:1px solid var(--line);border-radius:6px}.income-entry-dialog .checkbox input{width:auto}.income-entry-dialog .checkbox{margin-top:16px}.income-notice{padding:14px 18px;margin-bottom:18px;border:1px solid #c6dbef;background:#eef5fc;border-radius:8px;line-height:1.5}.income-notice[hidden]{display:none}.income-import-body{padding:0 24px 24px;line-height:1.6}.income-import-body h3{overflow-wrap:anywhere}.income-file-label{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-weight:600;margin:18px 0}.income-file-label input{max-width:100%;font-size:13px}.income-import-warning{padding:12px 16px;background:#fff5dc;border-radius:8px;color:#77551f}.income-import-table{min-width:700px}.income-import-table th:first-child{white-space:normal;max-width:240px}.income-import-table td:last-child{text-align:left;max-width:300px}@media(max-width:650px){.income-entry-grid{grid-template-columns:1fr}.income-entry-grid .full{grid-column:auto}.income-entry-dialog{padding:20px}.income-import-body{padding:0 15px 18px}.income-detail-tools{padding:0 15px 18px}.income-detail-tools label{width:100%}.income-detail-tools select{max-width:70%}}

.expense-month-kpi>p{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.expense-month-kpi>p>span{white-space:nowrap;font-weight:600}.expense-remaining{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;color:#ab3535}.expense-remaining b{font-size:19px;font-weight:600;white-space:nowrap}.expense-remaining small{color:inherit;margin-top:5px}@media(max-width:650px){.expense-summary .expense-month-kpi:last-child{display:block;grid-column:1/-1}}

.income-controls>label{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}.income-controls>label select{margin-left:0;min-width:0;max-width:100%}@media(max-width:650px){.income-controls>label{width:100%;justify-content:space-between}.income-controls>label select{flex:1}}
.bonus-editable{background:#dae9f8!important;padding:6px!important}
.report-section.bonus-input-section>summary{background:#dae9f8;color:#003b82}
.report-grid .bonus-input{box-sizing:border-box;width:100%;min-width:115px;max-width:180px;padding:9px 8px;border:1px solid #8cb4da;border-radius:6px;background:#eaf3fc;color:#123f69;text-align:right;font:inherit;font-size:16px}
.report-grid .bonus-input:focus{outline:2px solid #1762a7;outline-offset:1px}
.report-grid .bonus-input:invalid{border-color:#b42318}
.bonus-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.report-bbe-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 25px 13px}.report-bbe-heading h3{margin:0;min-width:0}.report-bonus-total{text-align:right;flex-shrink:0}.report-bonus-total span{display:block;font-size:11px;color:var(--muted)}.report-bonus-total strong{display:block;margin-top:4px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.report-topbar{flex-wrap:wrap}.report-combined{grid-template-columns:repeat(3,auto)}@media(max-width:850px){.report-combined{grid-template-columns:1fr 1fr}}
.overview-income-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:5px 10px}.overview-income-head>p{min-width:0}.overview-bonus{text-align:right;flex-shrink:0;margin-left:auto}.overview-bonus span{display:block;font-size:10px;color:var(--muted)}.overview-bonus b{display:block;font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-ranks b>span{display:inline;font-size:inherit}.report-ranks .report-rank-green{color:#16803c}.report-ranks .report-rank-yellow{color:#9a7200}.report-ranks .report-rank-red{color:#b42318}
button.report-bonus-total{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;min-height:44px;padding:3px 0}button.report-bonus-total strong{text-decoration:underline;text-underline-offset:3px}button.report-bonus-total:hover{color:#003b82}button.report-bonus-total:focus-visible{outline:2px solid #003b82;outline-offset:4px;border-radius:4px}
.report-sales .report-shortfall{color:#b42318;font-variant-numeric:tabular-nums}
.report-sales .report-rate-red{color:#b42318}.report-sales .report-rate-yellow{color:#9a7200}.report-sales .report-rate-green{color:#16803c}
@media(max-width:600px){.report-sales{font-size:11px}.report-sales td,.report-sales th{padding:12px 6px}.report-sales thead th:nth-child(5){white-space:normal;min-width:85px;max-width:85px}.report-sales thead th:last-child{white-space:normal;min-width:76px;max-width:76px}}

/* Field-level validation, separate from connection and save errors. */
#row-form [aria-invalid="true"]{border:2px solid #b42318;background:#fff4f3;box-shadow:0 0 0 2px #b4231810}
#row-form .field-error{display:block;color:#b42318;font-size:12px;line-height:1.45;margin-top:5px;grid-column:1/-1}
#row-feedback{padding:12px 14px;border:1px solid #edb3ae;border-radius:8px;background:#fff4f3;color:#a12218;line-height:1.5;margin:14px 0}
#row-feedback[hidden]{display:none}

.employee-dialog .employee-section{border:1px solid var(--line);border-radius:9px;margin:12px 0;padding:0 16px;background:#fff}
.employee-dialog .employee-section>summary{padding:16px 0;font-size:14px;line-height:1.4}
.employee-dialog .employee-section[open]{padding-bottom:14px}
.employee-dialog .employee-section>summary:hover{color:#003b82}
.employee-dialog .employee-section .employee-section{margin:10px 0}

.employee-dialog summary.employee-summary{display:grid;grid-template-columns:10px minmax(0,1fr) minmax(0,1.2fr);gap:9px;align-items:baseline;list-style:none;cursor:pointer}
.employee-dialog summary.employee-summary::-webkit-details-marker{display:none}
.employee-dialog summary.employee-summary::before{content:'▸';font-size:12px}
.employee-dialog details[open]>summary.employee-summary::before{content:'▾'}
.employee-summary-values{font-size:12px;line-height:1.5;font-weight:400;color:#526b87;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.employee-dialog input[readonly]{background:#edf3fa;color:#345579}
@media(max-width:650px){.employee-dialog summary.employee-summary{grid-template-columns:10px minmax(0,1fr);gap:5px 8px}.employee-summary-values{grid-column:2;text-align:left}}

.loan-dialog{width:520px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}.loan-dialog #loan-end{min-width:0;width:160px;padding:9px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.loan-dialog .dialog-actions{position:sticky;bottom:-1px;background:white;padding:12px 0;margin-bottom:0}.loan-dialog .employee-note{font-size:12px}

.vehicle-dialog{width:560px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}
.vehicle-dialog .employee-grid label{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:8px 0;min-width:0}
.vehicle-dialog .employee-grid input,.vehicle-dialog .employee-grid select{width:100%;min-width:0;max-width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fafbfd;color:var(--ink);text-align:left}
.vehicle-dialog .employee-note{font-size:12px}
.vehicle-dialog .employee-section{border:1px solid var(--line);border-radius:8px;padding:0 12px;margin:12px 0}
.vehicle-dialog .employee-section summary{padding:14px 0;font-size:13px}
.vehicle-dialog .dialog-actions{position:sticky;bottom:-1px;background:white;padding:12px 0;margin-bottom:0}
#vehicle-result{background:#edf3fa;border:1px solid #ccd8e6;border-radius:8px;padding:12px;font-weight:600}
#employee-vehicle-select{max-width:100%;width:100%}
#employee-car-section>label:not(.checkbox){display:flex;flex-direction:column;align-items:stretch;gap:8px}
@media(max-width:650px){.vehicle-dialog{padding:18px}.vehicle-dialog .employee-grid{grid-template-columns:1fr}}

/* Deliberate month closure, shared by both locations. */
.month-close-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px;padding:18px 22px;margin:18px 0;border:1px solid #cbd8e7;border-radius:14px;background:#f4f8fd}.month-close-bar>div{max-width:480px}.month-close-bar.is-closed{background:#edf3fa;border-color:#92afd1}.month-close-bar p{font-size:13px;color:#586b82;margin:6px 0 0}.month-close-notice{flex-basis:100%}.expense-table input[readonly]{background:#eef1f5;color:#596b7e;cursor:default}.income-row-actions button:disabled,.row-delete:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.month-close-bar{padding:15px}.month-close-bar>button{width:100%}}
.employee-dialog .employee-extra-bav{min-width:0;margin:16px 0;padding:14px;border:1px solid #c6d9ee;border-radius:8px;background:#f3f7fc}
.employee-extra-bav legend{font-weight:600;padding:0 5px;font-size:13px}
.employee-dialog .employee-extra-bav label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 0;min-width:0}
.employee-dialog .employee-extra-bav input{width:100%;text-align:left}
.employee-cost-detail{margin-top:10px;max-width:280px;min-width:170px;white-space:normal;font-size:11px}.employee-cost-detail[open]{width:260px}.employee-cost-detail summary,.employee-manual-detail summary{padding:5px 0;font-size:11px;color:#003b82;font-weight:500;cursor:pointer}.employee-cost-detail dl{margin:8px 0;padding:10px;background:#f3f7fc;border-radius:6px}.employee-cost-detail dl>div{display:flex;justify-content:space-between;gap:12px;margin:7px 0;line-height:1.4}.employee-cost-detail dt{flex:1}.employee-cost-detail dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.employee-cost-detail p{line-height:1.5;color:#526b87}.employee-cost-detail .cost-total{border-top:1px solid #c6d9ee;padding-top:8px;font-weight:600}.employee-manual-detail{max-width:160px;font-size:10px;text-align:left;white-space:normal;margin-top:5px}.employee-manual-detail summary{color:#946717}.employee-manual-detail p{line-height:1.6}.employee-manual-detail button{border:1px solid #c6d9ee;background:#f3f7fc;border-radius:5px;font-size:10px;padding:6px;color:#003b82;white-space:normal}.employee-change-summary{background:#f3f7fc;border:1px solid #c6d9ee;border-radius:9px;padding:16px;margin:16px 0}.employee-change-summary p{margin:8px 0;font-size:13px;line-height:1.6}.employee-change-summary summary{font-size:12px;padding:10px 0}.employee-change-summary .muted{font-size:11px}

.expense-simulation{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:white;border:1px solid #c9d7e7;border-radius:12px;padding:20px;margin-bottom:20px}.expense-simulation.is-active{background:#eef5ff;border:2px solid #3076c5}.expense-simulation p{margin:0 0 6px}.expense-simulation strong{font-size:24px}.expense-simulation small{display:block;margin-top:6px}.simulation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.simulation-note{flex-basis:100%;font-size:13px;color:#46556b}.expense-simulation .negative{color:#b42318}.expense-simulation .positive{color:#12743b}@media(max-width:650px){.expense-simulation{gap:16px}.simulation-actions{margin-left:0;width:100%}.expense-simulation strong{font-size:21px}}

/* Keep the active planning year visible while scrolling. */
main>header{position:sticky;top:0;z-index:40;background:var(--bg);min-height:74px;height:auto;padding:16px 0;gap:12px;flex-wrap:wrap;box-shadow:0 4px 10px #182d4608}
.years{max-width:100%;flex-wrap:wrap}.years button.active{background:#003b82;color:white}.title-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}#shy-toggle[aria-pressed="true"]{background:#003b82;color:white;border-color:#003b82}
body.shy-mode .shy-field{color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;opacity:1!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='24'%3E%3Ctext x='4' y='19' fill='%23334455' font-family='sans-serif' font-size='20'%3E****%3C/text%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important}body.shy-mode .shy-field option{color:transparent!important}
@media(max-width:650px){main>header{padding:10px 0;gap:8px}.years button{padding:9px 12px}.title-actions{justify-content:flex-start}}

.income-controls{position:sticky;top:var(--year-header-height,74px);z-index:35;background:var(--bg);padding-top:10px;padding-bottom:10px}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-left:auto}.header-actions #shy-toggle{white-space:nowrap}.header-actions .years[hidden]{display:none}@media(max-width:650px){.header-actions{gap:8px}.header-actions #shy-toggle{padding:9px 12px}}

.report-columns{grid-template-columns:minmax(0,1fr)}
.test-banner{padding:14px 22px;background:#fff1ce;color:#624400;border-bottom:1px solid #e5cf8a;font-size:14px}.test-banner strong{display:block}
