:root{--ink:#16324b;--blue:#096bc2;--line:#dce5ee;--muted:#607589}*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{padding:11px 16px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:650}header{padding:20px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}header small{font-weight:700;letter-spacing:1.2px;color:var(--muted)}h1{font-size:22px;margin:5px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 14px}.stage{background:#fff2d6;padding:10px 28px;font-size:13px;color:#735318}main{max-width:1500px;margin:auto;padding:24px 28px}nav,.toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}nav .active{background:#dcecff;border-color:#accff0;color:#07599e}input,textarea,select{width:100%;padding:11px;border:1px solid #cbd8e5;border-radius:8px;background:#fff;min-height:43px}textarea{min-height:100px;resize:vertical}.toolbar input{max-width:250px}.toolbar input[type=search]{max-width:420px;flex:1}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.case{text-align:left;display:block;width:100%;height:100%;border-left:4px solid #91b6d7}.case h3{margin:12px 0}.case p{line-height:1.45;margin:7px 0}.badge{display:inline-block;padding:4px 8px;background:#e8f0f7;border-radius:6px;font-size:12px}.muted,footer{color:var(--muted);font-size:13px}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.wide{grid-column:1/-1}.workers{display:flex;gap:8px;flex-wrap:wrap}.workers label{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px;border-radius:8px}.workers input{width:16px;min-height:16px;margin:0}.sticky{position:sticky;bottom:0;background:#fff;padding:14px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center}.empty{padding:50px;text-align:center;color:var(--muted)}#error{background:#fff0f0;border:1px solid #e9b5bc;color:#a32638;padding:14px;border-radius:9px;margin-bottom:16px}#notice:not(:empty){padding:12px;margin-bottom:16px;background:#e1f4eb;border-radius:8px}footer{margin-top:16px}pre{white-space:pre-wrap;max-height:400px;overflow:auto}.calendar{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-height:65vh}.calendar table{border-collapse:collapse;min-width:100%;table-layout:fixed}.calendar th,.calendar td{border:1px solid var(--line);min-width:155px;width:155px;padding:6px;vertical-align:top}.calendar th{position:sticky;top:0;background:#edf4fb;z-index:2;font-size:12px}.calendar td{height:65px}.calendar td:first-child,.calendar th:first-child{min-width:65px;width:65px;background:#f7f9fb}.event{padding:7px;background:#dcecff;border:1px solid #91b6d7;border-radius:5px;font-size:12px;cursor:grab;margin-bottom:3px}.event.dirty{background:#fff1cf;border-color:#d28a12}.drop{background:#eff9f2}.pending{color:#89620c}.grid-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.grid-controls .field{max-width:180px}.schedule-summary{margin:15px 0;line-height:1.6}@media(max-width:850px){.split,.grid{grid-template-columns:1fr}.wide{grid-column:auto}header{align-items:start;gap:14px;padding:16px}main{padding:16px}h1{font-size:18px}header label{max-width:180px}}

.occupied{display:block;background:#e0eafa;color:#365777;border-left:3px solid #487db6;padding:3px;font-size:11px}.calendar td{min-height:32px}

.calendar td{height:30px;padding:3px}.calendar td:first-child{font-size:11px}
.module-tabs{display:flex;gap:7px;flex-wrap:wrap}.module-tabs .active{background:#deeee9;border-color:#83afa3;color:#20564c}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:12px;margin:14px 0}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:15px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:6px;font-size:23px}.data-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;margin:18px 0}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{background:#edf2f4;text-align:left;color:#425b68;font-size:13px;white-space:nowrap}.data-table td,.data-table th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}.data-table td:first-child{min-width:125px}.data-table td p{margin:7px 0 0}.data-table tr:nth-child(even){background:#f8fafc}.data-table small{color:var(--muted)}.data-table button{padding:8px 12px}.check{display:inline-flex;align-items:center;gap:8px;margin:15px 0}.check input{width:17px;height:17px;min-height:17px;margin:0}.success{background:#e0f3e7;color:#246c40}.month-net{font-size:13px;color:var(--muted);margin-left:auto}.bar-row{display:grid;grid-template-columns:160px 1fr 65px;gap:14px;align-items:center;margin:15px 0}.bar-row meter{width:100%;height:21px;accent-color:#096bc2}.bar-row b{text-align:right}.retry-box{position:sticky;bottom:10px;background:#fff0d9;padding:15px;border:1px solid #cf971c;border-radius:10px}.payment-Przelew{color:#2150a3;background:#e2edff}.payment-BLIK{color:#7537a3;background:#f1e6ff}.payment-Karta{color:#985515;background:#fff0d9}#module .toolbar .field{min-width:210px}#module h2{margin-bottom:12px}#module .grid-controls{margin:15px 0}#module hr{border:0;border-top:1px solid var(--line);margin:24px 0}

[hidden]{display:none!important}

#calendarStatus:not(:empty){padding:12px 18px;margin:12px 0;background:#eef6ff;border:1px solid #b7d2ef;border-radius:10px}#calendarStatus p{margin:6px 0}

.org-slot{display:block;background:#eee8f6;border-left:3px solid #79689e;padding:4px;font-size:11px}.org-slot.nonblocking{background:#f6f4ee;border-left-style:dashed;color:#756945}.sticky{flex-wrap:wrap}details{margin-top:14px}summary{cursor:pointer}#wfForm>.field{margin:14px 0}

.time-change{background:#fff2db;color:#775923}.schedule-conflicts{background:#fff0f0;border:1px solid #e9b5bc;border-radius:9px;padding:15px;color:#a32638}.event[draggable="false"]{cursor:pointer}

.finance-grid{min-width:1740px;table-layout:fixed}.finance-grid th:nth-child(1){width:105px}.finance-grid th:nth-child(2){width:245px}.finance-grid th:nth-child(5){width:82px}.finance-grid th:nth-child(12){width:160px}.finance-grid input,.finance-grid select{width:100%;min-width:0;padding:8px}.finance-grid input[type=checkbox]{width:auto}.finance-grid td{vertical-align:top}.finance-grid small{display:block;margin-top:5px}.finance-grid [data-field=extra_reason]{margin-top:5px}.finance-grid [data-open]{padding:4px 0;border:0;background:none;color:var(--primary,#1e5a53);text-align:left}.finance-grid .unsaved-row{background:#fff9df}.grid-save{justify-content:space-between}

/* Private Po równo ledger, loaded on demand. */
[data-pr-person="0"]{border-left:6px solid #6c794e}[data-pr-person="1"]{border-left:6px solid #537aa1}.pr-income{color:#247146}.pr-expense{color:#a53030}.pr-photo{display:block;max-width:100%;max-height:75vh;margin-top:1rem}

/* Shared readable production layout. No fonts, chart libraries or extra requests. */
.planning-filters{align-items:flex-end;gap:10px}.planning-filters>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.planning-filters .search-field{flex:1;min-width:240px;max-width:480px}.planning-filters input[type=search]{max-width:none}.planning-filters button{min-height:43px}.planning-filters input[type=date]{width:165px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bc4ec;outline-offset:2px}.case:hover{border-color:#89a9c5;box-shadow:0 3px 12px #16324b0b}.case{--status:#5b82aa;--tint:#e8f0f7;border-left-color:var(--status)}.case>.badge:first-child{background:var(--tint);color:var(--status);font-weight:650}
.case[data-status="Umówiony"],.case[data-status="Wykonany"]{--status:#256a46;--tint:#e3f3e9}.case[data-status="Rezerwacja"],.case[data-status="Do oddzwonienia"],.case[data-status="Do wyceny"],.case[data-status="Wysłano ofertę"],.case[data-status="Czekamy na części"],.case[data-status="Do zaplanowania"],.case[data-status="Do uzupełnienia"]{--status:#8b6115;--tint:#fff1d5}.case[data-status="Nie umówiony"],.case[data-status="Odwołany"],.case[data-status="Odwołane"],.case[data-status="Niewykonane"]{--status:#a34045;--tint:#fcebed}.case[data-status="Nie zakwalifikowany"],.case[data-status="Umówiony z konkurencją"]{--status:#65717e;--tint:#edf0f3}
#daySummary .metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.metric strong{font-variant-numeric:tabular-nums;letter-spacing:-.4px}.metric{border-top:3px solid #c4d9ec}.payment-Przelew,.payment-BLIK,.payment-Karta{font-weight:650;border:1px solid currentColor}.bar-track{height:12px;background:#edf1f5;border-radius:8px;overflow:hidden}.bar-fill{display:block;height:100%;background:#477ead;border-radius:8px}.report-note{line-height:1.55;max-width:1100px}.report-table td:not(:first-child),.report-table th:not(:first-child){text-align:right}.report-table td{font-variant-numeric:tabular-nums}.chart-list{max-height:360px;overflow:auto}.chart-row{display:grid;grid-template-columns:95px minmax(100px,1fr) 145px;gap:12px;align-items:center;padding:7px 0;font-size:13px}.chart-row strong{text-align:right;font-variant-numeric:tabular-nums}.chart-row .bar-fill{background:#557b70}.compare-up{color:#266d48}.compare-down{color:#a34045}.queue-ok{color:#266d48}.queue-warning{color:#925d0a}
.equal-module #prSummary{display:grid;grid-template-columns:1fr 1fr;gap:14px}.equal-module #prSummary>.card:first-child{grid-column:1/-1;background:#f2f5ed;border-color:#d3dcc5;padding:18px 22px}.equal-module #prSummary>.card{margin:0}.equal-module #prSummary .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.equal-module #prSummary .metric{border:0;background:#f7f9f5;padding:10px}.equal-module [data-pr-person="1"] .metric{background:#f0f5fa}.equal-module #prSummary .metric strong{font-size:19px}.equal-module #prSummary+section{margin-top:20px}.equal-module #prRows td:nth-child(4){white-space:nowrap;font-weight:650}
@media(max-width:1000px){#daySummary .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.equal-module #prSummary{grid-template-columns:1fr}.bar-row{grid-template-columns:130px 1fr 50px}}@media(max-width:550px){#daySummary .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-filters .search-field{flex-basis:100%;max-width:none}.chart-row{grid-template-columns:80px 1fr 105px}.equal-module #prSummary .metrics{grid-template-columns:1fr}.bar-row{grid-template-columns:100px 1fr 40px;gap:8px}}
progress.report-bar{appearance:none;-webkit-appearance:none;width:100%;height:12px;border:0;border-radius:8px;overflow:hidden;background:#edf1f5;color:#477ead}progress.report-bar::-webkit-progress-bar{background:#edf1f5;border-radius:8px}progress.report-bar::-webkit-progress-value{background:#477ead;border-radius:8px}progress.report-bar::-moz-progress-bar{background:#477ead;border-radius:8px}progress.report-bar.negative::-webkit-progress-value{background:#a34045}progress.report-bar.negative::-moz-progress-bar{background:#a34045}
