
:root{--bg:#f4f6f8;--card:#fff;--text:#17212b;--muted:#718096;--line:#dce3ea;--accent:#1d64d8;--accent2:#0f4eae;--dark:#101820;--dark2:#162431;--good:#16794a;--warn:#b7791f;--bad:#c63737;--soft:#edf4ff}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}small{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4fb,#f8fafc)}
.login-card{width:min(430px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 18px 60px #16243118}
.brand,.sidebar-brand{font-weight:900;letter-spacing:.05em}.brand{font-size:20px}.brand span,.sidebar-brand span{color:#67a0ff}.login-card h1{margin:22px 0 4px}
label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#435160;margin:12px 0}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:#7aa7eb;box-shadow:0 0 0 3px #1d64d812}textarea{min-height:88px;resize:vertical}
button{border:1px solid var(--line);background:#fff;color:var(--text);padding:9px 13px;border-radius:8px;font-weight:750}
button:hover{background:#f7f9fb}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}.wide{width:100%;margin-top:8px}
.app-shell aside{position:fixed;left:0;top:0;bottom:0;width:230px;background:var(--dark);color:#e6edf4;padding:18px 12px;z-index:20;display:flex;flex-direction:column}
.sidebar-brand{font-size:20px;padding:8px 12px 22px}.app-shell nav{display:flex;flex-direction:column;gap:3px}
.app-shell nav button{border:0;background:transparent;color:#bfcbd6;text-align:left;padding:11px 12px}.app-shell nav button.active,.app-shell nav button:hover{background:#ffffff12;color:#fff}
.sidebar-user{margin-top:auto;border-top:1px solid #ffffff1a;padding:14px 8px;display:grid;gap:3px}.sidebar-user button{margin-top:8px;background:#ffffff0b;border-color:#ffffff16;color:#fff}
.app-shell header{position:fixed;left:230px;right:0;top:0;height:72px;background:#fff;border-bottom:1px solid var(--line);z-index:15;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}
.app-shell header h2{margin:0;font-size:18px}.header-actions{display:flex;gap:8px}
.app-shell main{margin-left:230px;padding:94px 24px 50px;max-width:1600px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
h1,h2,h3{margin-top:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.metric b{display:block;font-size:26px;margin-top:5px}
.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}.section-head,.toolbar,.title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.toolbar{margin-bottom:16px}.toolbar h2{margin:0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{text-align:left;padding:16px}.quick-grid b,.quick-grid small{display:block}.quick-grid small{margin-top:4px}
.searchbox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 10px;min-width:min(560px,60vw)}.searchbox input{border:0;box-shadow:none;padding:10px 0;background:transparent}
.project-list{display:grid;gap:8px}.project-row{display:grid;grid-template-columns:7px 1.8fr 1fr 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.status-line{height:100%;border-radius:8px;background:var(--accent)}.project-row:hover{border-color:#9cb7d8}.project-row h3{margin:0 0 3px;font-size:15px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--soft);color:#24548e;font-size:11px;font-weight:850}.badge.good{background:#e8f7ef;color:var(--good)}.badge.warn{background:#fff7e5;color:var(--warn)}.badge.bad{background:#ffeded;color:var(--bad)}
.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:10px}.calendar-toolbar h2{margin:0}.calendar{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.cal-head{padding:8px;text-align:center;font-size:11px;color:var(--muted);font-weight:800;background:#f7f9fb}.cal-day{min-height:125px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:7px}.cal-day:nth-child(7n){border-right:0}.cal-day.other{background:#fafbfc;color:#9aa6b2}.cal-num{font-size:11px;font-weight:800;margin-bottom:5px}.cal-event{font-size:11px;padding:4px 6px;margin:3px 0;border-radius:5px;background:#eaf2ff;color:#1f559a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.inventory-layout{display:grid;grid-template-columns:210px 1fr;gap:14px}.group-rail{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;height:max-content}.group-rail button{display:block;width:100%;border:0;text-align:left}.group-rail button.active{background:#eaf2ff;color:#164c91}.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px}.item-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;cursor:pointer}.item-card:hover{border-color:#94afd0}.item-photo{height:120px;background:#edf1f5;display:grid;place-items:center;overflow:hidden}.item-photo img{width:100%;height:100%;object-fit:cover}.item-photo .placeholder{font-size:34px;color:#a0acb8}.item-card .body{padding:12px}.item-card h3{font-size:14px;margin:0 0 3px}.item-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px}
.people-grid,.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px}.person,.vehicle{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.person h3,.vehicle h3{margin-bottom:5px}.kpi{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.kpi:last-child{border:0}.good-text{color:var(--good)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}
.modal{position:fixed;inset:0;background:#0e1722aa;z-index:100;display:grid;place-items:center;padding:22px}.modal-card{position:relative;background:#fff;border-radius:14px;width:min(1000px,96vw);max-height:94vh;overflow:auto;padding:22px}.modal-card.large{width:min(1350px,98vw)}.modal-x{position:absolute;right:12px;top:12px;border:0;font-size:20px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.span2{grid-column:span 2}.span3{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.workspace-head{background:#fff;border:1px solid var(--line);border-radius:12px 12px 0 0;padding:18px}.workspace-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.workspace-title h1{margin:0 0 4px;font-size:24px}.workspace-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:#4f5c69;font-size:12px}.tabs{display:flex;gap:2px;border:1px solid var(--line);border-top:0;background:#fff;padding:0 12px;overflow:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 14px;background:transparent;white-space:nowrap}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.workspace-body{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:18px;min-height:480px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.timeline .step{background:#f7f9fb;border:1px solid var(--line);padding:10px;border-radius:8px}.timeline b,.timeline small{display:block}
.group-block{margin-bottom:16px}.group-title{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#eef3f7;border-radius:7px;font-weight:850}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:9px;border-bottom:1px solid var(--line);font-size:12px;text-align:left}.data-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.row-actions{display:flex;gap:5px}.small{padding:5px 8px;font-size:11px}
.picker-shell{display:grid;grid-template-columns:230px 1fr;gap:14px;min-height:600px}.picker-left{border-right:1px solid var(--line);padding-right:10px}.picker-left button{display:block;width:100%;border:0;text-align:left;margin:2px 0}.picker-left button.active{background:#eaf2ff;color:#184e90}.picker-top{display:grid;grid-template-columns:1fr 100px auto;gap:8px;margin-bottom:12px}.picker-results{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:9px}.picker-item{border:1px solid var(--line);border-radius:9px;padding:10px;cursor:pointer}.picker-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px #1d64d81a}.picker-item h3{font-size:13px;margin:0 0 3px}.picker-item .path{font-size:10px;color:var(--muted);margin-bottom:7px}.stock{font-weight:850}.stock.minus{color:var(--bad)}
.book-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.book-row{display:grid;grid-template-columns:auto 1.5fr 1fr 110px 130px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px}.book-row .serial-list{grid-column:2/-1;background:#f8fafc;padding:8px;border-radius:7px}.unit-choice{display:inline-flex;gap:5px;align-items:center;margin:4px 8px 4px 0;font-size:11px}.damage-select{max-width:130px}
.quote-paper{width:210mm;min-height:297mm;margin:auto;background:#fff;padding:16mm;color:#111}.quote-head{display:flex;justify-content:space-between;border-bottom:2px solid #1d2630;padding-bottom:12px}.quote-logo{max-width:55mm;max-height:22mm}.quote-paper table{width:100%;border-collapse:collapse;margin-top:18px}.quote-paper th,.quote-paper td{border-bottom:1px solid #ddd;padding:7px;font-size:11px;text-align:left}.quote-totals{width:85mm;margin-left:auto;margin-top:16px}.quote-totals div{display:flex;justify-content:space-between;padding:5px 0}.quote-total{font-size:16px;font-weight:900;border-top:2px solid #222;margin-top:5px;padding-top:8px!important}
.report-filters{display:flex;gap:10px;align-items:end}.report-filters label{margin:0}.history-row,.service-row{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:8px}.service-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:center}
#toast{position:fixed;right:18px;bottom:18px;z-index:200}.toast{background:#17212b;color:#fff;padding:11px 14px;border-radius:8px;margin-top:7px;box-shadow:0 10px 30px #0003}
#printArea{display:none}
@media(max-width:1050px){.inventory-grid{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.people-grid,.vehicle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell aside{left:0;right:0;top:auto;width:auto;height:66px;flex-direction:row;padding:5px;overflow:auto}.sidebar-brand,.sidebar-user{display:none}.app-shell nav{flex-direction:row}.app-shell nav button{white-space:nowrap;font-size:11px}.app-shell header{left:0;padding:10px 14px}.app-shell main{margin-left:0;padding:88px 12px 84px}.inventory-layout{grid-template-columns:1fr}.group-rail{display:flex;overflow:auto}.group-rail button{width:auto;white-space:nowrap}.inventory-grid{grid-template-columns:repeat(2,1fr)}.people-grid,.vehicle-grid{grid-template-columns:1fr}.project-row{grid-template-columns:5px 1fr auto}.project-row .hide-mobile{display:none}.form-grid{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.picker-shell{grid-template-columns:1fr}.picker-left{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding-bottom:8px}.picker-left button{width:auto;white-space:nowrap}.picker-results{grid-template-columns:1fr 1fr}.picker-top{grid-template-columns:1fr 80px}.picker-top button{grid-column:1/-1}.timeline{grid-template-columns:1fr}.book-row{grid-template-columns:auto 1fr 80px}.book-row>*:nth-child(4),.book-row>*:nth-child(5){grid-column:2/-1}.service-row{grid-template-columns:1fr}.modal{padding:5px}.modal-card{padding:16px}.searchbox{min-width:0;width:100%}}
@media print{
 body *{visibility:hidden!important}#printArea,#printArea *{visibility:visible!important}#printArea{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff}.quote-paper{box-shadow:none;margin:0;padding:12mm;width:210mm;min-height:auto}.quote-paper tr{break-inside:avoid}.quote-paper thead{display:table-header-group}@page{size:A4;margin:0}
}

.three-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.label-preview{min-height:420px;display:grid;place-items:center;background:#eef1f4;border-radius:10px;padding:24px}
.label-controls{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.label-card{background:#fff;border:1px solid #aeb8c2;padding:8px;width:62mm;min-height:40mm;margin:12px auto;display:grid;place-items:center}
.brother-label{width:62mm;height:40mm;display:grid;grid-template-columns:25mm 1fr;grid-template-rows:8mm 1fr;gap:1mm;padding:2mm;background:#fff;color:#000;overflow:hidden}
.brother-label .label-company{grid-column:1/-1;display:flex;align-items:center;gap:2mm;font-size:9pt;border-bottom:.3mm solid #111;padding-bottom:1mm}
.brother-label .label-company img{max-width:18mm;max-height:6mm}
.brother-label .label-qr{width:24mm;height:24mm;object-fit:contain;grid-column:1;grid-row:2}
.brother-label .label-info{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:center;font-size:8pt;line-height:1.15}
.brother-label .label-info b{font-size:10pt}.brother-label .label-info strong{font-size:9pt;margin:1mm 0}
.brother-label.qr{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center}.brother-label.qr .label-qr{grid-column:1;grid-row:1;width:34mm;height:34mm}
.brother-label.compact{grid-template-columns:30mm 1fr;grid-template-rows:1fr}.brother-label.compact .label-qr{grid-column:1;grid-row:1;width:29mm;height:29mm}.label-inv{font-size:12pt;word-break:break-all}
@media(max-width:760px){.three-choice{grid-template-columns:1fr}.label-controls{grid-template-columns:1fr}}
@media print{
 body.printing-label #printArea{display:block!important;width:62mm!important;height:40mm!important}
 body.printing-label #printArea .label-print{width:62mm;height:40mm;margin:0;padding:0}
 body.printing-label #printArea .brother-label{border:0;margin:0}
 body.printing-label .quote-paper{display:none!important}
}

.label-print{page:labelpage}.quote-paper{page:quotepage}@page labelpage{size:62mm 40mm;margin:0}@page quotepage{size:A4;margin:0}

.picker-added-note{margin:8px 0 12px;padding:9px 11px;border-radius:8px;background:#e9f8ef;color:#14663f;font-weight:800}
.book-row.partial{background:#fff9ea}.book-row.done{background:#edf9f1}
.book-progress{height:6px;background:#e5e9ee;border-radius:999px;margin:7px 0 4px;overflow:hidden;max-width:260px}.book-progress i{display:block;height:100%;background:#2471d8;border-radius:999px}.book-row.done .book-progress i{background:#228357}
.person.inactive{opacity:.55}.quote-client{margin-top:10px;padding-top:8px;border-top:1px solid #999;font-size:11px;line-height:1.45}

.picker-thumb{height:115px;margin:-10px -10px 8px;background:#eef2f5;display:grid;place-items:center;overflow:hidden;border-radius:8px 8px 0 0}
.picker-thumb img{width:100%;height:100%;object-fit:cover}.picker-thumb .placeholder{font-size:30px;color:#a4afb9}
.shortage-panel{border-color:#efb2b2;background:#fffafa}.shortage-row{background:#fff8f8}
.already-added{border-color:#90c8aa;background:#f3fbf6}.added-button{background:#e8f6ee;color:#177344;border-color:#b7ddc8}
.damage-box{background:#fff0f0;border:1px solid #efbbbb;border-radius:7px;padding:6px 8px;margin:5px 0;color:#a32424}
.damage-box input{margin-top:4px}.damage-select{border-color:#dcb0b0}
.document-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}
.print-paper{width:190mm;margin:0 auto;background:#fff;color:#111;font-size:10pt;line-height:1.35}
.print-paper .doc-head{display:flex;justify-content:space-between;gap:20mm;border-bottom:2px solid #222;padding-bottom:5mm;margin-bottom:6mm}
.print-paper .doc-head h1{font-size:19pt;margin:0}.print-paper .doc-head h2{font-size:13pt;margin:2mm 0}
.print-paper .doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8mm;border:1px solid #bbb;padding:4mm;margin-bottom:5mm}
.print-paper h2{font-size:12pt;margin:6mm 0 2mm}
.print-paper table{width:100%;border-collapse:collapse}.print-paper th,.print-paper td{border-bottom:1px solid #bbb;padding:2.2mm;font-size:9pt;text-align:left;vertical-align:top}
.print-paper thead{display:table-header-group}.print-paper tr{break-inside:avoid}
@media(max-width:900px){.document-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.document-grid{grid-template-columns:1fr}}

/* v8.3 print reset: hidden app no longer consumes blank printed pages */
@media print{
 html,body{margin:0!important;padding:0!important;height:auto!important;background:#fff!important}
 body:not(.printing-label) > #app,
 body:not(.printing-label) > #login,
 body:not(.printing-label) > #modal,
 body:not(.printing-label) > #toast{display:none!important}
 body:not(.printing-label) #printArea{display:block!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important}
 body:not(.printing-label) #printArea,#printArea *{visibility:visible!important}
 body:not(.printing-label) #printArea .quote-paper{display:block!important;position:static!important;width:190mm!important;min-height:0!important;height:auto!important;margin:0 auto!important;padding:10mm!important;page-break-after:auto!important;break-after:auto!important}
 body.printing-document #printArea .print-paper{display:block!important;position:static!important;margin:0 auto!important;padding:8mm 10mm!important}
 body.printing-document #printArea .quote-paper{display:none!important}
 body.printing-label > #app,body.printing-label > #login,body.printing-label > #modal,body.printing-label > #toast{display:none!important}
 body.printing-label #printArea{display:block!important;position:static!important;margin:0!important;padding:0!important;width:62mm!important;height:40mm!important}
 @page{size:A4;margin:8mm}
}

.active-work{padding:14px;border:1px solid #9fd2b2;background:#f1fbf5;border-radius:10px}
.compact-picker{max-height:55vh;overflow:auto;margin-top:12px}
.compact-picker .item-card{min-height:190px;cursor:pointer}
.extra-vehicle-warning{border:2px solid #d84a4a!important;background:#fff4f4!important}
.van-sketch{margin:14px 0 18px;display:grid;grid-template-columns:80px minmax(420px,1fr) 115px;align-items:stretch;min-height:280px}
.van-cab,.van-doors{display:grid;place-items:center;text-align:center;font-size:11px;font-weight:900;letter-spacing:.04em;background:#e9edf1;border:2px solid #7e8994}
.van-cab{border-radius:45% 0 0 45%}.van-doors{border-radius:0 8px 8px 0}
.van-floor{position:relative;overflow:hidden;border-top:3px solid #4d5964;border-bottom:3px solid #4d5964;background:repeating-linear-gradient(90deg,#f7f8f9 0,#f7f8f9 49px,#e7eaed 50px);min-height:280px}
.load-box{position:absolute;box-sizing:border-box;border:2px solid #405a73;background:rgba(255,255,255,.9);border-radius:5px;padding:4px;overflow:hidden;min-width:45px;min-height:38px}
.load-box b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#263b50;color:white;margin-right:4px}.load-box span{font-size:10px;font-weight:800}.load-box small{display:block;font-size:9px;margin-top:2px}
@media(max-width:800px){.van-sketch{grid-template-columns:45px minmax(260px,1fr) 55px;overflow:auto}.van-cab,.van-doors{font-size:8px}.load-box span{font-size:8px}}

.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}
.check-grid label{border:1px solid #d8dde3;border-radius:8px;padding:9px;background:#fff}
@media print{
  .unit-label-page{break-after:page;page-break-after:always;margin:0!important;width:62mm;min-height:29mm;box-sizing:border-box;display:flex!important;align-items:center;gap:3mm;padding:2mm!important}
  .unit-label-page:last-child{break-after:auto;page-break-after:auto}
  .unit-label-page img{width:22mm!important;height:22mm!important}
}

/* v8.7 stabilization */
.payroll-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.report-console{position:sticky;top:76px;z-index:8}.report-filters{flex-wrap:wrap}.report-filters label{min-width:150px}.backup-note{background:#eef7ff;border:1px solid #b9d7f4}.package-weight{font-weight:900}.quote-paper h3{margin-top:8mm;margin-bottom:2mm;border-bottom:1px solid #bbb;padding-bottom:1.5mm}.quote-paper table{page-break-inside:auto}.quote-paper tr{page-break-inside:avoid;page-break-after:auto}
@media(max-width:900px){.payroll-metrics{grid-template-columns:repeat(2,1fr)}}

.category-rate-row{display:grid!important;grid-template-columns:1fr 110px;align-items:center;gap:8px}.category-rate-row input[type=number]{padding:6px}

.worker-projects-panel{border-left:4px solid #516d87}
.project-mini,.suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 4px;border-bottom:1px solid #e4e8ec}
.project-mini:last-child,.suggestion-row:last-child{border-bottom:0}
.suggestion-alert{border-color:#e1b461;background:#fffaf0}
.package-picker-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}
.package-group-rail{max-height:68vh;overflow:auto;align-self:start;position:sticky;top:0}
.package-group-rail button{text-align:left;white-space:normal}
.people-grid .person{transition:.12s ease;position:relative}.people-grid .person:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.07)}
@media(max-width:800px){.package-picker-layout{grid-template-columns:1fr}.package-group-rail{display:flex;overflow:auto;position:static}.package-group-rail button{min-width:max-content}.project-mini,.suggestion-row{align-items:flex-start;flex-direction:column}}

.worker-clock-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:16px;border:2px solid #a9bdd0;border-radius:14px;background:#f6f9fb}
.worker-clock-hero.active{border-color:#7fc39a;background:#f2fbf5}
.worker-clock-hero h2{margin:3px 0 5px}.worker-clock-hero .big-action{font-size:17px;padding:15px 25px;white-space:nowrap}
.worker-pay-mini{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.worker-pay-mini span{background:#fff;border:1px solid #d9e0e6;border-radius:8px;padding:7px 10px}
.serial-bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;max-height:55vh;overflow:auto;margin:12px 0}
.serial-bulk-grid label{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;align-items:center;gap:8px;border-bottom:1px solid #e4e8ec;padding:7px 0}
.serial-bulk-grid label span{display:flex;flex-direction:column}.serial-bulk-grid small{color:#7a8792}
.payroll-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.danger-btn{background:#a93434!important}
@media(max-width:760px){.worker-clock-hero{flex-direction:column;align-items:stretch}.worker-clock-hero .big-action{width:100%}.serial-bulk-grid{grid-template-columns:1fr}.serial-bulk-grid label{grid-template-columns:1fr}}

.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.document-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:16px}
.doc-choice{border:1px solid #d9e0e6;border-radius:12px;padding:15px;background:#fff}
.doc-choice h3{margin:0 0 6px}.doc-choice p{min-height:42px;color:#667582}
.document-preview{max-height:72vh;overflow:auto;background:#fff;border:1px solid #d5dbe1;padding:12px}
.transport-package-panel{margin-top:16px}
.report-filters select{min-width:150px}
.worker-clock-hero{position:relative;z-index:1}

.serial-book-block{grid-column:4/-1;border:1px solid #d7e0e7;border-radius:10px;padding:10px;background:#f8fafb}
.serial-list{display:grid;gap:6px;margin-top:8px;max-height:280px;overflow:auto}
.unit-choice{display:flex;align-items:center;gap:8px;border:1px solid #dde3e8;border-radius:8px;padding:8px;background:#fff}
.unit-choice.planned-unit{border-width:2px}
.empty-state{padding:18px;border:1px dashed #b9c4ce;border-radius:10px;background:#fafbfc}
.package-project-line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #e5e9ed}
.payroll-hero{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.payroll-hero>div{background:#fff;border:1px solid #d9e0e6;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:3px}
.payroll-hero small{font-weight:800;color:#65737f}.payroll-hero b{font-size:22px}.payroll-hero span{font-size:11px;color:#778590}
.payroll-hero .payroll-open{border:2px solid #c96767;background:#fff7f7}
.payroll-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.transport-vehicle{margin-bottom:10px}
@media(max-width:900px){.payroll-hero{grid-template-columns:1fr 1fr}.payroll-grid{grid-template-columns:1fr}}
@media(max-width:600px){.payroll-hero{grid-template-columns:1fr}.package-project-line{flex-direction:column}}

.project-no{font-size:12px;padding:3px 6px;border:1px solid #c8d2db;border-radius:5px;background:#f7f9fa}
.annual-graph{display:grid;gap:7px;margin:12px 0 18px}
.annual-bar-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 110px 65px;gap:8px;align-items:center}
.annual-bar-track{height:13px;background:#e7ebef;border-radius:8px;overflow:hidden}.annual-bar-track i{display:block;height:100%;background:currentColor;border-radius:8px}
.leave-event{border-style:dashed;font-weight:700}
.project-filter-actions{flex-wrap:wrap}
.selected-project-item{position:sticky;bottom:0;z-index:3}
@media(max-width:700px){.annual-bar-row{grid-template-columns:70px 1fr 90px}.annual-bar-row small{display:none}}

.availability-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.availability-legend span{padding:5px 9px;border-radius:7px;font-size:12px;font-weight:700;border:1px solid #cbd3da}
.availability-legend .free,.availability-day.free{background:#edf8ef}.availability-legend .reserved,.availability-day.reserved{background:#fff5cc}.availability-legend .issued,.availability-day.issued{background:#ffe3bd}.availability-legend .overbook,.availability-day.overbook{background:#ffd6d6}
.availability-calendar{display:grid;grid-template-columns:repeat(14,minmax(48px,1fr));gap:5px;margin:10px 0 16px;overflow-x:auto}
.availability-day{min-height:70px;border:1px solid #ccd5dc;border-radius:8px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.availability-day small{text-transform:uppercase;font-size:9px}.availability-day b{font-size:18px}.availability-day span{font-size:10px;font-weight:700}.availability-day i{font-size:9px}
@media(max-width:900px){.availability-calendar{grid-template-columns:repeat(7,minmax(46px,1fr))}}
