:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;background:#172033;color:white;padding:10px 15px;font-weight:700}.button-secondary{background:#e9edf2;color:#172033}.button-ghost{background:transparent;color:#172033;border:1px solid #d9dee7}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:white;padding:36px;border-radius:18px;box-shadow:0 12px 40px rgba(28,39,58,.08)}.brand-mark,.mini-mark{display:grid;place-items:center;font-weight:900;background:#172033;color:white}.brand-mark{width:44px;height:44px;border-radius:12px;margin-bottom:28px}.mini-mark{width:34px;height:34px;border-radius:9px}.brand-inline{display:flex;align-items:center;gap:12px}.brand-inline .eyebrow{margin-bottom:2px}h1{font-size:clamp(28px,4vw,40px);margin:.12em 0;letter-spacing:-.03em}h2{margin:.25em 0;font-size:22px;letter-spacing:-.015em}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#667085;margin:0 0 7px}.muted{color:#6b7280;line-height:1.55}.section-note{margin:6px 0 0;color:#7a8493;font-size:13px;line-height:1.45;max-width:850px}.stack{display:grid;gap:16px;margin-top:26px}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#344054}input,select{width:100%;border:1px solid #d9dee7;border-radius:8px;padding:10px 12px;background:white}.alert{background:#fff1f1;color:#a52a2a;padding:12px;border-radius:9px;margin-top:20px}.demo-note,.demo-banner{font-size:12px;background:#fff7d6;padding:9px 12px;border-radius:8px;color:#6d5a00}.demo-note{margin-top:18px}.topbar{height:68px;background:white;border-bottom:1px solid #e7eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1500px)/2))}.top-actions{display:flex;gap:12px;align-items:center}.lang-switch{display:flex;background:#f0f2f5;padding:3px;border-radius:8px}.lang-switch a{color:#667085;text-decoration:none;font-size:12px;font-weight:800;padding:6px 9px;border-radius:6px}.lang-switch a.active{background:white;color:#172033;box-shadow:0 1px 3px rgba(0,0,0,.08)}.page{max-width:1500px;margin:0 auto;padding:28px 24px 60px}.demo-banner{margin-bottom:22px}.report-head{display:flex;gap:24px;justify-content:space-between;align-items:flex-end}.report-period{margin:4px 0 0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.period-form{display:flex;gap:7px}.period-form select{width:92px}.positive{color:#087652}.negative{color:#bd3030}.panel{background:white;border:1px solid #dce2e9;border-radius:12px;padding:22px}.report-tabs{display:flex;gap:28px;border-bottom:1px solid #dce2e9;margin:26px 0 22px}.report-tabs a{padding:12px 2px 11px;color:#697384;text-decoration:none;font-size:14px;font-weight:750;border-bottom:3px solid transparent}.report-tabs a.active{color:#172033;border-color:#172033}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid #dce2e9;border-radius:12px;overflow:hidden}.kpi{padding:20px 22px;border-right:1px solid #e2e6ec}.kpi:last-child{border-right:0}.kpi span{display:block;color:#667085;font-size:12px;font-weight:750;margin-bottom:11px}.kpi strong{display:block;font-size:clamp(22px,2vw,29px);letter-spacing:-.025em;white-space:nowrap}.kpi small{display:block;color:#7b8494;margin-top:8px;font-size:12px}.kpi-result{background:#fbfcfe}

