:root{--navy:#122f4d;--navy2:#0b2239;--green:#54a646;--bg:#f3f6f8;--text:#192633;--muted:#6c7985;--line:#dfe6eb;--red:#d94b4b;--yellow:#d89b28;--blue:#3478b9;--shadow:0 8px 30px rgba(19,46,72,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:16px}.hidden{display:none!important}button,input,select{font:inherit}.login-screen{min-height:100vh;background:linear-gradient(120deg,var(--navy2),var(--navy));display:grid;place-items:center;padding:30px;position:relative}.login-brand{position:absolute;top:35px;left:45px;display:flex;align-items:center;gap:12px;color:#fff}.login-brand strong,.logo strong{display:block;letter-spacing:2px;font-size:19px}.login-brand small,.logo small{display:block;font-size:10px;letter-spacing:4px;opacity:.7}.brand-mark{width:40px;height:40px;border:2px solid currentColor;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:22px;position:relative}.brand-mark span{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--green);right:-4px;bottom:4px}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:38px;box-shadow:0 25px 80px #071b2b99}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:1.4px;margin:0 0 8px}.login-card h1{font-size:30px;margin:0 0 6px}.muted{color:var(--muted)}label{display:block;font-weight:650;font-size:14px;margin-top:22px}input,select{width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #54a64622}.primary{border:0;background:var(--green);color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.login-card .primary{width:100%;margin-top:28px}.primary:hover{background:#438b39}.demo-note{text-align:center;font-size:12px;color:var(--muted);margin:17px 0 0}.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr;grid-template-rows:78px 1fr}.sidebar{grid-row:1/3;background:var(--navy2);color:#c6d1da;display:flex;flex-direction:column;padding:24px 14px;position:fixed;inset:0 auto 0 0;width:245px;z-index:10}.logo{display:flex;gap:11px;align-items:center;color:#fff;padding:0 12px 26px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{border:0;background:transparent;color:inherit;text-align:left;padding:12px 13px;border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px}.nav i{font-style:normal;width:20px;text-align:center;font-size:18px}.nav b,.nav em{margin-left:auto;font-size:11px;font-style:normal;background:#27445e;padding:3px 7px;border-radius:10px}.nav em{background:#a84040;color:#fff}.nav:hover,.nav.active{background:#24445f;color:#fff}.nav.active{box-shadow:inset 3px 0 var(--green)}.side-bottom{margin-top:auto}.user{border-top:1px solid #294258;margin:10px 7px 0;padding:18px 4px 0;display:flex;align-items:center;gap:10px}.user>span,.crew>span{width:36px;height:36px;border-radius:50%;background:#2e597b;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.user strong,.user small{display:block;font-size:13px}.user small{font-size:11px;color:#8498aa;margin-top:3px}.user button{margin-left:auto;border:0;background:none;color:#9aabba;font-size:20px;cursor:pointer}.topbar{grid-column:2;height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5}.topbar h2{margin:0;font-size:20px}.topbar p{margin:4px 0 0;font-size:12px;color:var(--muted)}#menuBtn{display:none;border:0;background:none;font-size:24px}.top-actions{display:flex;gap:14px;align-items:center}.icon-btn{background:#fff;border:1px solid var(--line);border-radius:8px;width:39px;height:39px;position:relative}.icon-btn span{position:absolute;width:7px;height:7px;background:var(--red);border-radius:50%;right:7px;top:7px}.small{padding:10px 15px}main{grid-column:2;padding:28px 32px 50px;max-width:1600px;width:100%}.view{display:none}.active-view{display:block}.welcome,.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome h1,.detail-head h1{font-size:27px;margin:0 0 6px}.welcome p,.detail-head p{margin:0;color:var(--muted)}.period{margin:0;display:flex;align-items:center;gap:10px;font-weight:500;color:var(--muted)}.period select{margin:0;width:auto;padding:9px 34px 9px 12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.kpi{padding:20px;min-height:145px;position:relative;overflow:hidden}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:25px;margin-top:9px}.kpi small{display:block;margin-top:13px;color:var(--muted);font-size:12px}.kpi .up,.green{color:var(--green)}.kpi .warn{color:var(--yellow)}.kpi.accent{border-top:3px solid var(--green)}.spark{position:absolute;right:15px;bottom:15px;width:85px;height:40px;display:flex;align-items:end;gap:5px}.spark i{display:block;width:8px;border-radius:3px 3px 0 0;background:#bce0b7;height:45%}.spark i:nth-child(2){height:62%}.spark i:nth-child(3){height:50%}.spark i:nth-child(4){height:78%}.spark i:nth-child(5){height:69%}.spark i:nth-child(6){height:90%}.spark i:nth-child(7){height:100%;background:var(--green)}.spark.cost i{background:#dbe6ef}.spark.cost i:last-child{background:var(--blue)}.donut{position:absolute;right:18px;bottom:15px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 29.5%,#e7edf1 29.5%);font-size:11px}.donut:before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.donut b,.donut small{position:relative;z-index:1;margin:0}.people{position:absolute;right:18px;bottom:20px;background:var(--navy);color:#fff;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:11px}.people span{position:absolute;left:-26px;top:0;background:#dfe7ed;border:2px solid #fff;color:var(--navy);border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.dash-grid,.detail-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;margin-top:16px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel h3{font-size:16px;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.text-btn,.more,.back{border:0;background:none;color:var(--blue);cursor:pointer;font-size:13px;font-weight:600}.more{color:var(--muted)}.bar-chart{height:245px;display:flex;padding-top:10px}.axis{width:42px;display:flex;flex-direction:column;justify-content:space-between;color:#98a2ab;font-size:11px;padding-bottom:28px}.bars{flex:1;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;align-items:end;height:210px;background:repeating-linear-gradient(to bottom,#fff,#fff 51px,#edf1f4 52px)}.bars div{height:100%;width:14%;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative}.bars i{width:27px;background:var(--green);border-radius:5px 5px 0 0;display:block}.bars i.yellow{background:var(--yellow)}.bars i.red{background:var(--red)}.bars b{position:absolute;font-size:11px;transform:translateY(-4px)}.bars span{font-size:11px;margin:8px 0 -25px}.alert-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:14px 0;border-top:1px solid #edf0f2}.alert-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:800}.red-bg{background:#fdeaea;color:var(--red)}.yellow-bg{background:#fff4da;color:var(--yellow)}.blue-bg{background:#e8f3fc;color:var(--blue)}.gray-bg{background:#eef1f3;color:#70808e}.alert-row strong,.alert-row small{display:block;font-size:13px}.alert-row small{color:var(--muted);font-size:11px;margin-top:4px}.alert-row>b{font-size:11px}.red-text{color:var(--red)}.yellow-text{color:var(--yellow)}.blue-text{color:var(--blue)}.projects{margin-top:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#7e8993;text-transform:uppercase;letter-spacing:.5px;font-size:10px;padding:11px;border-bottom:1px solid var(--line)}td{padding:14px 11px;border-bottom:1px solid #edf0f2;font-size:13px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fafb}.project-cell strong,.project-cell small{display:block}.project-cell small{color:var(--muted);font-size:11px;margin-top:3px}.progress-cell{min-width:115px}.progress-cell div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}.progress-cell i,.progress-big>i{height:6px;background:#e6ebef;border-radius:5px;display:block;overflow:hidden}.progress-cell i span,.progress-big>i span{display:block;height:100%;background:var(--green);border-radius:5px}.status{display:inline-block;border-radius:14px;padding:5px 9px;background:#e8f5e6;color:#397f31;font-size:11px;font-weight:700}.status.danger{background:#fde9e9;color:#b43c3c}.filters{display:flex;gap:12px;margin-bottom:16px}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding-left:13px;flex:1;max-width:480px}.search input{border:0;box-shadow:none;margin:0}.filters select{width:210px;margin:0}.result-count{margin-left:auto;align-self:center;color:var(--muted);font-size:13px}.back{padding:0;margin-bottom:18px}.detail-head>div:last-child{display:flex;align-items:center;gap:10px}.secondary{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:16px}.tab{border:0;background:none;padding:13px 14px;color:var(--muted);font-size:13px;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.tab-content{display:none}.active-tab{display:block}.detail-grid{grid-template-columns:1.08fr .92fr;margin-top:0}.detail-grid.lower{margin-top:16px}.progress-big>div{display:flex;justify-content:space-between;margin:22px 0 8px}.progress-big b{font-size:22px}.progress-big>i{height:9px}.milestones{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px}.milestones div{position:relative;border-top:2px solid var(--line);padding:20px 10px 0 0}.milestones b{position:absolute;top:-14px;background:#e7ecef;border:3px solid #fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:11px}.milestones .done{border-color:var(--green)}.milestones .done b,.milestones .current b{background:var(--green);color:#fff}.milestones span,.milestones small{display:block;font-size:11px}.milestones small{color:var(--muted);margin-top:4px}.finance-ring{display:grid;grid-template-columns:150px 1fr;align-items:center}.donut.large{position:relative;right:auto;bottom:auto;width:126px;height:126px;background:conic-gradient(var(--green) 0 32%,#e7edf1 32%)}.donut.large:before{inset:14px}.donut.large b{font-size:22px}.donut.large small{font-size:10px;position:absolute;top:70px}.finance-ring p{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f2;padding:12px 0;margin:0;font-size:12px;color:var(--muted)}.finance-ring strong{color:var(--text)}.report,.crew{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0f2}.report>span{font-size:10px;font-weight:800;color:var(--blue);background:#eaf3fb;padding:8px;border-radius:7px}.report div{flex:1}.report strong,.report small,.crew strong,.crew small{display:block;font-size:12px}.report small,.crew small{color:var(--muted);font-size:11px;margin-top:4px}.report>b{font-size:11px;color:var(--muted)}.crew>span{flex:0 0 auto}.empty{text-align:center;padding:60px}.empty>span{font-size:40px;color:#9aa7b1}.toast{position:fixed;right:30px;bottom:30px;background:var(--navy2);color:#fff;border-radius:9px;padding:14px 20px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;z-index:50}.toast.show{transform:none;opacity:1}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-grid,.detail-grid{grid-template-columns:1fr}.attention{order:-1}}
@media(max-width:760px){.app{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.topbar{margin:0;height:68px;padding:0 16px}.topbar h2{font-size:17px}.topbar p{display:none}#menuBtn{display:block}.topbar>div:first-of-type{margin-right:auto;margin-left:10px}main{padding:20px 14px 40px}.welcome,.detail-head{align-items:flex-start;gap:15px}.welcome h1,.detail-head h1{font-size:23px}.period{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:15px;min-height:130px}.kpi strong{font-size:20px}.spark,.people{display:none}.panel{padding:15px}.dash-grid{margin-top:10px}.projects{margin-top:10px}.bar-chart{height:220px}.milestones{grid-template-columns:1fr}.milestones div{border-top:0;border-left:2px solid var(--line);padding:0 0 25px 28px}.milestones b{top:-4px;left:-14px}.milestones .done{border-color:var(--green)}.finance-ring{grid-template-columns:120px 1fr}.donut.large{width:105px;height:105px}.donut.large small{top:60px}.filters{flex-wrap:wrap}.search{max-width:none;flex-basis:100%}.filters select{width:100%}.result-count{display:none}.detail-head{display:block}.detail-head>div:last-child{margin-top:15px}.top-actions .icon-btn{display:none}.login-brand{top:25px;left:25px}.login-card{padding:28px 22px}.login-screen{padding:20px}.tabs{margin-left:-14px;margin-right:-14px;padding-left:14px}.toast{left:14px;right:14px;bottom:14px;text-align:center}}
@media(max-width:420px){.kpi-grid{grid-template-columns:1fr}.kpi{min-height:112px}.top-actions .small{font-size:0}.top-actions .small:first-letter{font-size:18px}}
.quick-add-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:22px 26px 26px}.quick-add-grid button{display:grid;grid-template-columns:42px 1fr;text-align:left;gap:2px 12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px;color:inherit;cursor:pointer}.quick-add-grid button:hover{border-color:#aabcc8;background:#f7fafb}.quick-add-grid button>span{grid-row:1/3;width:40px;height:40px;border-radius:10px;background:#e9f1f6;color:var(--navy);display:grid;place-items:center;font-size:20px}.quick-add-grid strong{font-size:14px}.quick-add-grid small{font-size:11px;color:var(--muted)}.notification-list{padding:0 26px;max-height:58vh;overflow:auto}.notification-item{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;text-align:left;border:0;border-top:1px solid #edf0f2;background:#fff;padding:14px 0;color:inherit;cursor:pointer}.notification-item:hover{background:#f7fafb}.notification-item strong,.notification-item small{display:block}.notification-item strong{font-size:13px}.notification-item small{font-size:11px;color:var(--muted);margin-top:4px}.notification-item>b{font-size:11px;white-space:nowrap}.notification-empty{text-align:center;padding:38px 20px;color:var(--muted)}@media(max-width:560px){.quick-add-grid{grid-template-columns:1fr;padding:16px 18px}.notification-list{padding:0 18px}}
.invoice-kpis,.allocation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.invoice-kpis article,.allocation-summary article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.invoice-kpis span,.allocation-summary span{display:block;color:var(--muted);font-size:12px}.invoice-kpis strong,.allocation-summary strong{display:block;font-size:22px;margin:8px 0}.invoice-kpis small{color:var(--muted);font-size:11px}.allocation-summary article:last-child{border-left:4px solid var(--yellow)}.allocation-summary article.complete{border-left-color:var(--green);background:#f8fcf7}.allocation-panel{padding-bottom:0}.mode-switch{display:flex;background:#edf1f4;border-radius:8px;padding:3px}.mode-switch button{border:0;background:transparent;padding:7px 12px;border-radius:6px;color:var(--muted);font-size:12px;cursor:pointer}.mode-switch button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px #142f4818;font-weight:700}.allocation-table select,.allocation-table input{margin:0;min-width:150px;padding:9px 10px}.allocation-table td:last-child{width:40px}.delete-row{border:0;background:none;color:var(--red);cursor:pointer;font-size:18px}.add-row{margin-top:15px}.allocation-footer{margin:20px -20px 0;padding:18px 20px;background:#f7f9fa;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:0 0 12px 12px}.allocation-footer p{margin:0}.allocation-footer p span,.allocation-footer p strong{display:block;font-size:12px}.allocation-footer p span{color:var(--muted);margin-bottom:4px}.allocation-footer>div{display:flex;gap:10px}.primary:disabled{background:#aeb9b0;cursor:not-allowed}.audit-note{display:flex;gap:12px;align-items:center;margin-top:14px;padding:14px 18px;background:#eaf3fb;border-radius:10px;color:#315f83;font-size:12px}.audit-note span{color:#55758d}.invoice-source{display:inline-block;font-size:10px;font-weight:700;background:#edf2f5;padding:4px 7px;border-radius:5px;color:#5f7180;margin-top:4px}.split-label{display:block;color:var(--muted);font-size:11px;margin-top:4px}.split-label b{color:var(--text)}
@media(max-width:760px){.invoice-kpis,.allocation-summary{grid-template-columns:1fr}.allocation-footer{display:block}.allocation-footer>div{margin-top:14px;display:grid}.allocation-footer button{width:100%}.audit-note{align-items:flex-start;flex-direction:column}.invoice-title>div:last-child{margin-top:12px}.mode-switch{margin-top:10px}.allocation-panel .panel-head{display:block}}
.status.pending{background:#fff4da;color:#a87514}

/* Invoice periods and real monthly totals v11.7 */
.invoice-period-summary{display:grid;grid-template-columns:minmax(230px,1.35fr) repeat(3,minmax(150px,1fr));gap:0;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.invoice-period-summary label,.invoice-period-summary>div{margin:0;padding:17px 20px;min-width:0}
.invoice-period-summary label{display:flex;flex-direction:column;justify-content:center;background:#f8fafb;color:var(--navy);font-size:12px}
.invoice-period-summary select{margin-top:7px;width:100%;padding:9px 34px 9px 11px}
.invoice-period-summary>div{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}
.invoice-period-summary span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.invoice-period-summary strong{display:block;margin-top:6px;color:var(--navy);font-size:21px;overflow-wrap:anywhere}
.invoice-period-summary .gross{border-top:3px solid var(--green)}
.invoice-period-summary .gross strong{color:var(--green)}
.invoice-kpis small{display:block;line-height:1.45}
@media(max-width:900px){.invoice-period-summary{grid-template-columns:1fr 1fr}.invoice-period-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.invoice-period-summary .gross{border-left:1px solid var(--line)}}
@media(max-width:560px){.invoice-period-summary{grid-template-columns:1fr}.invoice-period-summary>div{border-left:0;border-top:1px solid var(--line)}.invoice-period-summary .gross{border-left:0}.invoice-period-summary strong{font-size:19px}}

/* Responsive layout v11.4 */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app{width:100%;max-width:100vw;grid-template-columns:245px minmax(0,1fr)}
.topbar,main,.view,.panel,.dash-grid>*,.detail-grid>*,.calendar-layout>*,.report-section-grid>*{min-width:0}
main{max-width:none}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
img,video,canvas,svg{max-width:100%;height:auto}
.welcome,.detail-head,.panel-head,.vehicle-actions,.client-actions,.employee-detail-actions,.welcome-actions,.top-actions{flex-wrap:wrap}
.sidebar{overflow-y:auto;overscroll-behavior:contain}
.modal-card{max-width:calc(100vw - 40px)}

@media(max-width:960px){
  .app{display:block}
  .sidebar{transform:translateX(-100%);transition:transform .25s ease}
  .sidebar.open{transform:none}
  .topbar{margin:0;height:68px;padding:0 20px}
  .topbar h2{font-size:17px}
  #menuBtn{display:block;flex:0 0 auto}
  .topbar>div:first-of-type{margin-right:auto;margin-left:10px;min-width:0}
  main{padding:22px 18px 40px}
}

@media(max-width:620px){
  .modal-card{width:100%;max-width:100vw}
}
.fleet-kpis,.vehicle-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.fleet-kpis article,.vehicle-stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.fleet-kpis span,.vehicle-stats span{display:block;color:var(--muted);font-size:12px}.fleet-kpis strong,.vehicle-stats strong{display:block;font-size:21px;margin:8px 0}.fleet-kpis small,.vehicle-stats small{font-size:11px;color:var(--muted)}.fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.vehicle-alert{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf0f2}.vehicle-alert strong,.vehicle-alert small{display:block;font-size:12px}.vehicle-alert small{color:var(--muted);margin-top:4px}.vehicle-alert>b{font-size:11px}.cost-stack>div{display:grid;grid-template-columns:1fr auto;gap:4px 15px;margin:15px 0}.cost-stack span,.cost-stack b{font-size:12px}.cost-stack i{grid-column:1/3;background:#e8edf0;height:7px;border-radius:6px;overflow:hidden}.cost-stack em{display:block;height:100%;background:var(--green);border-radius:6px}.cost-stack>div:nth-child(2) em{background:var(--blue)}.cost-stack>div:nth-child(3) em{background:var(--yellow)}.cost-stack>div:nth-child(4) em{background:#8193a1}.fleet-filters{margin-top:20px}.vehicle-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:18px}.vehicle-symbol{width:74px;height:74px;border-radius:16px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:38px}.vehicle-hero h1{margin:3px 0 7px;font-size:27px}.vehicle-hero p{margin:0;color:var(--muted)}.vehicle-actions{display:flex;align-items:center;gap:10px}.vehicle-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:16px}.vehicle-tab{border:0;background:none;padding:13px 14px;color:var(--muted);font-size:13px;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.vehicle-tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.vehicle-tab-content{display:none}.vehicle-tab-content.active-tab{display:block}.cost-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px 0;border-top:1px solid #edf0f2}.cost-list span,.cost-list small{display:block;font-size:12px}.cost-list small{color:var(--muted);margin-top:3px}.deadline{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-top:1px solid #edf0f2}.deadline strong,.deadline small{display:block;font-size:12px}.deadline small{font-size:11px;color:var(--muted);margin-top:3px}.deadline>b{font-size:11px}.timeline>div{display:grid;grid-template-columns:48px 1fr;padding:13px 0;border-top:1px solid #edf0f2}.timeline b{font-size:11px;color:var(--blue)}.timeline span,.timeline small{display:block;font-size:12px}.timeline small{color:var(--muted);font-size:11px;margin-top:4px}.assignment-site{margin-top:12px;border-top:1px solid #edf0f2;padding-top:16px}.assignment-site span,.assignment-site strong{display:block;font-size:12px}.assignment-site span{color:var(--muted);margin-bottom:5px}.status.service{background:#eaf3fb;color:#2e6d9f}
@media(max-width:1100px){.fleet-kpis,.vehicle-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.fleet-grid{grid-template-columns:1fr}.fleet-kpis,.vehicle-stats{grid-template-columns:1fr 1fr}.vehicle-hero{grid-template-columns:auto 1fr}.vehicle-symbol{width:55px;height:55px;font-size:28px}.vehicle-hero h1{font-size:21px}.vehicle-actions{grid-column:1/3}.vehicle-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px}}
@media(max-width:420px){.fleet-kpis,.vehicle-stats{grid-template-columns:1fr}}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#071a2ad9;backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 90px #06152299}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 26px 20px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px;margin:3px 0 7px}.modal-head p:last-child{color:var(--muted);font-size:12px;margin:0;max-width:560px}.modal-close{border:0;background:#edf1f4;color:var(--muted);width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.form-section{padding:20px 26px 0}.form-section h3{font-size:14px;margin:0 0 4px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid label{margin-top:14px}.form-grid input,.form-grid select{margin-top:6px}.modal-actions{position:sticky;bottom:0;background:#f7f9fa;border-top:1px solid var(--line);padding:18px 26px;margin-top:22px;display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 16px 16px}.form-error{color:var(--red);font-size:12px;font-weight:650;margin:14px 26px 0;min-height:15px}.vehicle-new{animation:newVehicle 1.4s ease}@keyframes newVehicle{0%,45%{background:#eaf7e7}100%{background:transparent}}
@media(max-width:620px){.modal{padding:0;align-items:end}.modal-card{max-height:96vh;border-radius:16px 16px 0 0}.modal-head,.form-section{padding-left:18px;padding-right:18px}.form-grid{grid-template-columns:1fr}.modal-actions{padding:14px 18px}.modal-actions button{flex:1}}
.welcome-actions{display:flex;gap:10px}.employee-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.employee-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.employee-kpis span{display:block;color:var(--muted);font-size:12px}.employee-kpis strong{display:block;font-size:21px;margin:8px 0}.employee-kpis small{color:var(--muted);font-size:11px}.employee-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.hours-bars>div{display:grid;grid-template-columns:160px 1fr 52px;gap:12px;align-items:center;margin:14px 0}.hours-bars span,.hours-bars b{font-size:11px}.hours-bars i{height:8px;background:#e8edf0;border-radius:6px;overflow:hidden}.hours-bars em{display:block;height:100%;background:var(--green);border-radius:6px}.employee-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:16px}.employee-tab{border:0;background:none;padding:12px 16px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.employee-tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.employee-panel{display:none}.active-employee-panel{display:block}.employee-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5edf3;color:var(--navy);font-size:11px;font-weight:800;margin-right:8px;vertical-align:middle}.employee-name{display:inline-block;vertical-align:middle}.employee-name strong,.employee-name small{display:block}.employee-name small{color:var(--muted);font-size:11px;margin-top:3px}.status.office{background:#eaf3fb;color:#2e6d9f}.compact-modal{width:min(660px,100%)}.form-summary{margin:18px 26px 0;background:#eef6ec;border-radius:8px;padding:12px 14px;color:#397f31;font-size:12px}.time-new{animation:newVehicle 1.4s ease}
@media(max-width:1100px){.employee-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.employee-grid{grid-template-columns:1fr}.employee-kpis{grid-template-columns:1fr 1fr}.welcome-actions{flex-direction:column}.hours-bars>div{grid-template-columns:110px 1fr 45px}}
@media(max-width:420px){.employee-kpis{grid-template-columns:1fr}.welcome-actions{width:100%;margin-top:12px}.welcome-actions button{width:100%}}
.client-kpis,.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.client-kpis article,.client-stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.client-kpis span,.client-stats span{display:block;color:var(--muted);font-size:12px}.client-kpis strong,.client-stats strong{display:block;font-size:21px;margin:8px 0}.client-kpis small,.client-stats small{font-size:11px;color:var(--muted)}.client-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:18px}.client-logo{width:68px;height:68px;border-radius:15px;background:linear-gradient(145deg,var(--navy),#315f83);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800;letter-spacing:1px}.client-hero h1{font-size:27px;margin:3px 0 7px}.client-hero p{margin:0;color:var(--muted)}.client-actions{display:flex;align-items:center;gap:10px}.client-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:16px}.client-tab{border:0;background:none;padding:13px 14px;color:var(--muted);font-size:13px;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.client-tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.client-tab-content{display:none}.client-tab-content.active-tab{display:block}.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.contact-data div{padding:12px 0;border-top:1px solid #edf0f2}.contact-data span,.contact-data strong{display:block;font-size:12px}.contact-data span{color:var(--muted);margin-bottom:4px}.client-project{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-top:1px solid #edf0f2}.client-project strong,.client-project small{display:block;font-size:12px}.client-project small{color:var(--muted);font-size:11px;margin-top:4px}.client-project b{font-size:12px;color:var(--green)}.wide-field{grid-column:1/3}.client-new{animation:newVehicle 1.4s ease}
@media(max-width:1100px){.client-kpis,.client-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.client-kpis,.client-stats{grid-template-columns:1fr 1fr}.client-hero{grid-template-columns:auto 1fr}.client-actions{grid-column:1/3}.client-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px}.contact-data{grid-template-columns:1fr}}
@media(max-width:620px){.wide-field{grid-column:auto}}
@media(max-width:420px){.client-kpis,.client-stats{grid-template-columns:1fr}}
.client-tab-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.client-tab-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.client-tab-kpis span,.client-tab-kpis small{display:block;color:var(--muted);font-size:12px}.client-tab-kpis strong{display:block;font-size:21px;margin:8px 0}.client-project-row,.client-history-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;text-align:left;border:0;border-top:1px solid #edf0f2;background:#fff;padding:16px 20px;color:inherit;cursor:pointer}.client-project-row:hover,.client-history-row:hover{background:#f7fafb}.client-project-row strong,.client-project-row small,.client-history-row strong,.client-history-row small{display:block}.client-project-row small,.client-history-row small{color:var(--muted);margin-top:5px}.client-project-row>span:last-child{text-align:right}.client-project-progress{min-width:180px}.client-project-progress i{display:block;height:6px;background:#e6ebef;border-radius:5px;overflow:hidden;margin-top:7px}.client-project-progress em{display:block;height:100%;background:var(--green)}.client-history-list{display:grid}.client-history-date{color:var(--muted);font-size:12px;white-space:nowrap}.client-linked-document strong,.client-linked-document small{display:block}.client-linked-document small{color:var(--muted);margin-top:4px}@media(max-width:760px){.client-tab-kpis{grid-template-columns:1fr}.client-project-row{grid-template-columns:1fr}.client-project-row>span:last-child{text-align:left}.client-project-progress{min-width:0}}
.project-modal-card{width:min(820px,100%)}.form-grid textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;resize:vertical}.form-grid select[multiple]{min-height:132px;padding:5px}.form-grid select[multiple] option{padding:7px 8px;border-radius:5px}.field-help{color:var(--muted);font-size:11px;margin-top:6px}.project-new{animation:newVehicle 1.4s ease}
.form-grid input[type="range"]{padding:0;border:0;box-shadow:none;accent-color:var(--green)}#editProgressField strong{float:right;color:var(--green)}
.finance-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.finance-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:var(--shadow)}.finance-kpis span,.finance-kpis small{display:block;color:var(--muted);font-size:12px}.finance-kpis strong{display:block;font-size:20px;margin:8px 0}.finance-kpis .finance-result{border-top:3px solid var(--green)}.finance-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.finance-flow>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #edf0f2;font-size:13px}.finance-flow>i{height:9px;background:#e7edf1;border-radius:8px;display:block;overflow:hidden;margin:5px 0 12px}.finance-flow>i em{height:100%;display:block;background:var(--green);border-radius:8px}.finance-costs>div{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:13px 0}.finance-costs span,.finance-costs b{font-size:12px}.finance-costs i{grid-column:1/3;height:7px;background:#e7edf1;border-radius:6px;overflow:hidden}.finance-costs em{display:block;height:100%;background:var(--blue);border-radius:6px}.finance-costs>div:nth-child(2) em{background:var(--green)}.finance-costs>div:nth-child(3) em{background:var(--yellow)}.finance-costs>div:nth-child(4) em{background:#8193a1}.finance-operations{margin-top:16px}.finance-new{animation:newVehicle 1.4s ease}
.finance-operations tbody tr,.cost-register tbody tr{cursor:pointer}.finance-operations tbody tr:hover,.cost-register tbody tr:hover{background:#f4f8fa}.finance-operations td:last-child,.cost-register td:last-child{white-space:nowrap}
@media(max-width:1100px){.finance-kpis{grid-template-columns:repeat(3,1fr)}.finance-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.finance-kpis{grid-template-columns:1fr 1fr}.finance-detail-grid .panel-head{display:block}.finance-detail-grid .panel-head button{margin-top:12px}}
@media(max-width:420px){.finance-kpis{grid-template-columns:1fr}}
.cost-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.cost-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.cost-kpis span,.cost-kpis small{display:block;color:var(--muted);font-size:12px}.cost-kpis strong{display:block;font-size:21px;margin:8px 0}.cost-usage i{display:block;height:8px;background:#e7edf1;border-radius:8px;overflow:hidden;margin-top:12px}.cost-usage em{display:block;height:100%;background:var(--green);border-radius:8px}.cost-usage em.over{background:var(--red)}.cost-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px 210px auto;gap:10px;margin-bottom:16px}.cost-toolbar .search{max-width:none}.cost-toolbar select{margin:0}.cost-register .panel-head{align-items:center}.cost-help{font-size:12px;color:var(--muted);background:#f2f5f7;padding:7px 10px;border-radius:7px}.cost-source{font-size:11px;font-weight:700;padding:5px 8px;border-radius:12px;background:#eef2f5;color:#526775}.cost-source.faktura{background:#eaf3fb;color:#2e6d9f}.cost-source.robocizna{background:#e8f5e6;color:#397f31}.cost-source.samochód{background:#fff4da;color:#9a6c12}.cost-source.ręczny{background:#f1eafb;color:#714da2}.cost-correct{white-space:nowrap}
@media(max-width:1000px){.cost-kpis{grid-template-columns:repeat(2,1fr)}.cost-toolbar{grid-template-columns:1fr 1fr}.cost-toolbar .search{grid-column:1/3}.cost-toolbar button{width:100%}}
@media(max-width:620px){.cost-kpis{grid-template-columns:1fr}.cost-toolbar{grid-template-columns:1fr}.cost-toolbar .search{grid-column:auto}.cost-register .panel-head{display:block}.cost-help{display:inline-block;margin-top:10px}}
.crew-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.crew-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.crew-kpis span,.crew-kpis small{display:block;color:var(--muted);font-size:12px}.crew-kpis strong{display:block;font-size:21px;margin:8px 0}.crew-actions-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px;margin-bottom:16px}.crew-actions-bar h3{margin:0;font-size:16px}.crew-actions-bar p{margin:4px 0 0;color:var(--muted);font-size:12px}.crew-actions-bar>div:last-child{display:flex;gap:10px}.crew-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.crew-time{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-top:1px solid #edf0f2}.crew-time>span{font-size:11px;color:var(--blue);font-weight:700}.crew-time strong,.crew-time small{display:block;font-size:12px}.crew-time small{font-size:11px;color:var(--muted);margin-top:4px}.crew-time>b{font-size:12px}.crew-empty{text-align:center;padding:35px 15px;color:var(--muted)}.crew-empty strong,.crew-empty small{display:block}.crew-empty small{font-size:11px;margin-top:5px}
@media(max-width:1000px){.crew-kpis{grid-template-columns:repeat(2,1fr)}.crew-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.crew-kpis{grid-template-columns:1fr}.crew-actions-bar{display:block}.crew-actions-bar>div:last-child{display:grid;margin-top:12px}.crew-time{grid-template-columns:70px 1fr}.crew-time>b{grid-column:2}}
.crew-assignment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.crew-assignment-head strong{font-size:14px}.crew-assignment-head span{font-size:12px;color:var(--blue);font-weight:700}.crew-assignment-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:420px;overflow:auto;padding:2px}.crew-assignment-option{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;cursor:pointer;background:#fff}.crew-assignment-option:hover{background:#f7fafb;border-color:#b9c8d1}.crew-assignment-option:has(input:checked){background:#eef8ec;border-color:var(--green)}.crew-assignment-option input{width:18px;height:18px;margin:0;accent-color:var(--green)}.crew-assignment-option .employee-avatar{margin:0}.crew-assignment-option strong,.crew-assignment-option small{display:block}.crew-assignment-option strong{font-size:12px}.crew-assignment-option small{font-size:11px;color:var(--muted);margin-top:4px}
#crewRows tr[data-crew-employee]{cursor:pointer}#crewRows tr[data-crew-employee]:hover{background:#f7fafb}#crewRows tr[data-crew-employee]:focus-visible{outline:2px solid var(--green);outline-offset:-2px;background:#f7fafb}
.danger-button,.delete-action{border:1px solid #e7b9b9;background:#fff;color:#b43c3c;border-radius:8px;padding:9px 13px;font-weight:650;cursor:pointer}.danger-button:hover,.delete-action:hover{background:#fff1f1;border-color:#d94b4b}.delete-action{padding:6px 10px;font-size:12px}.source-of-truth-note{display:flex;gap:10px;align-items:center;background:#eaf3fb;color:#315f83;border-radius:10px;padding:13px 16px;margin-bottom:14px;font-size:12px}.source-of-truth-note span{color:#55758d}.daily-report-actions>div{display:flex;gap:7px;margin-top:8px}
@media(max-width:700px){.source-of-truth-note{align-items:flex-start;flex-direction:column}.detail-head>div:last-child{flex-wrap:wrap}.daily-report-actions>div{flex-wrap:wrap}}
@media(max-width:620px){.crew-assignment-list{grid-template-columns:1fr}.crew-assignment-head{align-items:flex-start;flex-direction:column}}
.document-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.document-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.document-kpis span,.document-kpis small{display:block;color:var(--muted);font-size:12px}.document-kpis strong{display:block;font-size:21px;margin:8px 0}.document-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px auto;gap:10px;margin-bottom:16px}.document-toolbar .search{max-width:none}.document-toolbar select{margin:0}.document-help{font-size:12px;color:var(--muted);background:#f2f5f7;padding:7px 10px;border-radius:7px}.document-icon{display:inline-grid;place-items:center;width:36px;height:40px;border-radius:7px;background:#eaf3fb;color:#2e6d9f;font-weight:800;margin-right:10px;vertical-align:middle}.document-icon.protokół{background:#e8f5e6;color:#397f31}.document-icon.zdjęcie{background:#fff4da;color:#9a6c12}.document-icon.umowa,.document-icon.aneks{background:#f1eafb;color:#714da2}.document-name{display:inline-block;vertical-align:middle}.document-name strong,.document-name small{display:block}.document-name small{color:var(--muted);font-size:11px;margin-top:4px}.document-type{display:inline-block;background:#eef2f5;color:#526775;border-radius:12px;padding:5px 9px;font-size:11px;font-weight:700}.document-open{white-space:nowrap}.document-new{animation:newVehicle 1.4s ease}.document-file-field input{background:#f7f9fa;padding:10px}.document-register td:nth-child(5){max-width:260px}
.vehicle-entry-documents{display:flex;flex-wrap:wrap;gap:8px}.vehicle-entry-document{display:flex;align-items:center;gap:8px;background:#f2f5f7;border:1px solid var(--line);border-radius:8px;padding:7px 9px}.vehicle-entry-document span{font-size:12px;color:var(--text)}.vehicle-entry-document small{font-size:11px;color:var(--muted)}.vehicle-document-list{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:150px}.vehicle-document-list .text-btn{padding:0;text-align:left;font-size:12px}
@media(max-width:1000px){.document-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.document-toolbar{grid-template-columns:1fr}.document-kpis{grid-template-columns:1fr 1fr}.document-register .panel-head{display:block}.document-help{display:inline-block;margin-top:10px}}
@media(max-width:420px){.document-kpis{grid-template-columns:1fr}}
.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.report-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.report-kpis span,.report-kpis small{display:block;color:var(--muted);font-size:12px}.report-kpis strong{display:block;font-size:21px;margin:8px 0}.report-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;margin-bottom:16px}.report-toolbar .search{max-width:none}.daily-report-list{display:grid;gap:14px}.daily-report-card{padding:0;overflow:hidden}.daily-report-head{display:grid;grid-template-columns:105px 1fr auto;gap:16px;align-items:start;padding:19px 21px}.daily-report-date{border-right:1px solid var(--line)}.daily-report-date b,.daily-report-date span{display:block}.daily-report-date b{font-size:14px;color:var(--navy)}.daily-report-date span{font-size:12px;color:var(--muted);margin-top:5px}.daily-report-head h3{font-size:15px;line-height:1.45;margin:0}.daily-report-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.daily-report-metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#f7f9fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.daily-report-metrics div{padding:12px 20px;border-right:1px solid var(--line)}.daily-report-metrics div:last-child{border:0}.daily-report-metrics span,.daily-report-metrics strong{display:block;font-size:12px}.daily-report-metrics span{color:var(--muted);margin-bottom:4px}.daily-report-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:17px 21px}.daily-report-details>div{border-left:3px solid #dce5ea;padding-left:12px}.daily-report-details .report-issue{border-color:var(--yellow)}.daily-report-details span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.daily-report-details p{font-size:12px;line-height:1.5;margin:5px 0 0}.daily-report-new{animation:newVehicle 1.4s ease}
.summary-report-actions,.daily-report-actions{display:flex;align-items:center;gap:8px}.summary-report,.summary-crew{width:100%;border:0;border-top:1px solid #edf0f2;background:transparent;text-align:left;color:inherit;cursor:pointer}.summary-report:hover,.summary-report:focus-visible,.summary-crew:hover,.summary-crew:focus-visible{background:#f7fafb;outline:none}.summary-report:focus-visible,.summary-crew:focus-visible{box-shadow:inset 0 0 0 2px var(--green)}.summary-report-empty{padding:28px 0;text-align:center;color:var(--muted);font-size:12px}.summary-crew>b{margin-left:auto;color:var(--blue);font-size:11px;white-space:nowrap}.summary-crew-more>span{background:#e5edf3;color:var(--navy)}.daily-report-actions{flex-direction:column;align-items:flex-end}.daily-report-actions .secondary{white-space:nowrap}.field-help:empty{display:none}
@media(max-width:1000px){.report-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.report-kpis{grid-template-columns:1fr 1fr}.report-toolbar{grid-template-columns:1fr}.daily-report-head{grid-template-columns:1fr}.daily-report-date{border:0;border-bottom:1px solid var(--line);padding-bottom:10px}.daily-report-head .status{justify-self:start}.daily-report-actions{align-items:flex-start}.daily-report-details{grid-template-columns:1fr}.daily-report-metrics div{padding:11px}.summary-report-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:420px){.report-kpis{grid-template-columns:1fr}.daily-report-metrics{grid-template-columns:1fr}.daily-report-metrics div{border-right:0;border-bottom:1px solid var(--line)}}
.equipment-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.equipment-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.equipment-kpis span,.equipment-kpis small{display:block;color:var(--muted);font-size:12px}.equipment-kpis strong{display:block;font-size:21px;margin:8px 0}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.equipment-alert{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0f2}.equipment-alert strong,.equipment-alert small{display:block;font-size:12px}.equipment-alert small{color:var(--muted);font-size:11px;line-height:1.45;margin-top:4px}.equipment-alert>b{font-size:11px}.equipment-empty{text-align:center;color:var(--muted);font-size:12px;padding:28px}.equipment-filters{grid-template-columns:minmax(260px,1fr) 170px 190px auto}.equipment-filters .search{max-width:none}.equipment-number{display:inline-block;background:var(--navy);color:#fff;border-radius:6px;padding:7px 9px;font-size:12px;letter-spacing:.04em}.equipment-holder{display:flex;align-items:center;gap:8px;white-space:nowrap}.equipment-holder i{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5edf3;color:var(--navy);font-size:10px;font-style:normal;font-weight:800}.muted-text{color:var(--muted);font-size:12px}.equipment-fault{white-space:nowrap}.equipment-new{animation:newVehicle 1.4s ease}
@media(max-width:1100px){.equipment-kpis{grid-template-columns:repeat(2,1fr)}.equipment-grid{grid-template-columns:1fr}.equipment-filters{grid-template-columns:1fr 1fr}.equipment-filters .search{grid-column:1/3}}
@media(max-width:700px){.equipment-kpis{grid-template-columns:1fr 1fr}.equipment-filters{grid-template-columns:1fr}.equipment-filters .search{grid-column:auto}}
@media(max-width:420px){.equipment-kpis{grid-template-columns:1fr}}
.equipment-card{margin-right:10px;font-weight:700}.equipment-fault{color:#a86420}.equipment-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line);background:#f7f9fa;padding:0 26px}.equipment-detail-summary div{padding:17px 12px;border-right:1px solid var(--line)}.equipment-detail-summary div:last-child{border:0}.equipment-detail-summary span,.equipment-detail-summary strong{display:block;font-size:12px}.equipment-detail-summary span{color:var(--muted);margin-bottom:6px}.equipment-detail-summary strong{color:var(--navy)}#equipmentRows tr{cursor:pointer}#equipmentRows tr:hover{background:#f7fafb}
.equipment-management-actions{flex-wrap:wrap}.equipment-management-actions .delete-action{margin-right:auto}.report-overview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.report-overview-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.report-overview-kpis span,.report-overview-kpis small{display:block;color:var(--muted);font-size:12px}.report-overview-kpis strong{display:block;font-size:21px;margin:8px 0}.report-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-section-grid.lower{margin-top:16px}.report-equipment-summary{display:grid;gap:10px}.report-equipment-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf0f2}.report-equipment-row strong,.report-equipment-row small{display:block}.report-equipment-row small{color:var(--muted);margin-top:4px}@media(max-width:1050px){.report-overview-kpis{grid-template-columns:1fr 1fr}.report-section-grid{grid-template-columns:1fr}}@media(max-width:520px){.report-overview-kpis{grid-template-columns:1fr}.equipment-management-actions .delete-action{margin-right:0}.equipment-management-actions button{width:100%}}
@media(max-width:700px){.equipment-detail-summary{grid-template-columns:1fr 1fr;padding:0 18px}.equipment-detail-summary div:nth-child(2){border-right:0}.equipment-detail-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.employee-detail-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:18px}.employee-detail-avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(145deg,var(--navy),#315f83);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800}.employee-detail-hero h1{font-size:27px;margin:3px 0 7px}.employee-detail-hero p{margin:0;color:var(--muted)}.employee-detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:16px}.employee-detail-tab{border:0;background:none;padding:13px 16px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.employee-detail-tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.employee-detail-content{display:none}.employee-detail-content.active-tab{display:block}.employee-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.employee-detail-stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.employee-detail-stats span,.employee-detail-stats small{display:block;color:var(--muted);font-size:12px}.employee-detail-stats strong{display:block;font-size:18px;margin:8px 0}.employee-equipment-summary{display:grid;grid-template-columns:190px 190px 1fr;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:16px}.employee-equipment-summary span,.employee-equipment-summary strong{display:block}.employee-equipment-summary span{color:var(--muted);font-size:11px}.employee-equipment-summary strong{font-size:21px;margin-top:5px}.employee-equipment-summary p{color:var(--muted);font-size:12px;margin:0}.employee-equipment-empty{text-align:center;padding:30px;color:var(--muted)}.employee-equipment-empty strong,.employee-equipment-empty small{display:block}.employee-equipment-empty small{margin-top:5px}#employeeRows tr,#employeeEquipmentRows tr{cursor:pointer}#employeeRows tr:hover,#employeeEquipmentRows tr:hover{background:#f7fafb}
@media(max-width:900px){.employee-detail-stats{grid-template-columns:1fr 1fr}.employee-equipment-summary{grid-template-columns:1fr 1fr}.employee-equipment-summary p{grid-column:1/3}}
@media(max-width:600px){.employee-detail-hero{grid-template-columns:auto 1fr}.employee-detail-actions{grid-column:1/3}.employee-detail-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px}.employee-detail-stats{grid-template-columns:1fr}.employee-equipment-summary{grid-template-columns:1fr}.employee-equipment-summary p{grid-column:auto}}
.employee-equipment-actions{display:flex;gap:10px;align-items:center}.employee-equipment-actions button{white-space:nowrap}
@media(max-width:700px){#employeeDetailEquipment .panel-head{display:block}.employee-equipment-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.employee-equipment-actions button{width:100%}}
@media(max-width:430px){.employee-equipment-actions{grid-template-columns:1fr}}
.equipment-section-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.equipment-section-tab{border:0;background:none;padding:13px 16px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.equipment-section-tab.active{color:var(--navy);border-color:var(--green);font-weight:700}.equipment-section-tab span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:#fde9e7;color:var(--red);font-size:11px;font-weight:800}.equipment-section-tab span:empty{display:none}.equipment-section-panel{display:none}.equipment-section-panel.active-equipment-panel{display:block}.service-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.service-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.service-kpis span,.service-kpis small{display:block;color:var(--muted);font-size:12px}.service-kpis strong{display:block;font-size:21px;margin:8px 0}.service-filters{grid-template-columns:minmax(280px,1fr) 210px auto}.service-filters .search{max-width:none}.service-description{min-width:220px;max-width:330px}.service-description small{display:block;color:var(--muted);margin-top:5px}#serviceIssueRows tr{cursor:pointer}#serviceIssueRows tr:hover{background:#f7fafb}
@media(max-width:1000px){.service-kpis{grid-template-columns:1fr 1fr}.service-filters{grid-template-columns:1fr 210px}.service-count{grid-column:1/3}}
@media(max-width:650px){.equipment-section-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px}.service-kpis{grid-template-columns:1fr 1fr}.service-filters{grid-template-columns:1fr}.service-count{grid-column:auto}#equipmentServicePanel .panel-head{display:block}#newServiceIssue{width:100%;margin-top:12px}}
@media(max-width:420px){.service-kpis{grid-template-columns:1fr}}
.dashboard-equipment-service{margin-bottom:16px}.dashboard-equipment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-equipment-alert{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid var(--line);background:#f9fbfc;border-radius:10px;padding:13px;cursor:pointer;color:inherit}.dashboard-equipment-alert:hover{border-color:#b9c8d1;background:#fff}.dashboard-equipment-alert strong,.dashboard-equipment-alert small{display:block}.dashboard-equipment-alert strong{font-size:12px}.dashboard-equipment-alert small{font-size:11px;color:var(--muted);line-height:1.4;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.dashboard-equipment-empty{display:flex;align-items:center;gap:11px;color:var(--muted);grid-column:1/4}.dashboard-equipment-empty strong,.dashboard-equipment-empty small{display:block}.dashboard-equipment-empty strong{font-size:12px}.dashboard-equipment-empty small{font-size:11px;margin-top:3px}.green-bg{background:#e8f5e6;color:#397f31}
@media(max-width:1050px){.dashboard-equipment-list{grid-template-columns:1fr}.dashboard-equipment-empty{grid-column:auto}.dashboard-equipment-alert small{max-width:none}}
.actionable-alert{cursor:pointer;border-radius:8px;padding-left:8px;padding-right:8px;transition:background .15s ease,transform .15s ease}.actionable-alert:hover,.actionable-alert:focus-visible{background:#f3f7f9;outline:2px solid transparent;transform:translateX(2px)}.actionable-alert:focus-visible{box-shadow:0 0 0 2px var(--green)}.actionable-alert b{white-space:nowrap}
.vehicle-doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px}.vehicle-doc-grid>div{border:1px solid var(--line);border-radius:10px;padding:16px;background:#f8fafb}.vehicle-doc-grid span,.vehicle-doc-grid strong{display:block}.vehicle-doc-grid span{font-size:12px;color:var(--muted);margin-bottom:8px}.vehicle-doc-grid strong{font-size:15px;color:var(--navy)}.vehicle-module-empty{text-align:center;padding:45px 20px;color:var(--muted)}.vehicle-module-empty strong,.vehicle-module-empty small{display:block}.vehicle-module-empty small{margin-top:7px}#vehicleModuleContent .table-wrap{border-top:1px solid var(--line)}
.vehicle-doc-toolbar{display:flex;justify-content:flex-end;padding:0 18px 16px}.vehicle-doc-name strong,.vehicle-doc-name small{display:block}.vehicle-doc-name small{color:var(--muted);margin-top:4px}.vehicle-doc-actions{white-space:nowrap}.vehicle-doc-files{display:grid;gap:4px}.vehicle-doc-files button{justify-content:flex-start;text-align:left}.vehicle-doc-status{white-space:nowrap}
.vehicle-equipment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}.vehicle-equipment-summary>div{border:1px solid var(--line);border-radius:10px;padding:16px;background:#f8fafb}.vehicle-equipment-summary span,.vehicle-equipment-summary strong{display:block}.vehicle-equipment-summary span{font-size:12px;color:var(--muted);margin-bottom:8px}.vehicle-equipment-summary strong{font-size:20px;color:var(--navy)}.vehicle-equipment-name strong,.vehicle-equipment-name small{display:block}.vehicle-equipment-name small{color:var(--muted);margin-top:4px}.vehicle-equipment-notes{min-width:220px;white-space:normal}.vehicle-equipment-actions{white-space:nowrap}
@media(max-width:850px){.vehicle-doc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.vehicle-equipment-summary{grid-template-columns:1fr}}
@media(max-width:480px){.vehicle-doc-grid{grid-template-columns:1fr}#vehicleModule .panel-head{display:block}#addVehicleEntry{width:100%;margin-top:12px}}
.report-staff-list{display:grid;gap:12px;margin-top:14px}.report-staff-option{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.report-staff-option.selected{border-color:#64a89c;background:#f5fbf9}.staff-person{display:grid;grid-template-columns:auto 42px 1fr;gap:10px;align-items:center}.staff-time-grid{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:9px;margin-top:12px}.staff-time-grid label{font-size:12px;color:var(--muted)}.staff-time-grid input,.staff-time-grid select{width:100%;margin-top:5px;padding:9px 8px}.report-staff-option input:disabled,.report-staff-option select:disabled{opacity:.45;background:#eef1f4}.daily-report-details{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:900px){.staff-time-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:520px){.staff-time-grid{grid-template-columns:1fr}.report-staff-option{padding:12px}}
.employee-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.document-days{display:block;margin-top:4px;color:var(--muted)}.employee-doc-alert{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.employee-doc-alert:hover{background:#f5f8f7}.employee-detail-content .delete-action{margin-left:6px}#employeeDocumentRows tr:target,#employeeDocumentRows tr.document-highlight{background:#fff8df}@media(max-width:720px){.employee-detail-actions{justify-content:flex-start}.employee-detail-actions button{width:100%}}
.task-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.task-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.task-kpis span,.task-kpis small{display:block;color:var(--muted);font-size:12px}.task-kpis strong{display:block;font-size:24px;margin:7px 0}.task-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.calendar-nav,.task-filters{display:flex;align-items:center;gap:8px}.calendar-nav strong{margin-left:8px;text-transform:capitalize}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:16px}.calendar-panel{padding:16px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:700;padding:8px}.calendar-day{min-height:112px;border:1px solid #edf0f2;border-width:1px 0 0 1px;background:#fff;padding:8px;text-align:left;overflow:hidden}.calendar-day:nth-child(7n){border-right-width:1px}.calendar-day.other-month{background:#f8fafb;color:#9ca7ad}.calendar-day.selected{outline:2px solid var(--green);outline-offset:-2px}.calendar-day.today .calendar-day-number{background:var(--navy);color:#fff}.calendar-day-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:700;font-size:12px}.calendar-event{display:block;width:100%;border:0;border-radius:5px;padding:4px 6px;margin-top:5px;text-align:left;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e8f2f7;color:var(--navy)}.calendar-event.reklamacja{background:#fde9e7;color:#a33a31}.calendar-event.zlecenie{background:#e6f5ec;color:#237248}.calendar-event.serwis{background:#fff0dd;color:#a45c11}.task-day-panel{padding:18px}.selected-day-tasks,.context-task-list{display:grid;gap:10px}.task-list-item{width:100%;display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px;text-align:left}.task-list-item:hover{border-color:#9db7c7}.task-type-bar{height:100%;min-height:46px;border-radius:8px;background:#4e8cac}.task-type-bar.reklamacja{background:#c9574d}.task-type-bar.zlecenie{background:#32a56b}.task-type-bar.serwis{background:#dc8a32}.task-list-item strong,.task-list-item small{display:block}.task-list-item small{color:var(--muted);margin-top:4px}.task-list-meta{text-align:right}.task-context-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.complaint-notice{display:flex;gap:10px;align-items:center;background:#fff0ee;border:1px solid #f0c1bc;color:#92362e;border-radius:8px;padding:11px 14px;margin-top:12px}.task-mobile-card{max-width:760px}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 26px}.task-detail-grid div{border:1px solid var(--line);border-radius:9px;padding:12px}.task-detail-grid span,.task-detail-grid strong{display:block}.task-detail-grid span{color:var(--muted);font-size:12px;margin-bottom:5px}.task-description-box{margin:0 26px 18px;padding:15px;background:#f7f9fa;border-radius:9px}.task-files{display:flex;gap:7px;flex-wrap:wrap;margin:0 26px 18px}.task-file{background:#edf3f6;border-radius:7px;padding:7px 10px;font-size:12px}.mobile-checklist{display:grid;gap:8px;margin-bottom:16px}.mobile-checklist label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.mobile-checklist input{margin-top:3px}.task-cost-label{display:inline-block;background:#fde9e7;color:#9d342d;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}@media(max-width:1050px){.calendar-layout{grid-template-columns:1fr}.task-kpis{grid-template-columns:1fr 1fr}}@media(max-width:650px){.task-kpis{grid-template-columns:1fr 1fr}.task-toolbar{align-items:stretch;flex-direction:column}.task-filters{flex-direction:column}.task-filters select{width:100%}.calendar-panel{padding:6px}.calendar-day{min-height:72px;padding:4px}.calendar-event{font-size:0;height:7px;padding:0}.calendar-day-number{width:23px;height:23px}.task-detail-grid{grid-template-columns:1fr;padding:16px}.task-description-box,.task-files{margin-left:16px;margin-right:16px}}
.checklist-overview{background:linear-gradient(135deg,#123b55,#245f71);color:#fff;border-radius:14px;padding:18px;margin-bottom:18px}.checklist-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.checklist-overview span,.checklist-overview small{display:block}.checklist-overview span{font-size:13px;opacity:.82}.checklist-overview strong{font-size:25px}.checklist-overview small{text-align:right;opacity:.86}.checklist-progress-track{height:9px;background:rgba(255,255,255,.2);border-radius:99px;margin-top:13px;overflow:hidden}.checklist-progress-track i{display:block;height:100%;background:#54c39b;border-radius:99px;transition:width .25s}.checklist-section{display:grid;gap:10px;margin-bottom:20px}.checklist-section-title{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:14px;margin:0}.checklist-section-title i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e9f2f4;color:#28657a;font-style:normal}.checklist-card{border:1px solid #dfe6e9;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 3px 10px rgba(25,52,68,.05)}.checklist-card.done{border-color:#9dd8c0;background:#f7fcfa}.checklist-card.attention{border-color:#e2ad64;background:#fffaf2}.checklist-card-main{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:14px}.checklist-toggle{appearance:none!important;width:44px!important;height:44px!important;min-width:44px;border:2px solid #b9c7ce!important;border-radius:12px!important;margin:0!important;display:grid;place-items:center;background:#fff!important;cursor:pointer}.checklist-toggle:checked{background:#35a878!important;border-color:#35a878!important}.checklist-toggle:checked:after{content:'✓';color:#fff;font-size:25px;font-weight:800}.checklist-card-title{font-size:15px;line-height:1.35;color:var(--navy)}.checklist-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.checklist-badge{font-size:10px;border-radius:99px;background:#edf2f4;color:#52636c;padding:3px 7px}.checklist-badge.required{background:#e9f4ef;color:#257450}.checklist-badge.photo{background:#eaf1fb;color:#32689b}.checklist-card-tools{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:0 14px 14px}.checklist-comment{min-height:42px!important;resize:vertical}.checklist-photo-button,.checklist-attention-button{border:1px solid var(--line);border-radius:8px;background:#f7f9fa;padding:10px 12px;font-size:12px;font-weight:700;cursor:pointer}.checklist-photo-button input{display:none}.checklist-attention-button.active{background:#fff0dd;border-color:#dda55c;color:#9b5c0c}.checklist-item-files{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.checklist-item-file{font-size:11px;background:#edf3f6;padding:5px 8px;border-radius:6px}.checklist-finish-note{display:none;color:#a04a42;font-size:12px;margin-top:8px}.checklist-finish-note.show{display:block}@media(max-width:600px){.task-mobile-card{width:100%;max-height:96vh;border-radius:18px 18px 0 0;align-self:end}.checklist-card-main{grid-template-columns:46px 1fr}.checklist-card-tools{grid-template-columns:1fr 1fr}.checklist-comment{grid-column:1/-1}.checklist-photo-button,.checklist-attention-button{text-align:center;padding:12px 8px}.checklist-overview{position:sticky;top:0;z-index:2}.mobile-checklist label{font-size:15px}}
.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.admin-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.admin-kpis span,.admin-kpis small{display:block;color:var(--muted);font-size:12px}.admin-kpis strong{display:block;font-size:24px;margin:7px 0}.security-note{display:flex;gap:12px;margin-top:16px;padding:15px 18px;background:#eef7f4;border:1px solid #c6e2d8;border-radius:10px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.permission-option{display:flex!important;align-items:center;gap:9px!important;border:1px solid var(--line);border-radius:9px;padding:11px!important;background:#fff;font-size:13px}.permission-option input{width:18px!important;height:18px!important}.compact-permissions{grid-template-columns:repeat(4,1fr)}.module-chips{display:flex;gap:4px;flex-wrap:wrap}.module-chip{font-size:10px;background:#edf3f6;border-radius:99px;padding:4px 7px}.worker-preview{width:min(460px,100%);max-height:94vh;overflow:auto;background:#f1f5f6;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.worker-preview-head{display:flex;justify-content:space-between;align-items:center;background:#123b55;color:#fff;padding:17px 20px}.worker-preview-head small,.worker-preview-head strong{display:block}.worker-preview-head small{opacity:.7;font-size:10px}.worker-preview-head .modal-close{color:#fff}.worker-greeting{padding:22px 20px 14px}.worker-greeting span,.worker-greeting p{color:var(--muted)}.worker-greeting h2{margin:4px 0}.worker-task-days{padding:0 16px 24px}.worker-day-title{font-size:12px;color:var(--muted);text-transform:uppercase;margin:18px 4px 8px}.worker-task-card{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;width:100%;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;text-align:left;margin-bottom:9px;box-shadow:0 3px 11px rgba(26,53,68,.05)}.worker-task-time{font-size:15px;color:#22556e;font-weight:800}.worker-task-card strong,.worker-task-card small{display:block}.worker-task-card small{color:var(--muted);margin-top:4px}.worker-task-arrow{font-size:20px;color:#6b858f}@media(max-width:900px){.admin-kpis{grid-template-columns:1fr 1fr}.permission-grid,.compact-permissions{grid-template-columns:1fr 1fr}}@media(max-width:520px){.admin-kpis{grid-template-columns:1fr 1fr}.permission-grid,.compact-permissions{grid-template-columns:1fr}.worker-preview{height:100vh;max-height:100vh;border-radius:0}}
.worker-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.worker-nav button{border:0;border-radius:9px;background:#edf3f5;color:#385667;padding:10px 5px;font-size:12px;font-weight:700}.worker-nav button.active{background:#176b58;color:#fff}.worker-panel{display:none}.worker-panel.active{display:block}.worker-assets{padding:0 16px 24px}.worker-asset-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:10px;box-shadow:0 3px 11px rgba(26,53,68,.05)}.worker-asset-card header{display:flex;justify-content:space-between;gap:10px}.worker-asset-card strong,.worker-asset-card small{display:block}.worker-asset-card small{color:var(--muted);margin-top:4px}.worker-asset-card .primary{width:100%;margin-top:14px;min-height:44px}.worker-asset-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.worker-asset-meta span{background:#f2f6f7;border-radius:8px;padding:9px;font-size:12px;color:#526a75}@media(max-width:520px){.worker-nav button{font-size:11px;padding:10px 3px}.worker-assets{padding-inline:12px}}
/* KSeF v11 */
.ksef-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.ksef-status-grid article{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.ksef-status-grid span,.ksef-status-grid small{display:block;color:var(--muted)}
.ksef-status-grid strong{display:block;margin:8px 0 5px;color:var(--navy);font-size:20px}
.ksef-status-grid strong.ok{color:var(--green)}
.ksef-status-grid strong.error{color:#b64236}
.ksef-sync-panel{padding:22px;margin-bottom:18px}
.ksef-date-row{display:grid;grid-template-columns:minmax(170px,240px) minmax(170px,240px) auto;gap:14px;align-items:end}
.ksef-date-row label{display:grid;gap:7px;color:var(--navy);font-weight:700}
.ksef-date-row input{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy)}
.ksef-sync-message{margin-top:16px;padding:13px 15px;border-radius:12px;background:#eef3f8;color:#31556f}
.ksef-sync-message.ok{background:#eaf5e8;color:#34752e}
.ksef-sync-message.warning{background:#fff5dc;color:#765812}
.ksef-sync-message.error{background:#feeceb;color:#922d2d}
.ksef-info{padding:22px}
.ksef-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ksef-steps div{display:flex;align-items:center;gap:10px;padding:14px;border-radius:12px;background:#f7faf8;color:var(--navy);font-weight:700}
.ksef-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff}
@media(max-width:800px){.ksef-status-grid,.ksef-steps{grid-template-columns:1fr}.ksef-date-row{grid-template-columns:1fr}.ksef-date-row button{width:100%}}

/* Magazyn v13 */
.warehouse-head-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.warehouse-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.warehouse-kpis article{padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.warehouse-kpis span,.warehouse-kpis small{display:block;color:var(--muted);font-size:12px}.warehouse-kpis strong{display:block;margin:8px 0 5px;color:var(--navy);font-size:23px}.warehouse-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:16px;border-bottom:1px solid var(--line)}.warehouse-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 15px;color:var(--muted);font-weight:700;white-space:nowrap;cursor:pointer}.warehouse-tabs button.active{color:var(--navy);border-color:var(--green)}.warehouse-tabs span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:10px;background:#f9dfdc;color:#a33b31;font-size:10px}.warehouse-tabs span:empty{display:none}.warehouse-panel{display:none}.warehouse-panel.active{display:block}.warehouse-product strong,.warehouse-product small{display:block}.warehouse-product small{margin-top:4px;color:var(--muted)}.warehouse-quantity{font-size:16px;color:var(--navy)}.warehouse-movement-kind{display:inline-flex;padding:5px 8px;border-radius:99px;background:#e7f4eb;color:#28764b;font-size:11px;font-weight:800}.warehouse-movement-kind.issue{background:#fff0df;color:#9a5c16}.warehouse-movement-kind.return{background:#e9f1ff;color:#285d9b}.warehouse-pending-list{display:grid;gap:10px;padding:18px}.warehouse-pending-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:15px}.warehouse-pending-row strong,.warehouse-pending-row small{display:block}.warehouse-pending-row small{color:var(--muted);margin-top:5px}.invoice-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.warehouse-receipt-lines{display:grid;gap:11px;margin-top:14px}.warehouse-receipt-line{display:grid;grid-template-columns:auto minmax(180px,1.6fr) repeat(8,minmax(92px,1fr)) minmax(170px,1.2fr);gap:9px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.warehouse-receipt-line>label{display:grid;gap:5px;color:var(--muted);font-size:11px}.warehouse-receipt-line label small{line-height:1.25;color:var(--muted)}.warehouse-receipt-line input,.warehouse-receipt-line select{width:100%;min-height:40px}.warehouse-receipt-line .receipt-check{align-self:center}.warehouse-receipt-line .receipt-check input{width:20px;height:20px;min-height:0}.muted-field input{background:#f4f6f8;color:var(--muted)}.worker-nav{grid-template-columns:repeat(4,1fr)}#workerWarehouseIssue{width:100%;margin-top:14px;min-height:46px}.worker-stock-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:9px}.worker-stock-card strong,.worker-stock-card small{display:block}.worker-stock-card small{color:var(--muted);margin-top:4px}.worker-stock-card b{font-size:17px;color:var(--navy)}.worker-warehouse-history{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.worker-warehouse-history h3{margin:0;color:var(--navy)}.worker-warehouse-history>p{margin:5px 0 13px;color:var(--muted);font-size:12px}.worker-return-card button{min-width:76px}
@media(max-width:1050px){.warehouse-kpis{grid-template-columns:1fr 1fr}.warehouse-receipt-line{grid-template-columns:auto repeat(3,1fr)}.warehouse-receipt-line .receipt-name,.warehouse-receipt-line .receipt-product{grid-column:2/5}}
@media(max-width:650px){.warehouse-head-actions{width:100%;justify-content:stretch}.warehouse-head-actions button{flex:1}.warehouse-kpis{grid-template-columns:1fr 1fr;gap:10px}.warehouse-kpis article{padding:14px}.warehouse-receipt-line{grid-template-columns:auto 1fr 1fr}.warehouse-receipt-line .receipt-name,.warehouse-receipt-line .receipt-product{grid-column:2/4}.warehouse-pending-row{grid-template-columns:1fr}.warehouse-pending-row button{width:100%}.invoice-detail-actions{justify-content:flex-start}.invoice-detail-actions button{width:100%}.worker-nav button{font-size:10px}}

/* v14.2.1: keep dashboard attention within the neighbouring chart height. */
#dashboardAttentionList {
  max-height: 245px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
#dashboardAttentionList .alert-row {
  grid-template-columns: 38px minmax(0, 1fr) auto;
}
#dashboardAttentionList .alert-row > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  #dashboardAttentionList { max-height: 220px; }
}

/* v14.3: approved visual refresh of the classic dashboard. */
:root {
  --bg: #eaf5ea;
  --red: #d96b68;
  --line: #dbe5e1;
  --shadow: 0 10px 28px rgba(24, 55, 69, .09);
}

body,
.app,
main {
  background-color: var(--bg);
}

main {
  min-height: calc(100vh - 78px);
  background-image:
    radial-gradient(70% 22% at 64% 0%, rgba(104, 177, 102, .10), transparent 72%),
    linear-gradient(155deg, rgba(255, 255, 255, .26), transparent 42%);
  background-attachment: fixed;
}

.sidebar {
  background: linear-gradient(180deg, #0d2a45 0%, #092039 100%);
  box-shadow: 8px 0 28px rgba(5, 27, 46, .10);
}

.topbar {
  background: rgba(250, 253, 250, .94);
  backdrop-filter: blur(8px);
}

#dashboard .kpi,
#dashboard .panel {
  border-color: rgba(80, 116, 105, .18);
  border-radius: 13px;
  box-shadow: var(--shadow);
}

#dashboard .kpi {
  --kpi-hover: var(--green);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

#dashboard .kpi:nth-child(2) { --kpi-hover: var(--blue); }
#dashboard .kpi:nth-child(3) { --kpi-hover: var(--red); }
#dashboard .kpi:nth-child(4) { --kpi-hover: #278c72; }

#dashboard .kpi:hover,
#dashboard .kpi:focus-visible {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--kpi-hover) 68%, white);
  background: color-mix(in srgb, white 96%, var(--kpi-hover));
  box-shadow: 0 15px 32px rgba(24, 55, 69, .15), 0 0 0 1px color-mix(in srgb, var(--kpi-hover) 22%, transparent);
  outline: none;
}

#dashboard .kpi.accent {
  border-top-width: 1px;
}

#dashboard .negative-note,
#dashboard .red-text {
  color: var(--red) !important;
}

#dashboard .neutral-note,
#dashboard .neutral-text {
  color: #7d8a91 !important;
}

#dashboard .red-bg {
  color: var(--red);
  background: #fbe9e8;
}

#dashboard .donut {
  background: conic-gradient(
    var(--dashboard-margin-color, #9aa7b1) 0 var(--dashboard-margin-value, 0%),
    #e5ece9 var(--dashboard-margin-value, 0%) 100%
  );
}

#dashboard .donut::before {
  background: #fff;
}

#dashboard .alert-row.actionable-alert,
#dashboard .dashboard-equipment-alert {
  transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

#dashboard .alert-row.actionable-alert:hover,
#dashboard .alert-row.actionable-alert:focus-visible,
#dashboard .dashboard-equipment-alert:hover,
#dashboard .dashboard-equipment-alert:focus-visible {
  background: #f8fcf8;
  border-color: #b8d4c0;
  transform: translateY(-1px);
  outline: none;
}

#dashboardProfitabilityChart.profitability-diverging {
  display: grid;
  grid-template-rows: 24px minmax(0, 1fr);
  height: 245px;
  padding-top: 0;
}

#dashboardProfitabilityAxis:not(.hidden) {
  width: auto;
  height: 24px;
  margin-left: 112px;
  padding: 0 4px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  color: #71818a;
  font-size: 10px;
}

#dashboardProfitabilityBars.dashboard-profitability-bars {
  height: auto;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 8px 0 0;
  border: 0;
  background: none;
}

#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-row {
  width: 100%;
  height: 34px;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  position: relative;
  border-radius: 8px;
  padding: 0;
}

#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-row:hover,
#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-row:focus-visible {
  background: rgba(76, 142, 92, .06);
  outline: none;
}

#dashboardProfitabilityBars .dashboard-profitability-name {
  margin: 0;
  color: var(--navy);
  font-size: 11px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-track {
  width: 100%;
  height: 30px;
  display: block;
  position: relative;
  overflow: visible;
  border: 1px solid #e4ebe8;
  border-radius: 7px;
  background-image:
    linear-gradient(90deg, transparent 24.8%, rgba(106, 128, 118, .14) 25%, transparent 25.2%, transparent 74.8%, rgba(106, 128, 118, .14) 75%, transparent 75.2%),
    linear-gradient(90deg, #fbefee 0 50%, #eef8f0 50% 100%);
}

#dashboardProfitabilityBars .dashboard-profitability-track::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -1px;
  bottom: -1px;
  width: 2px;
  background: #91a39a;
  transform: translateX(-1px);
  z-index: 2;
}

#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-bar {
  width: var(--bar-size);
  height: 16px;
  min-width: 2px;
  margin: 0;
  display: block;
  position: absolute;
  top: 6px;
  border-radius: 5px;
  z-index: 1;
}

#dashboardProfitabilityBars .dashboard-profitability-bar.negative {
  right: 50%;
  background: #e6817d;
}

#dashboardProfitabilityBars .dashboard-profitability-bar.positive {
  left: 50%;
  background: #63ad5c;
}

#dashboardProfitabilityBars .dashboard-profitability-bar.neutral {
  left: 50%;
  background: #9aa7b1;
}

#dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-bar b {
  position: absolute;
  top: 50%;
  margin: 0;
  padding: 2px 6px;
  border-radius: 999px;
  color: #fff;
  background: inherit;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
  transform: translateY(-50%);
}

#dashboardProfitabilityBars .dashboard-profitability-bar.negative b { left: 5px; }
#dashboardProfitabilityBars .dashboard-profitability-bar.positive b { right: 5px; }
#dashboardProfitabilityBars .dashboard-profitability-bar.neutral b { left: 7px; color: #52616a; background: #fff; }

@media (max-width: 760px) {
  #dashboardProfitabilityChart.profitability-diverging { height: 220px; }
  #dashboardProfitabilityAxis:not(.hidden) { margin-left: 84px; }
  #dashboardProfitabilityBars.dashboard-profitability-bars .dashboard-profitability-row { grid-template-columns: 76px minmax(0, 1fr); }
  #dashboardProfitabilityBars .dashboard-profitability-name { font-size: 10px; }
}

/* v14.4 — rozdzielone rejestry faktur i dynamiczne należności klientów */
.invoice-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px}.invoice-hub-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;text-align:left;color:var(--text);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}.invoice-hub-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--blue)}.invoice-hub-card.sales:before{background:var(--green)}.invoice-hub-card:hover,.invoice-hub-card:focus-visible{transform:translateY(-3px);border-color:#a9c9b0;box-shadow:0 16px 38px #17334c1a;outline:none}.invoice-hub-icon{width:58px;height:58px;border-radius:16px;background:#eaf3fb;color:var(--blue);display:grid;place-items:center;font-size:30px;font-weight:800}.invoice-hub-card.sales .invoice-hub-icon{background:#e9f5e7;color:var(--green)}.invoice-hub-card>span:nth-child(2) small,.invoice-hub-card>span:nth-child(2) strong,.invoice-hub-card>span:nth-child(2) em{display:block}.invoice-hub-card>span:nth-child(2) small{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.invoice-hub-card>span:nth-child(2) strong{font-size:22px;color:var(--navy);margin:7px 0}.invoice-hub-card>span:nth-child(2) em{font-style:normal;font-size:12px;color:var(--muted);line-height:1.45}.invoice-hub-card>b{font-size:13px;color:var(--navy);text-align:right}.invoice-hub-card>b span,.invoice-hub-card>b small{display:block}.invoice-hub-card>b small{margin-top:5px;color:var(--muted);font-weight:500}.invoice-hub-card>i{grid-column:3;font-style:normal;color:var(--green);font-size:12px;font-weight:800}.sales-invoice-kpis{grid-template-columns:repeat(4,1fr)}.sales-invoice-kpis article{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.sales-invoice-kpis article:hover,.sales-invoice-kpis article:focus-visible,.sales-invoice-kpis article.active{transform:translateY(-2px);border-color:#77a87a;box-shadow:0 8px 22px #193d2820;outline:none}.sales-summary .gross{border-top-color:var(--green)}.sales-allocation-summary{grid-template-columns:repeat(4,1fr)}.sales-allocation-summary article:last-child{border-left:4px solid var(--yellow)}.sales-client-match{margin-bottom:14px;padding:12px 14px;border-radius:10px;background:#eef6ec;color:#356c32;font-size:12px}.sales-client-match.warning{background:#fff5dc;color:#765812}.sales-client-match strong,.sales-client-match span{display:block}.sales-client-match span{margin-top:3px}.payment-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#fff4da;color:#9a6b12}.payment-pill.paid{background:#e8f5e6;color:#397f31}.payment-pill.overdue{background:#fde9e9;color:#ad4338}.payment-pill.partial{background:#eaf3fb;color:#2e6d9f}.client-kpis article[data-client-kpi]{cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.client-kpis article[data-client-kpi]:hover,.client-kpis article[data-client-kpi]:focus-visible,.client-kpis article[data-client-kpi].active{transform:translateY(-2px);border-color:#77a87a;box-shadow:0 8px 22px #193d2820;outline:none}.client-kpi-results{margin:-2px 0 18px}.client-kpi-results .panel{border-color:#cfe1d1}.client-kpi-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.client-kpi-results-head h3{margin:0;color:var(--navy)}.client-kpi-results-head button{border:0;background:none;color:var(--muted);cursor:pointer}.client-kpi-results td button{white-space:nowrap}.client-payment-due{font-weight:800}.client-payment-due.overdue{color:var(--red)}
@media(max-width:1050px){.invoice-hub-grid{grid-template-columns:1fr}.sales-invoice-kpis,.sales-allocation-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.invoice-hub-card{grid-template-columns:auto 1fr;padding:20px}.invoice-hub-card>b{grid-column:2;text-align:left}.invoice-hub-card>i{grid-column:2}.sales-invoice-kpis,.sales-allocation-summary{grid-template-columns:1fr}.client-kpi-results-head{align-items:flex-start}.invoice-detail-actions{flex-wrap:wrap}}

/* v14.4.1 — dokumentacja zadania i czytelny stan starszych załączników */
.task-worker-documentation{margin-top:14px;padding:14px;border:1px solid #dce5eb;border-radius:14px;background:#fff}.task-worker-documentation>strong{display:block;color:var(--navy);margin-bottom:9px}.task-worker-documentation-files{display:flex;flex-wrap:wrap;gap:8px}.task-file-unavailable{opacity:.72}.task-uploading{opacity:.72;pointer-events:none}

/* v14.4.2 — prosta ewidencja czasu brygady z GPS */
.worktime-leader-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #d9e5dc;border-radius:12px;background:#f5faf5}.worktime-leader-check input{width:18px;height:18px;margin:2px 0 0}.worktime-leader-check span,.worktime-leader-check small{display:block}.worktime-leader-check small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.35}.worker-time-body{padding-bottom:30px}.worktime-loading,.worktime-empty{margin:16px;padding:28px 18px;border:1px dashed #cbd8d0;border-radius:16px;background:#f8fbf8;text-align:center;color:var(--muted)}.worktime-empty strong{display:block;color:var(--navy);font-size:17px}.worktime-empty p{margin:8px auto 16px;max-width:430px;line-height:1.5}.worktime-empty.error{border-color:#efc5c1;background:#fff8f7}.worktime-start-card,.worktime-active-card{margin:16px;border:1px solid #d5e2d7;border-radius:18px;padding:22px;background:linear-gradient(145deg,#f4faf3,#fff);box-shadow:0 10px 28px #173d2420}.worktime-start-card{text-align:center}.worktime-state-icon{width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:#e4f3e2;color:#438440;font-size:28px}.worktime-start-card h3,.worktime-active-card h3{margin:6px 0;color:var(--navy);font-size:23px}.worktime-start-card>p,.worktime-active-card>p{margin:6px 0 16px;color:var(--muted);line-height:1.45}.worktime-crew-list{max-height:320px;overflow:auto;margin:18px 0;text-align:left;border:1px solid #dce6df;border-radius:13px;background:#fff}.worktime-crew-list label{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #edf2ee;cursor:pointer}.worktime-crew-list label:last-child{border-bottom:0}.worktime-crew-list input{width:20px;height:20px;accent-color:var(--green)}.worktime-crew-list span,.worktime-crew-list small{display:block}.worktime-crew-list small{margin-top:2px;color:var(--muted)}.worktime-main-action{width:100%;min-height:58px;font-size:16px;letter-spacing:.03em}.worktime-main-action.worktime-stop{background:#bf5148}.worktime-secondary-action{width:100%;min-height:48px}.worktime-gps-note{display:block;margin-top:10px;color:var(--muted)}.worktime-active-card{position:relative;text-align:center}.worktime-active-card>small{font-weight:800;letter-spacing:.08em;color:#568057}.worktime-live-dot{position:absolute;top:18px;right:18px;width:11px;height:11px;border-radius:50%;background:#57aa50;box-shadow:0 0 0 6px #57aa5020}.worktime-live-clock{display:block;color:#3d8540;font-size:31px;font-variant-numeric:tabular-nums}.worktime-readonly{margin:14px 0;padding:11px;border-radius:10px;background:#edf3f7;color:#436176;font-size:12px;line-height:1.45}.worktime-actions{display:grid;gap:9px}.worktime-refresh{appearance:none;border:0;background:none;color:var(--muted);padding:8px;cursor:pointer}.worktime-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px 20px}.worktime-summary div{padding:12px 8px;border:1px solid #e0e8e3;border-radius:12px;background:#fff;text-align:center}.worktime-summary span,.worktime-summary strong{display:block}.worktime-summary span{font-size:10px;color:var(--muted)}.worktime-summary strong{margin-top:4px;color:var(--navy);font-size:12px}.worktime-timeline{margin:0 20px}.worktime-timeline h3{margin:0 0 12px;color:var(--navy)}.worktime-segment{position:relative;display:grid;grid-template-columns:14px 1fr;gap:11px;padding:0 0 17px}.worktime-segment:before{content:"";position:absolute;left:6px;top:13px;bottom:-1px;width:2px;background:#d9e3dc}.worktime-segment:last-child:before{display:none}.worktime-segment i{width:14px;height:14px;border-radius:50%;margin-top:3px;background:#8ba498;border:3px solid #edf3ef;z-index:1}.worktime-segment.project i{background:#55a94a}.worktime-segment.travel i{background:#4b84ad}.worktime-segment strong,.worktime-segment small,.worktime-segment em{display:block}.worktime-segment small{margin-top:3px;color:var(--muted)}.worktime-segment em{margin-top:4px;font-size:11px;font-style:normal}.worktime-segment em.ok{color:#438440}.worktime-segment em.warning{color:#a86920}.worktime-project-search{margin:0 0 14px}.worktime-project-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.worktime-project-list>button{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px;border:1px solid #dfe7e2;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.worktime-project-list>button.priority{border-color:#a8cba7;background:#f3faf2}.worktime-project-list>button:hover,.worktime-project-list>button:focus-visible{border-color:#5c9e59;outline:none}.worktime-project-list span,.worktime-project-list small{display:block}.worktime-project-list strong{color:var(--navy)}.worktime-project-list small{margin-top:4px;color:var(--muted);line-height:1.35}.worktime-project-list em{flex:0 0 auto;border-radius:999px;padding:5px 7px;background:#e2f1df;color:#39743a;font-size:9px;font-weight:800;font-style:normal}.worktime-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:8px 0 12px}.worktime-admin-head h3,.worktime-entry-heading h3{margin:0;color:var(--navy)}.worktime-admin-head p,.worktime-entry-heading p{margin:4px 0 0;color:var(--muted)}.worktime-admin-head label{font-size:11px;font-weight:700;color:var(--muted)}.worktime-admin-head input{display:block;margin-top:5px}.worktime-admin-panel{margin-bottom:22px}.worktime-admin-panel td small{display:block;margin-top:3px;color:var(--muted);max-width:250px}.worktime-entry-heading{margin:18px 0 10px}.worktime-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.worktime-detail-summary div{padding:13px;border-radius:12px;background:#f4f7f5}.worktime-detail-summary span,.worktime-detail-summary strong{display:block}.worktime-detail-summary span{font-size:10px;color:var(--muted)}.worktime-detail-summary strong{margin-top:4px;color:var(--navy)}.worktime-detail-events,.worktime-detail-segments{display:grid;gap:8px}.worktime-detail-events article,.worktime-detail-segments article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e0e7e2;border-radius:11px}.worktime-detail-events small,.worktime-detail-segments span,.worktime-detail-segments small{color:var(--muted)}.worktime-detail-segments article{display:grid;grid-template-columns:1fr auto}.worktime-detail-segments small{grid-column:1/-1}.worktime-no-gps{opacity:.7}
@media(max-width:700px){.worker-nav{overflow-x:auto;justify-content:flex-start}.worker-nav button{flex:0 0 auto;white-space:nowrap}.worktime-start-card,.worktime-active-card{margin:12px;padding:18px}.worktime-summary{margin:0 12px 18px}.worktime-summary span{font-size:9px}.worktime-summary strong{font-size:11px}.worktime-timeline{margin:0 15px}.worktime-admin-head{align-items:flex-start;flex-direction:column}.worktime-detail-summary{grid-template-columns:1fr}.worktime-detail-events article{align-items:flex-start;flex-direction:column}.worktime-detail-segments article{grid-template-columns:1fr}.worktime-detail-segments small{grid-column:1}.worktime-project-card{height:min(82vh,700px)}}

/* v14.4.3 — miesięczne zestawienie godzin i kosztów pracowników */
.monthly-worktime-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 15px}.monthly-worktime-kpis article{min-height:102px;padding:18px 20px;border:1px solid #d5e6d7;border-radius:13px;background:#edf7ef;box-shadow:var(--shadow)}.monthly-worktime-kpis span,.monthly-worktime-kpis strong,.monthly-worktime-kpis small{display:block}.monthly-worktime-kpis span{color:#567064;font-size:12px}.monthly-worktime-kpis strong{margin-top:7px;color:var(--navy);font-size:25px;font-variant-numeric:tabular-nums}.monthly-worktime-kpis small{margin-top:6px;color:var(--muted);font-size:11px}.monthly-worktime-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 11px;color:var(--muted);font-size:11px}.monthly-worktime-legend span{display:flex;align-items:center;gap:6px}.monthly-worktime-legend i{width:10px;height:10px;border-radius:3px;background:#e5f3e8}.monthly-worktime-legend i.weekend{background:#edf0f2}.monthly-worktime-legend i.warning{background:#f5d8d4}.monthly-worktime-panel{padding:0;overflow:hidden}.monthly-worktime-panel>.form-error{margin:10px 15px 15px}.monthly-worktime-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.monthly-worktime-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}.monthly-worktime-table th,.monthly-worktime-table td{height:50px;padding:6px;border-right:1px solid #e8edea;border-bottom:1px solid #e8edea;text-align:center;font-variant-numeric:tabular-nums}.monthly-worktime-table thead th{position:sticky;top:0;z-index:2;height:56px;background:#f3f6f5;color:#687982}.monthly-worktime-table th:last-child,.monthly-worktime-table td:last-child{border-right:0}.monthly-worktime-table tbody tr:last-child td{border-bottom:0}.monthly-worktime-table tbody tr{cursor:default}.monthly-worktime-table .monthly-employee-cell{position:sticky;left:0;z-index:3;min-width:190px;max-width:190px;padding-left:14px;text-align:left;background:#fff}.monthly-worktime-table thead .monthly-employee-cell{z-index:5;background:#edf3f0}.monthly-employee-cell strong,.monthly-employee-cell small{display:block;overflow:hidden;text-overflow:ellipsis}.monthly-employee-cell strong{color:var(--navy);font-size:12px}.monthly-employee-cell small{margin-top:4px;color:var(--muted);font-size:10px}.monthly-worktime-table .monthly-day-head{min-width:62px}.monthly-day-head span,.monthly-day-head small{display:block}.monthly-day-head span{color:var(--navy);font-size:13px}.monthly-day-head small{margin-top:3px;color:#87949c;font-size:9px}.monthly-worktime-table .monthly-weekend-cell{background:#f3f5f6}.monthly-worktime-table thead .monthly-weekend-cell{background:#e9edef;color:#8a969d}.monthly-worktime-table .monthly-sum-cell{position:sticky;right:0;z-index:3;min-width:94px;background:#eaf5ec;color:#286d49;font-weight:800}.monthly-worktime-table thead .monthly-sum-cell{z-index:5}.monthly-worktime-cell{appearance:none;width:100%;min-height:35px;padding:7px 6px;border:0;border-radius:8px;background:transparent;color:#7f8b92;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;cursor:default}.monthly-worktime-cell.has-hours{background:#e7f3e9;color:#286849;cursor:pointer}.monthly-worktime-cell.has-hours:hover,.monthly-worktime-cell.has-hours:focus-visible{box-shadow:inset 0 0 0 2px #62a56b;outline:0}.monthly-worktime-cell.warning{background:#f8e5e2;color:#a14b43}.monthly-worktime-empty{padding:30px!important;color:var(--muted);text-align:center}.monthly-day-detail-note{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#eef4f1;color:#4e6659;font-size:12px}.monthly-day-detail-note.warning{background:#fff1ef;color:#995048}.monthly-day-session{margin-top:16px}.monthly-day-session h3{margin:0 0 9px;color:var(--navy);font-size:14px}.monthly-day-session>p{margin:0 0 10px;color:var(--muted);font-size:11px}
@media(max-width:700px){.monthly-worktime-kpis{grid-template-columns:1fr}.monthly-worktime-kpis article{min-height:0}.monthly-worktime-table .monthly-employee-cell{min-width:150px;max-width:150px}.monthly-worktime-table .monthly-day-head{min-width:58px}.monthly-worktime-head{margin-top:4px}.monthly-worktime-panel{margin-left:-14px;margin-right:-14px;border-radius:0}.monthly-worktime-legend{align-items:flex-start;gap:9px 13px}}

.employee-time-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 16px}.employee-time-kpis article{padding:17px 18px;border:1px solid #d9e6dc;border-radius:12px;background:#f0f7f1}.employee-time-kpis span,.employee-time-kpis strong,.employee-time-kpis small{display:block}.employee-time-kpis span{color:#5e7467;font-size:11px}.employee-time-kpis strong{margin-top:7px;color:var(--navy);font-size:20px;font-variant-numeric:tabular-nums}.employee-time-kpis small{margin-top:5px;color:var(--muted);font-size:10px}.employee-time-kpis strong.warning{color:#a14b43}.employee-monthly-panel td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.employee-monthly-panel .employee-day-projects{max-width:260px;white-space:normal;line-height:1.4}.employee-monthly-panel .employee-day-detail{white-space:nowrap}.employee-monthly-panel tbody tr{cursor:default}.employee-monthly-panel tbody tr.employee-day-warning{background:#fff8f7}.employee-monthly-panel tbody tr:hover{background:#f8fbf9}.employee-monthly-panel tbody tr.employee-day-warning:hover{background:#fff3f1}
@media(max-width:1000px){.employee-time-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.employee-time-kpis{grid-template-columns:1fr}.employee-monthly-head{margin-top:4px}.employee-monthly-panel{margin-left:-14px;margin-right:-14px;border-radius:0}.employee-time-kpis article{padding:15px}}

/* v14.4.5 — indywidualne korekty pracownika bez usuwania dnia brygady */
.worktime-head-actions{display:flex;align-items:flex-end;gap:10px}.worktime-head-actions label{min-width:150px}.worktime-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.worktime-row-actions .secondary,.worktime-row-actions .danger-button{white-space:nowrap}.worktime-source-badge{display:inline-flex;align-items:center;margin-top:5px;padding:3px 7px;border-radius:999px;background:#f2eadb;color:#815f25;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.worktime-source-badge.gps{background:#e6f0f6;color:#3f6c88}.worktime-source-badge.individual{background:#e9f4e8;color:#356b42}.monthly-worktime-cell.addable{cursor:pointer}.monthly-worktime-cell.addable:hover,.monthly-worktime-cell.addable:focus-visible{background:#f0f6f1;color:#41724d;box-shadow:inset 0 0 0 1px #9bbca2;outline:0}.monthly-worktime-cell.addable:hover:after,.monthly-worktime-cell.addable:focus-visible:after{content:' +';font-weight:900}.worktime-edit-card{width:min(680px,calc(100vw - 28px))}.worktime-edit-warning{margin:0 0 15px;padding:13px 15px;border:1px solid #efcfc8;border-radius:11px;background:#fff4f2;color:#8f463f;font-size:12px;line-height:1.45}.worktime-edit-card select:disabled,.worktime-edit-card input:disabled{background:#eef2f0;color:#64746b;cursor:not-allowed}.worktime-session-card{margin-top:16px;padding:15px;border:1px solid #dfe7e2;border-radius:12px;background:#fff}.worktime-session-card.manual{border-color:#decda9;background:#fffcf6}.worktime-session-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.worktime-session-head h3{margin:0;color:var(--navy);font-size:14px}.worktime-session-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.worktime-session-actions{display:flex;gap:6px;flex:0 0 auto}.worktime-session-actions button{white-space:nowrap}.worktime-detail-footer{display:flex;justify-content:flex-end;margin-top:18px}.employee-day-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
@media(max-width:700px){.worktime-head-actions{width:100%;align-items:stretch;flex-direction:column}.worktime-head-actions label{min-width:0}.worktime-head-actions .primary{width:100%}.worktime-session-head{flex-direction:column}.worktime-session-actions{width:100%}.worktime-session-actions button{flex:1}.worktime-row-actions{justify-content:flex-start}.worktime-edit-card{width:min(100vw - 16px,680px)}}

/* v14.4.6 — „Inna budowa” w ewidencji czasu pracownika */
.worktime-project-card{max-height:90vh;overflow-y:auto}.worktime-project-empty{margin:0;padding:18px 14px}.worktime-other-project{margin-top:14px;padding-top:14px;border-top:1px solid #dfe7e2}.worktime-other-project-toggle{width:100%;min-height:48px}.worktime-other-project-form{display:grid;gap:9px;padding:14px;border:1px solid #e1c98c;border-radius:13px;background:#fffaf0}.worktime-other-project-form label{color:var(--navy);font-size:12px;font-weight:800}.worktime-other-project-form textarea{box-sizing:border-box;width:100%;min-height:78px;resize:vertical;border:1px solid #cfd9d2;border-radius:10px;padding:11px;font:inherit;color:var(--navy);background:#fff}.worktime-other-project-form textarea:focus{border-color:#5c9e59;outline:2px solid #5c9e5920}.worktime-other-project-form small{color:var(--muted);line-height:1.4}.worktime-other-project-form .primary{width:100%;min-height:48px}