/* Trend v4: SVG + stały odczyt, bez pływającego tooltipa */
.trend-v4{margin-top:18px}.panel-title-row,.pnl-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.trend-controls{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:flex-end}.chart-switch,.detail-switch{display:flex;background:#f0f2f5;border-radius:8px;padding:3px;gap:2px}.chart-switch button,.detail-switch button{background:transparent;color:#687386;padding:7px 11px;font-size:12px;border-radius:6px}.chart-switch button.active,.detail-switch button.active{background:white;color:#172033;box-shadow:0 1px 3px rgba(0,0,0,.08)}.trend-readout{min-width:230px;border:1px solid #d9e0e8;background:#fafbfd;border-radius:9px;padding:9px 12px}.trend-readout span,.trend-readout small{display:block;color:#6f7988;font-size:11px}.trend-readout strong{display:block;font-size:18px;margin:2px 0;font-variant-numeric:tabular-nums}.svg-chart-shell{height:340px;margin-top:14px;border:1px solid #e0e5eb;border-radius:9px;background:#fff;overflow:hidden}.svg-chart-shell svg{display:block;width:100%;height:100%}.svg-grid{stroke:#e6eaf0;stroke-width:1}.svg-zero{stroke:#aab3bf;stroke-width:1.5}.svg-axis-y,.svg-axis-x,.svg-legend{font-size:13px;fill:#697585;font-family:Inter,ui-sans-serif,system-ui}.svg-legend{font-weight:700}.svg-point circle:first-child{cursor:pointer}.svg-point circle:first-child:focus{outline:none;stroke:#172033;stroke-width:2}.monthly-table-wrap{overflow:auto;margin-top:14px}.grid-table-wrap{border:1px solid #cfd6df;border-radius:8px;overflow:auto}.monthly-table{width:100%;border-collapse:collapse;min-width:720px;font-variant-numeric:tabular-nums}.monthly-table th,.monthly-table td{padding:10px 13px;border-right:1px solid #d8dee6;border-bottom:1px solid #d8dee6;font-size:12.5px;text-align:right}.monthly-table th:last-child,.monthly-table td:last-child{border-right:0}.monthly-table tr:last-child td{border-bottom:0}.monthly-table th{color:#2d3748;font-size:11.5px;background:#eef2f6;font-weight:800}.monthly-table th:first-child,.monthly-table td:first-child{text-align:left}.monthly-table tbody tr:nth-child(even) td{background:#fbfcfd}.monthly-table tr.selected-row td{background:#eef5ff!important;font-weight:800}

/* RZiS v4: jawna siatka jak arkusz */
.pnl-toolbar{margin:4px 0 14px}.sheet-panel{background:white;border:1px solid #bcc5d0;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}.sheet-scroll{overflow:auto;max-height:calc(100vh - 255px);min-height:480px}.sheet-pnl{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12.5px;font-variant-numeric:tabular-nums;color:#1f2937}.sheet-pnl th,.sheet-pnl td{padding:6px 9px;border-right:1px solid #ccd3dc;border-bottom:1px solid #d8dde5;white-space:nowrap;height:31px}.sheet-pnl th:first-child,.sheet-pnl td:first-child{border-left:0}.sheet-pnl thead th{position:sticky;z-index:8;text-align:center;font-weight:800;color:#172033}.sheet-pnl thead tr.year-head th{top:0;background:#dfe5ec;height:28px;font-size:12px;border-bottom:1px solid #b8c1cc}.sheet-pnl thead tr.month-head th{top:28px;background:#eef2f6;height:34px}.sheet-pnl thead th.row-label{left:0;z-index:12;text-align:left;min-width:485px;width:485px}.sheet-pnl tbody td.row-label{position:sticky;left:0;z-index:4;min-width:485px;width:485px;max-width:485px;white-space:normal;line-height:1.22;background:#fff;text-align:left}.sheet-pnl td.num{text-align:right;min-width:128px;width:128px}.sheet-pnl tbody tr:nth-child(even):not(.section-row):not(.net-result) td{background:#fbfcfd}.sheet-pnl tbody tr:nth-child(even):not(.section-row):not(.net-result) td.row-label{background:#fbfcfd}.sheet-pnl .selected-month{background:#eef5ff!important}.sheet-pnl .ytd-col{background:#f2f3f5!important;font-weight:800;border-left:2px solid #aeb8c5;min-width:140px}.sheet-pnl tr.level-1 td{font-weight:700;background:#edf3f9}.sheet-pnl tr.level-1 td.row-label{background:#edf3f9}.sheet-pnl tr.level-1 .indent{padding-left:18px}.sheet-pnl tr.level-2 .indent{padding-left:38px}.sheet-pnl tr.level-2 td.row-label{color:#26313f}.sheet-pnl tr.section-row td{background:#355f8c!important;color:white;font-weight:900;border-top:2px solid #2a4b70;border-bottom:1px solid #294b70}.sheet-pnl tr.section-row td.row-label{background:#355f8c!important;color:white;z-index:5}.sheet-pnl tr.section-row .selected-month{background:#426f9f!important}.sheet-pnl tr.section-row .ytd-col{background:#294f78!important;color:white}.sheet-pnl tr.net-result td{background:#18324f!important;color:white;font-weight:900;border-top:3px solid #10263e;border-bottom:0}.sheet-pnl tr.net-result td.row-label{background:#18324f!important;z-index:5}.sheet-pnl tr.net-result .selected-month{background:#244664!important}.sheet-pnl tr.net-result .ytd-col{background:#102a45!important;color:white}.sheet-pnl tr:hover:not(.section-row):not(.net-result) td{background:#fff9dc!important}.sheet-pnl tr:hover:not(.section-row):not(.net-result) td.row-label{background:#fff9dc!important}.sheet-pnl.main-only tr.level-2{display:none}.table-hint{padding:9px 12px;background:#fafbfc;color:#687386;font-size:11.5px;border-top:1px solid #d7dde5}.neg-num{color:#253247}

.analysis-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}.analysis-card{min-height:300px}.delta-list{margin-top:20px}.delta-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:15px 0;border-bottom:1px solid #edf0f4}.delta-list>div:last-child{border-bottom:0}.delta-list span{font-size:13px;font-weight:750}.delta-list strong{font-size:20px}.delta-list small{grid-column:1/-1;color:#7d8795;font-size:11.5px}.cost-list{margin-top:18px;display:grid;gap:16px}.cost-label{display:flex;justify-content:space-between;gap:16px;font-size:12.5px}.cost-label span{font-weight:700}.cost-label strong{white-space:nowrap}.bar-track{height:6px;background:#edf0f4;border-radius:99px;overflow:hidden;margin:6px 0 4px}.bar-track i{display:block;height:100%;background:#586d8d;border-radius:99px}.cost-row small{color:#7c8694;font-size:11px}.analysis-table-panel{margin-top:18px}
@media(max-width:1050px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid #e7ebf0}.analysis-grid{grid-template-columns:1fr}.sheet-pnl thead th.row-label,.sheet-pnl tbody td.row-label{min-width:380px;width:380px;max-width:380px}.trend-heading{flex-direction:column}.trend-controls{justify-content:flex-start}}
@media(max-width:760px){.topbar{height:auto;padding-top:10px;padding-bottom:10px}.page{padding-left:12px;padding-right:12px}.report-head,.panel-title-row,.pnl-toolbar{flex-direction:column;align-items:stretch}.actions{justify-content:flex-start}.kpi-strip{grid-template-columns:1fr}.kpi{border-right:0;border-bottom:1px solid #e7ebf0}.kpi:last-child{border-bottom:0}.report-tabs{gap:18px;overflow:auto}.chart-switch,.detail-switch{align-self:flex-start}.sheet-pnl thead th.row-label,.sheet-pnl tbody td.row-label{min-width:300px;width:300px;max-width:300px}.period-form{flex-wrap:wrap}.trend-controls{flex-direction:column}.trend-readout{width:100%}}

/* ===== v5 readability overrides ===== */
.v5-sheet{background:#fff;border:1px solid #b9c2cf;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.05)}
.v5-sheet .sheet-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:520px;background:#fff}
.v5-sheet .sheet-pnl{border-collapse:collapse!important;border-spacing:0!important;table-layout:fixed;width:max-content;min-width:100%;background:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.v5-sheet .sheet-pnl col.label-col{width:560px}
.v5-sheet .sheet-pnl col.amount-col{width:158px}
.v5-sheet .sheet-pnl col.ytd-width{width:172px}
.v5-sheet .sheet-pnl th,.v5-sheet .sheet-pnl td{border:1px solid #d3d9e1!important;height:34px;padding:0 12px;background:#fff;vertical-align:middle}
.v5-sheet .sheet-pnl thead th{position:sticky;background:#e8edf3!important;color:#172033;font-weight:800;text-align:center;z-index:9}
.v5-sheet .sheet-pnl thead tr.year-head th{top:0;height:31px;border-bottom-color:#b8c1cc!important}
.v5-sheet .sheet-pnl thead tr.month-head th{top:31px;height:36px;background:#f1f4f7!important}
.v5-sheet .sheet-pnl thead th.row-label{left:0;z-index:14;text-align:left;padding-left:16px}
.v5-sheet .sheet-pnl tbody td.row-label{position:sticky;left:0;z-index:5;width:560px;max-width:560px;background:#fff!important;text-align:left;white-space:normal;line-height:1.24;padding:6px 16px}
.v5-sheet .sheet-pnl tbody td.num{width:158px;min-width:158px;max-width:158px;padding:0 13px!important;text-align:right;background:#fff}
.v5-sheet .sheet-pnl tbody td.ytd-col,.v5-sheet .sheet-pnl thead th.ytd-col{width:172px;min-width:172px;max-width:172px;border-left:2px solid #9ea9b7!important;background:#f5f6f8!important}
.v5-sheet .sheet-pnl thead th.ytd-col small{font-size:10.5px;color:#687386;font-weight:700}
.v5-sheet .sheet-pnl .selected-month{background:#edf5ff!important}
.v5-sheet .sheet-pnl tbody tr:nth-child(even):not(.section-row):not(.net-result) td{background:#fafbfc}
.v5-sheet .sheet-pnl tbody tr:nth-child(even):not(.section-row):not(.net-result) td.row-label{background:#fafbfc!important}
.v5-sheet .sheet-pnl tbody tr:hover:not(.section-row):not(.net-result) td{background:#fff8dc!important}
.v5-sheet .sheet-pnl tbody tr:hover:not(.section-row):not(.net-result) td.row-label{background:#fff8dc!important}
.v5-sheet .sheet-pnl tr.level-1 td{font-weight:700;background:#eef3f8!important;border-top-color:#c4ccd6!important}
.v5-sheet .sheet-pnl tr.level-1 td.row-label{background:#eef3f8!important}
.v5-sheet .sheet-pnl tr.level-1 .indent{padding-left:18px}
.v5-sheet .sheet-pnl tr.level-2 .indent{padding-left:38px}
.v5-sheet .sheet-pnl tr.section-row td{background:#dbe7f4!important;color:#172033!important;font-weight:900;border-top:2px solid #9dafc3!important;border-bottom:1px solid #b9c4d1!important}
.v5-sheet .sheet-pnl tr.section-row td.row-label{background:#dbe7f4!important;color:#172033!important}
.v5-sheet .sheet-pnl tr.section-row .selected-month{background:#cfe0f2!important}
.v5-sheet .sheet-pnl tr.section-row .ytd-col{background:#cbd8e6!important;color:#172033!important}
.v5-sheet .sheet-pnl tr.net-result td{background:#274f79!important;color:#fff!important;font-weight:900;border-top:3px solid #183b60!important}
.v5-sheet .sheet-pnl tr.net-result td.row-label{background:#274f79!important;color:#fff!important}
.v5-sheet .sheet-pnl tr.net-result .selected-month{background:#315e8c!important}
.v5-sheet .sheet-pnl tr.net-result .ytd-col{background:#1f456c!important;color:#fff!important}
.v5-sheet .sheet-pnl.main-only tr.level-2{display:none}
.accounting-value{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:7px;width:100%;white-space:nowrap}
.acct-sign{display:block;text-align:center;color:#5d6878;font-weight:650}
.acct-digits{display:block;text-align:right;letter-spacing:.01em}
.section-row .acct-sign,.net-result .acct-sign{color:inherit}
.zero-value{display:block;text-align:center;color:#8b95a3}
.v5-sheet .table-hint{padding:10px 14px;background:#f7f8fa;border-top:1px solid #d4dae2;color:#697586}

/* v5 trend: deliberately no hover/tooltip interaction */
.trend-v5{margin-top:18px}
.metric-switch{display:flex;gap:3px;background:#eef1f5;padding:3px;border-radius:8px;align-self:flex-start}
.metric-switch button{background:transparent;color:#677283;padding:7px 12px;font-size:12px;border-radius:6px}
.metric-switch button.active{background:#fff;color:#172033;box-shadow:0 1px 4px rgba(16,24,40,.12)}
.simple-chart-shell{position:relative;height:330px;margin-top:16px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;overflow:hidden}
.simple-chart-shell svg{display:block;width:100%;height:100%}
.chart-current{position:absolute;z-index:2;right:18px;top:16px;min-width:190px;background:rgba(255,255,255,.94);border:1px solid #d8dee7;border-radius:8px;padding:9px 12px;box-shadow:0 2px 8px rgba(16,24,40,.05)}
.chart-current span,.chart-current small{display:block;color:#707b8a;font-size:11px}.chart-current strong{display:block;font-size:18px;margin:2px 0;font-variant-numeric:tabular-nums}
.trend-data-table{margin-top:14px}

/* make report navigation obviously styled even if user came from an older cached page */
.report-tabs a:link,.report-tabs a:visited{color:#697384;text-decoration:none}.report-tabs a.active:link,.report-tabs a.active:visited{color:#172033}

@media(max-width:900px){.v5-sheet .sheet-pnl col.label-col{width:390px}.v5-sheet .sheet-pnl tbody td.row-label{width:390px;max-width:390px}.v5-sheet .sheet-pnl col.amount-col{width:148px}.v5-sheet .sheet-pnl col.ytd-width{width:162px}.panel-title-row{flex-direction:column}.chart-current{position:static;margin:12px 12px 0;display:inline-block}.simple-chart-shell{height:360px}}

/* ===== v6 drill-down: funkcjonalność bez zmiany wyglądu RZiS ===== */
.drill-cell{cursor:pointer}
.drill-cell:focus-visible{outline:2px solid #355f8c;outline-offset:-2px}
.drill-overlay{position:fixed;inset:0;background:rgba(17,24,39,.28);z-index:60}
.drill-drawer{position:fixed;z-index:61;top:0;right:0;width:min(680px,94vw);height:100vh;background:#fff;border-left:1px solid #cfd6df;box-shadow:-18px 0 50px rgba(16,24,40,.18);transform:translateX(102%);transition:transform .2s ease;display:flex;flex-direction:column}
.drill-drawer.open{transform:translateX(0)}
.drawer-open{overflow:hidden}
.drill-head{position:relative;padding:25px 28px 20px;border-bottom:1px solid #e0e5eb;background:#fff}
.drill-head h2{padding-right:54px;margin-top:3px}.drill-head .eyebrow{margin-top:8px}
.drill-close{position:absolute;right:18px;top:17px;width:38px;height:38px;padding:0;background:#eef1f5;color:#172033;font-size:25px;line-height:38px;border-radius:8px}
.drill-back{background:transparent;color:#355f8c;padding:0 0 7px;font-size:12px;border-radius:0}
.drill-total{margin-top:17px;display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:12px 14px;background:#f5f7f9;border:1px solid #dce2e9;border-radius:8px}
.drill-total span{font-size:12px;color:#687386;font-weight:750}.drill-total strong{font-size:21px;font-variant-numeric:tabular-nums;white-space:nowrap}
.drill-body{flex:1;overflow:auto;padding:22px 28px 30px;background:#fafbfc}
.drill-section{background:#fff;border:1px solid #d8dee6;border-radius:9px;overflow:hidden}.drill-section h3{font-size:13px;margin:0;padding:13px 15px;background:#eef2f6;border-bottom:1px solid #d8dee6}
.drill-child-list{display:grid}.drill-child-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:14px;align-items:center;background:#fff;color:#172033;border-radius:0;padding:13px 15px;border-bottom:1px solid #e2e6ec;text-align:left;font-weight:600}
.drill-child-row:last-child{border-bottom:0}.drill-child-row:hover:not(:disabled){background:#fff8dc}.drill-child-row:disabled{opacity:.45;cursor:default}.drill-child-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.drill-child-row i{font-style:normal;color:#8090a2;font-size:19px;text-align:right}
.drill-loading{padding:26px;color:#6d7786;text-align:center;background:#fff;border:1px dashed #cfd6df;border-radius:9px}
.drill-table-wrap{overflow:auto;max-height:calc(100vh - 310px)}.drill-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11.5px;font-variant-numeric:tabular-nums}.drill-table th,.drill-table td{border-right:1px solid #dce2e9;border-bottom:1px solid #dce2e9;padding:9px 10px;white-space:nowrap;text-align:left}.drill-table th{position:sticky;top:0;background:#eef2f6;z-index:2;font-size:10.5px;color:#445064}.drill-table th:last-child,.drill-table td:last-child{border-right:0}.drill-table tr:last-child td{border-bottom:0}.drill-table tbody tr:nth-child(even) td{background:#fafbfc}.drill-table .drill-num{text-align:right;font-weight:750}
.drill-demo-note{padding:11px 28px;border-top:1px solid #e0e5eb;background:#fff7d6;color:#6d5a00;font-size:10.5px;line-height:1.4}
@media(max-width:700px){.drill-head,.drill-body{padding-left:16px;padding-right:16px}.drill-demo-note{padding-left:16px;padding-right:16px}.drill-drawer{width:100vw}.drill-total strong{font-size:18px}}

/* ===== v8 settlements module — keep v5 visual language ===== */
.settlements-head{align-items:flex-end}.settlement-search-wrap{min-width:320px}.settlement-search-wrap label{display:block;font-size:10.5px;font-weight:800;color:#697586;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.settlement-search{width:100%;height:38px;border:1px solid #cbd3dd;border-radius:8px;padding:0 12px;background:#fff;color:#172033;outline:none}.settlement-search:focus{border-color:#6f8eaf;box-shadow:0 0 0 3px rgba(53,95,140,.10)}
.settlements-kpis{margin-bottom:18px}.settlement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.settlement-kind-switch a{display:inline-flex;align-items:center;padding:7px 12px;border-radius:6px;color:#677283;text-decoration:none;font-size:12px;font-weight:750}.settlement-kind-switch a.active{background:#fff;color:#172033;box-shadow:0 1px 4px rgba(16,24,40,.12)}.settlement-filter-buttons{display:flex;gap:4px}.settlement-filter-buttons button{background:#eef1f5;color:#677283;padding:7px 11px;font-size:12px;border-radius:7px}.settlement-filter-buttons button.active{background:#274f79;color:#fff}
.settlement-summary-line{display:grid;grid-template-columns:auto auto auto 1fr;gap:30px;align-items:center;padding:14px 18px;margin-bottom:14px}.settlement-summary-line>div span{display:block;color:#6b7585;font-size:10.5px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.settlement-summary-line>div strong{display:block;font-size:19px;margin-top:2px;font-variant-numeric:tabular-nums}.settlement-summary-line .section-note{margin:0;text-align:right}
.settlement-sheet{border:1px solid #b9c2cf;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.05)}.settlement-table-scroll{overflow:auto;max-height:calc(100vh - 285px);min-height:470px}.settlement-groups{border-collapse:collapse;width:100%;min-width:1040px;font-size:12.5px;font-variant-numeric:tabular-nums}.settlement-groups>thead>tr>th{position:sticky;top:0;z-index:4;background:#e8edf3;color:#172033;border-right:1px solid #cfd6df;border-bottom:1px solid #b9c2cf;padding:10px 12px;text-align:left;font-weight:850;white-space:nowrap}.settlement-groups>thead>tr>th:nth-child(n+3){text-align:right}.settlement-groups>tbody>.contractor-row>td{border-right:1px solid #d7dde5;border-bottom:1px solid #d7dde5;padding:10px 12px;background:#fff}.settlement-groups>tbody>.contractor-row:nth-of-type(4n+1)>td{background:#fafbfc}.settlement-groups>tbody>.contractor-row:hover>td{background:#fff8dc}.settlement-groups .contractor-row td:nth-child(3),.settlement-groups .contractor-row td:nth-child(4),.settlement-groups .contractor-row td:nth-child(5),.settlement-groups .contractor-row td:nth-child(6){text-align:right;white-space:nowrap}.muted-cell{color:#6f7988}.overdue-pill{display:inline-flex;min-width:24px;height:22px;align-items:center;justify-content:center;background:#fff0f0;color:#a53a3a;border:1px solid #f0caca;border-radius:999px;font-weight:800;font-size:11px}.row-expand{width:30px;height:28px;padding:0;background:#eef1f5;color:#274f79;border-radius:6px;font-size:16px;line-height:28px}.contractor-detail-row>td{padding:0!important;background:#f5f7fa;border-bottom:1px solid #cbd3dd}.settlement-detail-wrap{padding:11px 14px 15px;overflow:auto}.settlement-detail-table{border-collapse:collapse;width:100%;min-width:1180px;background:#fff;border:1px solid #d4dae2;font-size:11.5px}.settlement-detail-table th,.settlement-detail-table td{border-right:1px solid #dce2e9;border-bottom:1px solid #dce2e9;padding:8px 9px;text-align:left;vertical-align:top}.settlement-detail-table th{background:#eef2f6;color:#445064;font-size:10.5px;font-weight:800;white-space:nowrap}.settlement-detail-table td.num,.settlement-detail-table th:last-child{text-align:right}.settlement-detail-table tbody tr:nth-child(even) td{background:#fafbfc}.settlement-detail-table .description-cell{min-width:330px;white-space:normal;line-height:1.3}.due-overdue{color:#a53a3a;font-weight:750}.settlement-sheet .table-hint{padding:10px 14px;background:#f7f8fa;border-top:1px solid #d4dae2;color:#697586}
@media(max-width:900px){.settlements-head{align-items:stretch}.settlement-search-wrap{min-width:0;width:100%}.settlement-toolbar{align-items:flex-start;flex-direction:column}.settlement-summary-line{grid-template-columns:1fr 1fr}.settlement-summary-line .section-note{grid-column:1/-1;text-align:left}}

.payment-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;background:#edf3f8;color:#315b7d;border:1px solid #cfdce7;border-radius:999px;font-size:10.5px;font-weight:800;white-space:nowrap}.settlement-detail-table tr.payment-item td{background:#f8fbfd}.settlement-detail-table tr.payment-item:nth-child(even) td{background:#f3f8fb}

/* ===== v8.2 payment-data completeness ===== */
.payment-data-warning{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:11px 14px;border:1px solid #e6d6a8;border-radius:8px;background:#fffaf0;color:#5f543a;font-size:12px;line-height:1.45}.payment-data-warning strong{white-space:nowrap;color:#4e452f}.verification-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;background:#f1f3f6;color:#647082;border:1px solid #d7dde5;border-radius:999px;font-size:10.5px;font-weight:750;white-space:nowrap}.verification-date{font-size:16px!important;color:#445064}.due-unverified{color:#445064}.settlement-detail-table tr.unverified-item td{background:#fff}.settlement-detail-table tr.unverified-item:nth-child(even) td{background:#fafbfc}
@media(max-width:900px){.payment-data-warning{flex-direction:column;gap:4px}.payment-data-warning strong{white-space:normal}}



/* ===== v10 admin / multi-client ===== */
.admin-back{text-decoration:none;display:inline-flex;align-items:center}
.admin-head{align-items:flex-end}.admin-search{display:flex;gap:8px;min-width:430px}.admin-search input{flex:1;height:40px;border:1px solid #cbd3dd;border-radius:8px;padding:0 12px;background:#fff}
.admin-kpis{margin-bottom:18px}.admin-sheet{border:1px solid #b9c2cf}.admin-table-scroll{overflow:auto;max-height:calc(100vh - 300px);min-height:450px}
.admin-table{border-collapse:collapse;width:100%;min-width:1180px;font-size:12px;font-variant-numeric:tabular-nums}.admin-table th{position:sticky;top:0;z-index:3;background:#e8edf3;color:#172033;border-right:1px solid #cfd6df;border-bottom:1px solid #b9c2cf;padding:10px 12px;text-align:left;white-space:nowrap}.admin-table td{border-right:1px solid #d7dde5;border-bottom:1px solid #d7dde5;padding:10px 12px;background:#fff;vertical-align:middle}.admin-table tbody tr:nth-child(even) td{background:#fafbfc}.admin-table tbody tr:hover td{background:#fff8dc}.admin-table td strong{display:block}.admin-table td small{display:block;color:#758091;margin-top:2px}.admin-table td.num{text-align:right}.admin-open{text-align:right}.open-client{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:7px 10px;border-radius:7px;background:#eef2f6;color:#274f79;text-decoration:none;font-weight:800}.open-client-arrow{display:inline-block;line-height:1}.open-client:hover{background:#dfe8f1}
.status-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:850;white-space:nowrap}.status-pill.ok{background:#eaf6ef;color:#17633e;border:1px solid #cce8d8}.status-pill.pending{background:#f2f4f7;color:#5f6b7b;border:1px solid #d9dee6}.mono-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.empty-cell{text-align:center;color:#6d7786;padding:28px!important}
.mapping-warning{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px;padding:11px 14px;border:1px solid #d8dee6;border-radius:8px;background:#f7f9fb;color:#4b5667;font-size:12px;line-height:1.45}.mapping-warning strong{white-space:nowrap;color:#172033}.generic-note{max-width:760px}.generic-accounts-sheet{margin-top:14px}
.generic-accounts-table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px;font-variant-numeric:tabular-nums}.generic-accounts-table th{position:sticky;top:0;background:#e8edf3;border:1px solid #cbd3dd;padding:9px 11px;text-align:left}.generic-accounts-table td{border:1px solid #d7dde5;padding:9px 11px;background:#fff}.generic-accounts-table tbody tr:nth-child(even) td{background:#fafbfc}.generic-accounts-table tbody tr:hover td{background:#fff8dc}.generic-accounts-table td.num{text-align:right}.generic-accounts-table a{font-weight:800;color:#274f79;text-decoration:none}
.ledger-filter{display:grid;grid-template-columns:90px 90px 130px minmax(260px,1fr) auto;gap:8px;min-width:650px}.ledger-filter input{height:40px;border:1px solid #cbd3dd;border-radius:8px;padding:0 10px;background:#fff}.ledger-scroll{overflow:auto;max-height:calc(100vh - 240px);min-height:500px}.ledger-table{border-collapse:collapse;width:100%;min-width:1500px;font-size:11px;font-variant-numeric:tabular-nums}.ledger-table th{position:sticky;top:0;z-index:3;background:#e8edf3;border:1px solid #cbd3dd;padding:8px 9px;text-align:left}.ledger-table td{border:1px solid #d7dde5;padding:8px 9px;background:#fff;vertical-align:top}.ledger-table tbody tr:nth-child(even) td{background:#fafbfc}.ledger-table .description-cell{min-width:320px;white-space:normal}.ledger-table td.num{text-align:right;white-space:nowrap}
@media(max-width:900px){.admin-head{align-items:stretch}.admin-search{min-width:0;width:100%}.mapping-warning{flex-direction:column;gap:4px}.mapping-warning strong{white-space:normal}.ledger-filter{min-width:0;width:100%;grid-template-columns:1fr 1fr}.ledger-filter input:nth-child(4){grid-column:1/-1}.ledger-filter button{grid-column:1/-1}}
.inline-lang-form{margin:0}.inline-lang-form select{min-width:72px;padding:6px 8px;border:1px solid #d6dbe2;border-radius:8px;background:#fff;font:inherit}.admin-table td small{display:block;margin-top:3px;color:#7a8493;font-size:11px}

/* v12.3 chart hover */
.svg-bar{cursor:help;transition:opacity .12s ease,filter .12s ease}.svg-bar:hover{filter:brightness(.96)}

/* ===== v13 admin management ===== */
.admin-topbar{gap:22px}.admin-nav{display:flex;gap:4px;margin-left:auto}.admin-nav a{padding:8px 12px;border-radius:8px;text-decoration:none;color:#5d6877;font-weight:800;font-size:13px}.admin-nav a:hover,.admin-nav a.active{background:#eef2f6;color:#172033}
.admin-row-actions{display:flex;justify-content:flex-end;gap:7px}.open-client.secondary{background:#fff;border:1px solid #cbd3dd;color:#526174}.open-client.secondary:hover{background:#f4f6f8}.admin-client-table{min-width:720px}
.management-grid{display:grid;grid-template-columns:minmax(330px,430px) 1fr;gap:18px;align-items:start}.admin-form-card{padding:22px}.admin-form-card h2,.settings-card h2,.edit-user-panel h2{margin-top:4px}.admin-form-stack{display:flex;flex-direction:column;gap:13px}.admin-form-stack>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#465365}.admin-form-stack input,.admin-form-stack select{height:42px;border:1px solid #cbd3dd;border-radius:8px;padding:0 11px;background:#fff;font:inherit;color:#172033}.admin-form-stack fieldset{border:1px solid #d5dbe3;border-radius:10px;padding:12px;margin:0}.admin-form-stack legend{font-size:12px;font-weight:900;color:#465365;padding:0 6px}.company-check-grid{display:grid;gap:3px;max-height:290px;overflow:auto;padding-right:4px}.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:7px 8px;border-radius:7px;font-weight:600!important;color:#2c3747!important}.check-row:hover{background:#f4f7fa}.check-row input,.toggle-line input,.module-check input{width:16px;height:16px;flex:0 0 auto}.users-scroll{max-height:720px}.users-table{min-width:760px}.status-pill.admin-role{background:#eee8ff;color:#6043a5}.edit-user-panel{margin-top:18px;padding:22px}.panel-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.edit-user-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;margin-top:18px}.password-card{border-left:1px solid #e0e5eb;padding-left:24px;align-content:start}.toggle-line{flex-direction:row!important;align-items:center!important;gap:9px!important}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.settings-card{padding:22px}.portal-toggle{padding:12px;border:1px solid #d6dde6;border-radius:10px;background:#fafbfc}.portal-toggle span{display:flex;flex-direction:column;gap:3px}.portal-toggle small,.module-check small{font-weight:500;color:#7a8493}.module-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.module-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d6dde6;border-radius:9px;background:#fff}.module-check span{display:flex;flex-direction:column;gap:3px}.assigned-users{display:flex;flex-direction:column;border:1px solid #d7dde5;border-radius:10px;overflow:hidden;margin:14px 0}.assigned-user{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border-bottom:1px solid #e1e5ea}.assigned-user:last-child{border-bottom:0}.assigned-user strong,.assigned-user small{display:block}.assigned-user small{color:#7a8493;margin-top:2px}.full-action{display:flex;justify-content:center;margin-top:12px}.settings-meta{margin-top:22px;display:grid;gap:0;border-top:1px solid #e1e5ea}.settings-meta>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e1e5ea}.settings-meta span{color:#758091}.empty-state{padding:18px;border:1px dashed #cbd3dd;border-radius:10px;color:#758091;background:#fafbfc}.company-picker-page{max-width:1180px}.company-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.company-picker-card{display:flex;flex-direction:column;min-height:150px;padding:20px;border:1px solid #d5dce4;border-radius:12px;background:#fff;text-decoration:none;color:#172033;box-shadow:0 1px 2px rgba(23,32,51,.03)}.company-picker-card:hover{border-color:#9eb2c9;box-shadow:0 8px 24px rgba(23,32,51,.08);transform:translateY(-1px)}.company-picker-card strong{font-size:18px;margin:8px 0}.company-picker-card small{color:#758091;margin-bottom:auto}.company-picker-card>span:last-child{font-weight:800;color:#274f79;margin-top:18px}
@media(max-width:1000px){.management-grid,.settings-grid,.edit-user-grid{grid-template-columns:1fr}.password-card{border-left:0;border-top:1px solid #e0e5eb;padding-left:0;padding-top:20px}.company-picker-grid{grid-template-columns:1fr 1fr}.admin-nav{order:3;width:100%}.admin-topbar{flex-wrap:wrap}}
@media(max-width:650px){.module-check-grid,.company-picker-grid{grid-template-columns:1fr}}

/* v13.1 — per-user module permissions */
.tab-access-fieldset{margin-top:18px}
.user-module-matrix{display:grid;gap:12px;margin-top:12px}
.user-module-company{border:1px solid #d7e0eb;border-radius:14px;background:#f8fafc;padding:14px 16px}
.user-module-company-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}
.user-module-company-head small{color:#718096}
.user-module-checks{display:flex;flex-wrap:wrap;gap:8px 12px}
.module-mini{display:flex;align-items:center;gap:7px;border:1px solid #d9e1ec;background:#fff;border-radius:10px;padding:8px 10px;min-width:135px}
.module-mini input{width:17px;height:17px}
.compact-banner{margin-top:12px;padding:10px 12px}

/* ===== v13.3 clean centered login ===== */
.login-shell-clean{
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:32px 20px;
  background:#f4f6f8;
}
.login-card-clean{
  width:min(460px,100%);
  padding:44px 42px 40px;
  border:1px solid #e1e6ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 55px rgba(23,32,51,.10);
}
.login-brand-clean{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:32px;
}
.login-mark{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:16px;
  border-radius:12px;
  background:#172033;
  color:#fff;
  font-size:19px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(23,32,51,.16);
}
.login-brand-clean .eyebrow{margin:0 0 6px}
.login-brand-clean h1{
  margin:0;
  font-size:34px;
  line-height:1.12;
}
.login-form-clean{
  display:grid;
  gap:17px;
}
.login-form-clean label{
  gap:7px;
  font-size:13px;
}
.login-form-clean input{
  height:46px;
  border-radius:10px;
  padding:0 13px;
  border-color:#cfd6df;
}
.login-form-clean input:focus{
  outline:none;
  border-color:#8093aa;
  box-shadow:0 0 0 3px rgba(91,116,145,.12);
}
.login-submit{
  width:100%;
  height:46px;
  margin-top:4px;
  border-radius:10px;
  font-size:14px;
}
@media(max-width:520px){
  .login-shell-clean{padding:20px 14px}
  .login-card-clean{padding:36px 24px 30px;border-radius:16px}
  .login-brand-clean h1{font-size:30px}
}


/* ===== v13.4 — KPDA logo on login ===== */
.login-kpda-logo{
  display:block;
  width:167px;
  max-width:70%;
  height:auto;
  margin:0 auto 22px;
  object-fit:contain;
}
.login-brand-clean h1{margin-top:0}
@media(max-width:520px){
  .login-kpda-logo{width:155px;margin-bottom:20px}
}


/* ===== v13.6 — unified KPDA logo in top bars ===== */
.topbar-kpda-logo{display:block;width:118px;height:auto;max-height:46px;object-fit:contain;flex:0 0 auto}.brand-inline-logo{gap:14px}.brand-inline-logo .eyebrow{margin-bottom:2px}.brand-inline-logo strong{display:block;line-height:1.15}@media(max-width:760px){.topbar-kpda-logo{width:96px;max-height:38px}.brand-inline-logo{gap:10px}}

/* ===== v13.8 — Komplit project reporting ===== */
.project-summary-panel{margin-top:22px}
.project-table-scroll{overflow:auto}
.project-summary-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0}
.project-summary-table th,.project-summary-table td{padding:13px 14px;border-right:1px solid #dce2e9;border-bottom:1px solid #dce2e9;background:#fff}
.project-summary-table th{background:#eef2f6;color:#344054;font-size:12px;font-weight:800;text-align:center}
.project-summary-table thead tr:first-child th{background:#e7edf4;color:#172033;font-size:13px}
.project-summary-table th:first-child,.project-summary-table td:first-child{border-left:1px solid #dce2e9}
.project-summary-table thead tr:first-child th{border-top:1px solid #dce2e9}
.project-summary-table .project-name{min-width:230px}
.project-summary-table .num{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.project-breakdown-head{margin-top:30px}
.project-breakdown-table{min-width:1280px}
.project-breakdown-table .row-label{min-width:230px}
.project-breakdown-table thead th{white-space:normal;line-height:1.25;min-width:145px}
.project-breakdown-row:hover td{background:#f8fafc}
@media(max-width:900px){.project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== v13.10 — project breakdown: always show all projects ===== */
.project-breakdown-scroll{max-height:none!important;min-height:0!important;overflow-x:auto!important;overflow-y:visible!important;}
.project-breakdown-table thead th{position:static!important;top:auto!important;}
.project-breakdown-table tbody td.row-label{position:static!important;left:auto!important;}

/* ===== v14 — operations, comments, exports, notifications ===== */
.admin-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-nav a{color:#667085;text-decoration:none;font-size:12px;font-weight:750;padding:8px 10px;border-radius:8px}.admin-nav a.active{background:#eef2f6;color:#172033}.export-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;font-size:12px}.export-actions{display:flex;gap:8px;align-items:end}.settlement-head-actions{display:flex;gap:12px;align-items:flex-end}.portal-notices{display:grid;gap:8px;margin:0 0 18px}.portal-notices article{background:#eef5ff;border:1px solid #cfe0f5;border-radius:10px;padding:12px 15px;display:grid;gap:3px}.portal-notices strong{font-size:13px}.portal-notices span{font-size:13px;color:#475467}.portal-notices small{font-size:11px;color:#7a8493}.report-comments{display:grid;gap:9px;margin:0 0 18px}.report-comments article{background:#fff8df;border:1px solid #eadca4;border-radius:10px;padding:12px 15px;position:relative}.report-comments article>div{display:flex;gap:10px;align-items:center}.report-comments p{margin:8px 0 0;line-height:1.5}.comment-tag{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d5a00}.report-comments small{color:#8c7f55}.link-danger{background:transparent;color:#ad2f2f;padding:4px 0;font-size:11px}.admin-comment-box{margin-top:22px}.comment-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.comment-form textarea{grid-column:1/-1;width:100%;border:1px solid #d9dee7;border-radius:9px;padding:11px 12px;font:inherit;resize:vertical}.comment-form .toggle-line{align-self:center}.comparison-panel{margin-top:20px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dce2e9;border:1px solid #dce2e9;border-radius:10px;overflow:hidden}.comparison-grid article{background:white;padding:16px 18px}.comparison-grid article>strong{display:block;font-size:13px;margin-bottom:6px}.comparison-grid article>span{display:block;font-size:22px;font-weight:800;margin-bottom:10px}.comparison-grid article>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding-top:5px}.comparison-grid small{color:#7b8494}.health-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.health-summary article{background:white;border:1px solid #dce2e9;border-radius:10px;padding:16px}.health-summary span{display:block;font-size:12px;color:#667085}.health-summary strong{font-size:28px}.check-badges{display:flex;flex-wrap:wrap;gap:5px;min-width:310px}.check-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:750;background:#eef2f6;color:#596579;border:1px solid #d7dee8}.check-pill.ok{background:#e9f8f1;color:#176b50;border-color:#bfe6d5}.check-pill.warn{background:#fff6db;color:#806400;border-color:#ead690}.check-pill.error{background:#fff0ef;color:#a83131;border-color:#f1c1bd}.check-pill.info{background:#eef5ff;color:#305f94;border-color:#cadef5}.status-pill.danger{background:#fff0ef;color:#ad3030;border-color:#f1c1bd}.ops-section-head{margin:30px 0 12px}.history-scroll{max-height:420px}.notifications-grid{grid-template-columns:minmax(320px,430px) minmax(0,1fr)}textarea{font:inherit}.admin-form-stack textarea{width:100%;border:1px solid #d9dee7;border-radius:8px;padding:10px 12px;background:white}.compact-button{padding:6px 9px;font-size:11px}.audit-table td{vertical-align:top}.ops-page .admin-table td small,.ops-page .admin-table td strong{display:block}.health-table td{vertical-align:middle}
@media(max-width:1100px){.admin-topbar{align-items:flex-start;padding-top:12px;padding-bottom:12px}.admin-nav{order:3;width:100%}.comparison-grid{grid-template-columns:1fr}.notifications-grid{grid-template-columns:1fr}.settlement-head-actions{align-items:stretch;flex-direction:column}.export-actions{align-self:flex-end}}
@media(max-width:720px){.comment-form{grid-template-columns:1fr}.health-summary{grid-template-columns:1fr}.check-badges{min-width:0}}

/* ===== v14.2 — context-aware exports ===== */
.ledger-head-actions{display:flex;gap:12px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}.ledger-head-actions .export-actions{flex:0 0 auto}@media(max-width:1100px){.ledger-head-actions{width:100%;align-items:stretch;flex-direction:column}.ledger-head-actions .export-actions{align-self:flex-end}}

/* Bilans v14.6 */
.balance-warning{margin:0 0 16px;padding:11px 14px;border:1px solid #e4c865;border-radius:8px;background:#fff9df;color:#6d5a00;font-size:12px;line-height:1.45}.balance-kpis{display:grid;grid-template-columns:1fr 1fr .8fr;background:#fff;border:1px solid #dce2e9;border-radius:12px;overflow:hidden;margin-bottom:18px}.balance-kpis article{padding:18px 22px;border-right:1px solid #e2e6ec}.balance-kpis article:last-child{border-right:0}.balance-kpis span,.balance-kpis small{display:block;color:#667085;font-size:12px;font-weight:750}.balance-kpis strong{display:block;font-size:24px;margin-top:7px;font-variant-numeric:tabular-nums}.balance-kpis .balance-ok{background:#f6fbf8}.balance-kpis .balance-bad{background:#fff5f5}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.balance-sheet-panel{overflow:auto}.balance-table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.balance-table th,.balance-table td{height:34px;padding:7px 12px;border-right:1px solid #d3d9e1;border-bottom:1px solid #d3d9e1}.balance-table th:last-child,.balance-table td:last-child{border-right:0}.balance-table thead th{background:#e8edf3;color:#172033;font-weight:850;text-align:left}.balance-table thead th:last-child,.balance-table td.num{text-align:right;min-width:145px}.balance-table .balance-group td{background:#eef3f8;font-weight:800;border-top:1px solid #bac5d1}.balance-table .balance-detail td:first-child{padding-left:30px;color:#344054}.balance-table tbody tr:nth-child(even).balance-detail td{background:#fafbfc}.balance-table .balance-total td{background:#274f79;color:#fff;font-weight:900;border-top:3px solid #183b60}.balance-table .drill-cell:hover{background:#fff8dc!important}.balance-entry-section{margin-top:16px}.balance-entry-section .drill-child-row{grid-template-columns:minmax(0,1fr) auto 20px}@media(max-width:900px){.balance-grid{grid-template-columns:1fr}.balance-kpis{grid-template-columns:1fr}.balance-kpis article{border-right:0;border-bottom:1px solid #e2e6ec}.balance-kpis article:last-child{border-bottom:0}}

/* v14.12: financial terminology + margin formula tooltip */
.info-tip{display:inline-flex!important;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border:1px solid #aeb7c4;border-radius:50%;color:#667085;font-size:10px!important;font-weight:850!important;line-height:1;vertical-align:1px;text-decoration:none;cursor:help;background:#fff}.info-tip:hover{color:#172033;border-color:#667085;background:#f5f7fa}

/* ===== v14.17 — responsive administrator UI (desktop / laptop / narrow windows) ===== */
/* The admin header must grow with its contents: a fixed 68px header caused
   navigation to overlap the page when browser width/zoom was reduced. */
.admin-topbar {
  height: auto;
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(245px, 1fr) auto auto;
  grid-template-areas: "brand nav actions";
  align-items: center;
  column-gap: 18px;
  row-gap: 8px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.admin-topbar > .brand-inline {grid-area:brand;min-width:0;}
.admin-topbar > .admin-nav {
  grid-area:nav;
  order: initial;
  width: auto;
  min-width:0;
  flex-wrap: nowrap;
  justify-content:flex-start;
  gap:3px;
}
.admin-topbar > .admin-nav a {white-space:nowrap;flex-shrink:0;}
.admin-topbar > .top-actions {grid-area:actions;justify-self:end;min-width:0;}
.admin-topbar .brand-inline-logo strong {overflow-wrap:normal;}

/* Search form must never force the heading into a narrow column. */
.admin-head > div:first-child {min-width:0;}
.admin-head > div:first-child h1 {overflow-wrap:normal;}
.admin-head .admin-search {
  flex: 0 1 580px;
  width: min(580px,100%);
  min-width:0;
  max-width:100%;
  align-items:stretch;
}
.admin-head .admin-search input {min-width:0;width:100%;height:42px;}
.admin-head .admin-search button {white-space:nowrap;flex-shrink:0;}

/* The clean clients table does not need the 1180px minimum of the other admin tables. */
.admin-client-table {width:100%;min-width:620px;table-layout:auto;}
.admin-client-table th:nth-child(1) {width:45%;}
.admin-client-table th:nth-child(2) {width:32%;}
.admin-client-table .admin-row-actions {display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.admin-client-table td {overflow-wrap:anywhere;}

@media (max-width:1230px) {
  .admin-topbar {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand actions" "nav nav";
    row-gap:10px;
  }
  .admin-topbar > .admin-nav {width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;}
  .admin-head {flex-direction:column;align-items:stretch;gap:14px;}
  .admin-head .admin-search {flex:initial;width:100%;max-width:680px;}
}
@media (max-width:760px) {
  .admin-topbar {padding:10px 16px;column-gap:10px;}
  .admin-topbar .topbar-kpda-logo {width:94px;max-height:41px;}
  .admin-topbar .brand-inline-logo {gap:8px;}
  .admin-topbar .brand-inline-logo strong {font-size:15px;}
  .admin-topbar .brand-inline-logo .eyebrow {font-size:10px;}
  .admin-topbar .top-actions button {padding:9px 11px;font-size:12px;}
  .admin-topbar > .admin-nav a {font-size:12px;padding:9px 10px;}
  .admin-topbar + .page {padding:20px 16px 50px;}
  .admin-head > div:first-child h1 {font-size:clamp(27px,6vw,38px);}
  .admin-head .admin-search {max-width:100%;}
  .admin-table-scroll {min-height:300px;}
}
@media (max-width:480px) {
  .admin-topbar {padding:9px 12px;}
  .admin-topbar .topbar-kpda-logo {width:76px;}
  .admin-topbar .brand-inline-logo strong {font-size:13px;}
  .admin-topbar .brand-inline-logo .eyebrow {font-size:9px;letter-spacing:.08em;}
  .admin-topbar .top-actions button {padding:8px 10px;font-size:11px;}
  .admin-topbar + .page {padding:16px 12px 36px;}
  .admin-head .admin-search {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;}
  .admin-head .admin-search button {padding-left:12px;padding-right:12px;}
  .admin-head .admin-search input {font-size:14px;}
}
/* Readable spacing and centred empty state when no companies are imported. */
.admin-head {margin-bottom:18px;}
.admin-client-table:has(.empty-cell) {min-width:0;}

/* Rozrachunki v2: desktop Excel-like document detail and optional filters */
.settlement-v2-filters {display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.settlement-v2-filters label {font-size:12px;color:var(--text-muted,#697386);display:flex;flex-direction:column;gap:4px}
.settlement-v2-filters select,.settlement-v2-filters input {min-height:34px;border:1px solid #cdd5df;border-radius:8px;background:var(--surface,#fff);color:inherit;padding:5px 9px;max-width:180px}
.settlement-marker {font-weight:700;letter-spacing:.06em}
.settlement-detail-table {min-width:1350px}
.settlement-detail-table td {vertical-align:top}
.settlement-detail-table td:nth-child(10),.settlement-detail-table td:nth-child(11) {max-width:260px;overflow-wrap:anywhere}

/* Rozrachunki v2.1: grouped document-type columns, safe horizontal scroll */
.settlement-sheet .settlement-groups { min-width: 980px; }
.settlement-sheet .settlement-detail-table { min-width: 1640px; }
.settlement-kind-switch { flex-wrap: wrap; }
.settlement-kind-switch a { white-space: nowrap; }
.settlement-groups th, .settlement-groups td { vertical-align: middle; }
.settlement-groups th:nth-last-child(2), .settlement-groups td.num { white-space: nowrap; }

/* v14.20.8 — konto, zaproszenia i odzyskiwanie hasła */
.notice-success{padding:14px 16px;border:1px solid #bedbd0;border-radius:12px;background:#f1f9f5;color:#145a3b;margin:12px 0;line-height:1.5}
.account-link{display:inline-block;margin-top:18px;color:#1460aa;text-decoration:underline;text-underline-offset:3px}
.invite-company-list{max-height:450px;overflow:auto;display:grid;gap:12px;margin-top:12px}
.invite-company-item{border:1px solid #dfe6ed;border-radius:12px;padding:12px}
.invite-company-item .user-module-checks{margin-top:10px;margin-left:12px}

/* v14.20.15: compact company-specific source snapshot indicator */
.data-snapshot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:12px 0 2px;padding:10px 15px;border:1px solid #e0e6ed;background:#fff;border-radius:9px;color:#344054;font-size:12px;line-height:1.45}
.data-snapshot-label{font-weight:600;color:#627083}
.data-snapshot strong{font-weight:800;color:#172033}
.data-snapshot-zone{font-size:11px;color:#798496}
@media(max-width:760px){.data-snapshot{margin-top:15px;padding:9px 12px}}


/* KPDA v14.20.16 - resize kolumn w tabelach (wszystkie duze widoki) */
.kpda-resizable-table {
  table-layout: fixed !important;
  /* Fill the scroll container after columns are narrowed, while retaining horizontal scroll for wide tables. */
  width: max(100%, var(--kpda-resize-width)) !important;
  min-width: var(--kpda-resize-width) !important;
  max-width: none !important;
}
.kpda-resizable-table col { min-width:0 !important; max-width:none !important; }
.kpda-resizable-table > thead > tr > th,
.kpda-resizable-table > tbody > tr > td,
.kpda-resizable-table > tfoot > tr > td {
  box-sizing: border-box;
  min-width:0 !important;
  max-width:none !important;
  width:auto !important;
}
.kpda-resizable-table th.kpda-resize-relative { position:relative !important; }
.kpda-resizable-table > thead > tr > th { overflow:visible; }
.kpda-resizable-table > tbody > tr > td {
  overflow:hidden;
  text-overflow:ellipsis;
}
.kpda-resizable-table > tbody > tr > td.row-label,
.kpda-resizable-table > tbody > tr > td.project-name,
.kpda-resizable-table > tbody > tr > td.description-cell {
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.kpda-col-resizer {
  position:absolute;
  top:0;
  right:-5px;
  bottom:0;
  width:12px;
  display:block;
  z-index:30;
  cursor:col-resize;
  touch-action:none;
  background:transparent;
}
.kpda-col-resizer::after {
  content:"";
  display:block;
  width:2px;
  height:56%;
  position:absolute;
  top:22%;
  left:5px;
  border-radius:2px;
  background:transparent;
  transition:background .12s ease;
}
.kpda-col-resizer:hover::after,
.kpda-col-resizer:focus-visible::after,
.kpda-col-resizer-active::after { background:#2c6ca2; }
.kpda-col-resizer:focus-visible { outline:2px solid #2c6ca2; outline-offset:-2px; }
.kpda-column-dragging,
.kpda-column-dragging * { cursor:col-resize !important; user-select:none !important; }
