.fw-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashkpi{text-align:left;cursor:pointer;min-width:0;white-space:normal}.dashkpi:hover{outline:2px solid var(--ac,#157777)}.dashkpi:focus-visible,.fw-bar:focus-visible{outline:3px solid #168d97;outline-offset:3px}.fw-bars{display:grid;gap:12px}.fw-bar{display:grid;grid-template-columns:180px 1fr 50px;gap:15px;align-items:center;padding:12px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.fw-track{display:block;background:#edf2f2;height:18px;border-radius:9px;overflow:hidden}.fw-track>span{display:block;height:100%;background:#176c72;border-radius:9px}.fw-records{display:grid;gap:16px}.fw-records>div{padding:12px;border-bottom:1px solid #dae2e2}.fw-records .b{margin:4px}.quicklinks{display:flex;flex-wrap:wrap;gap:8px}.head .acts{flex-wrap:wrap}.tw{max-width:100%;overflow-x:auto}#fw-search{width:100%;max-width:650px}tr[hidden]{display:none!important}@media(max-width:760px){.fw-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-bar{grid-template-columns:115px 1fr 32px;padding:8px 0;gap:8px}.head{flex-wrap:wrap}.head .acts{width:100%}.head .acts .b{flex:1 1 auto}.dashkpi b{font-size:1.7rem}.fw-records .b{min-height:44px}.fw-records{overflow-wrap:anywhere}}@media(max-width:380px){.fw-kpis{grid-template-columns:1fr}.fw-bar{grid-template-columns:95px 1fr 25px}}
/* Customer workspace: bounded grids, one navigation, actionable queues. */
#app{grid-template-columns:var(--sb) minmax(0,1fr)}
@media(max-width:900px){#app{grid-template-columns:minmax(0,1fr)}}
#view{min-width:0;max-width:100%;overflow-wrap:anywhere}
.fw-dashboard{max-width:1480px;margin:0 auto;min-width:0}
.fw-dashboard .head h1{font-size:clamp(1.35rem,2.5vw,1.9rem)}
.fw-dashboard .kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fw-dashboard .k{padding:18px;border:1px solid var(--ln);box-shadow:0 3px 12px rgba(15,76,85,.035)}
.fw-dashboard .k>span{display:block;font-size:.78rem;color:var(--ink3);margin-top:8px;line-height:1.5}
.fw-dashboard .dashkpi span span{display:inline}
.fw-dashboard .fw-zero b{color:var(--ink3)}
.fw-section-title{margin:24px 0 14px}
.fw-section-title h2{font-size:1.15rem}
.fw-section-title p,.fw-explanation{font-size:.8rem;color:var(--ink3);line-height:1.6;margin:6px 0 16px}
.fw-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.fw-columns>.card{min-width:0;margin-bottom:0}
.fw-dashboard .ch{background:#fff;padding:17px 20px;gap:12px}
.fw-dashboard .ch h3,.fw-dashboard .ch h2{font-size:1rem;letter-spacing:-.015em}
.fw-urgent{border-color:#efc5c0;border-top:3px solid var(--bad)}
.fw-urgent .ch{background:#fff8f6}
.fw-count{display:inline-block;margin-left:6px;padding:2px 7px;background:#eef3f3;border-radius:6px;font-size:.8rem}
.fw-urgent .fw-count{color:var(--bad);background:#fce6e3}
.fw-queue-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 20px;border:0;border-bottom:1px solid var(--ln);background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer;white-space:normal}
.fw-queue-item:last-child{border-bottom:0}
.fw-queue-item:hover,.fw-check:hover{background:#f2f7f6}
.fw-queue-item>span:first-child{min-width:0}
.fw-queue-item .sub,.fw-check .sub{display:block;font-size:.8rem;line-height:1.5;margin-top:5px;color:var(--ink3)}
.fw-open{flex-shrink:0;color:var(--pt);font-size:.78rem;font-weight:650}
.fw-empty{padding:24px 20px;color:var(--ink3);font-size:.9rem;line-height:1.6}
.fw-check{display:flex;width:100%;gap:16px;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--ln);padding:15px 0;background:#fff;font:inherit;text-align:left;white-space:normal;color:var(--ink);cursor:pointer}
.fw-check>b{font-size:1.3rem;white-space:nowrap;color:var(--pt)}
.fw-check-warning>b,.fw-danger{color:var(--bad);font-weight:700}
.fw-compliance .fw-explanation{margin:15px 0 0}
.fw-distribution{margin-top:20px}
.fw-distribution summary{cursor:pointer;padding:18px 20px;font-weight:650}
.fw-distribution summary span{font-size:.8rem;font-weight:400;color:var(--ink3);margin-left:10px}
.fw-bar-workshop .fw-track>span{background:#b98014}
.fw-bar-unavailable .fw-track>span{background:#6f8190}
.fw-dashboard .fw-bar{grid-template-columns:minmax(100px,210px) minmax(0,1fr) 40px}
.fw-back{margin-bottom:16px}
.fw-queue-item:focus-visible,.fw-check:focus-visible,.fw-distribution summary:focus-visible,#nav button:focus-visible{outline:3px solid #197d86;outline-offset:-3px}
#fw-admin-search{width:100%;max-width:520px}
#nav [data-fw-nav]{font:inherit;font-size:.9rem;white-space:normal;min-height:44px;border:0;background:transparent;color:rgba(255,255,255,.8);justify-content:flex-start}
#nav [data-fw-nav]:hover,#nav [data-fw-nav][aria-current=page]{background:rgba(255,255,255,.15);color:#fff}
@media(max-width:1100px){.fw-dashboard .kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#app{grid-template-columns:minmax(0,1fr)}.fw-dashboard .k{padding:14px}.fw-dashboard .k small{font-size:.65rem}.fw-dashboard .ch{padding:14px}.fw-queue-item{padding:14px;gap:8px}.fw-open{font-size:.72rem}.fw-dashboard .fw-bar{grid-template-columns:110px minmax(0,1fr) 28px;gap:8px}.fw-distribution summary span{display:block;margin:6px 0 0}.fw-columns{gap:14px}.fw-dashboard .ch .b{min-height:44px}}
@media(max-width:380px){.fw-dashboard .kpi{gap:8px}.fw-check{flex-wrap:wrap}.fw-queue-item{align-items:flex-start}.fw-open{font-size:0}.fw-open span{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.dashkpi{transition:none}.dashkpi:hover,.dashkpi:focus-visible{transform:none}}
.fw-customer-dashboard .fw-columns{align-items:start}
.fw-status-chart{margin-bottom:22px}.fw-status-chart h4{margin:0 0 12px;font-size:.94rem}
.fw-status-track{display:flex;height:12px;overflow:hidden;border-radius:6px;background:#edf2f2;margin-bottom:10px}
.fw-status-track>button{height:100%;border:0;padding:0;cursor:pointer}.fw-status-track>button:focus-visible{outline:2px solid #142d32;outline-offset:-2px}.fw-segment-ok{background:#218363}.fw-segment-soon{background:#b77d13}.fw-segment-over{background:#bb3939}.fw-segment-missing{background:#778794}
.fw-status-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.fw-status-choice{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;padding:10px;border:1px solid #dce5e5;border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:.8rem;cursor:pointer;text-align:left}
.fw-status-choice:hover{background:#f2f7f7}.fw-status-choice b{font-size:1rem}.fw-tone-over b{color:#b52828}.fw-tone-soon b{color:#936000}.fw-tone-ok b{color:#187052}
.fw-status-choice:focus-visible,.fw-term-controls button:focus-visible,.fw-cost-chart summary:focus-visible{outline:3px solid #197d86;outline-offset:2px}
.fw-term-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px;flex-wrap:wrap}.fw-term-controls h2{margin:0;font-size:1.1rem}.fw-term-controls .fil{margin:0}
.fw-cost-chart{margin-top:20px}.fw-cost-chart summary{padding:18px 20px;cursor:pointer;font-weight:650}.fw-customer-dashboard .fw-cost-chart .fw-bar{width:100%;grid-template-columns:75px minmax(0,1fr) 125px}.fw-cost-chart .fw-bar b{text-align:right;font-size:.85rem}
@media(max-width:760px){.fw-status-legend{grid-template-columns:1fr 1fr}.fw-customer-dashboard .fw-cost-chart .fw-bar{grid-template-columns:60px minmax(0,1fr) 105px;gap:8px}.fw-term-controls button{min-height:44px}}

/* Compact, accessible vehicle overview. Four exclusive availability groups. */
.fw-customer-dashboard .fw-fleet-kpi{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;align-content:center;min-height:126px;text-align:left}
.fw-customer-dashboard .fw-fleet-kpi .fw-kpi-icon{grid-column:1;grid-row:1/4;align-self:center;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#edf4f4;color:#16555d;margin:0}
.fw-kpi-icon svg{width:28px;height:28px}
.fw-customer-dashboard .fw-fleet-kpi small{grid-column:2;font-size:.79rem;letter-spacing:0;text-transform:none;line-height:1.35}
.fw-customer-dashboard .fw-fleet-kpi b{grid-column:2;font-size:2rem;line-height:1.2;margin:4px 0;color:var(--ink)}
.fw-customer-dashboard .fw-fleet-kpi .fw-kpi-hint{grid-column:2;font-size:.74rem;margin:0;color:var(--ink3)}
.fw-customer-dashboard .fw-fleet-kpi .fw-icon-available{color:#187052;background:#e7f4ed}
.fw-customer-dashboard .fw-fleet-kpi .fw-icon-workshop,.fw-customer-dashboard .fw-fleet-kpi .fw-icon-unavailable{color:#996000;background:#fff3db}
.fw-customer-dashboard .fw-fleet-kpi.fw-zero .fw-kpi-icon{color:#65777d;background:#eff3f3}
@media(max-width:760px){.fw-customer-dashboard .fw-fleet-kpi{grid-template-columns:32px minmax(0,1fr);column-gap:9px;min-height:116px}.fw-customer-dashboard .fw-fleet-kpi .fw-kpi-icon{width:32px;height:32px;border-radius:8px}.fw-kpi-icon svg{width:23px;height:23px}.fw-customer-dashboard .fw-fleet-kpi small{font-size:.72rem}.fw-customer-dashboard .fw-fleet-kpi b{font-size:1.75rem}}

/* Overdue compliance: explicit warning text and symbol, not color alone. */
.fw-compliance-alert{display:flex;align-items:flex-start;gap:12px;width:100%;padding:15px;margin:0 0 14px;border:1px solid #dca6a6;border-left:4px solid #b4232c;border-radius:9px;background:#fff0f0;color:#911b24;font:inherit;text-align:left;white-space:normal;cursor:pointer;line-height:1.5}
.fw-compliance-alert strong{display:block;font-size:.95rem}.fw-alert-detail{display:block;margin-top:4px;font-size:.8rem;color:#85232a}.fw-compliance-alert:hover{background:#ffe5e5}.fw-compliance-alert:focus-visible{outline:3px solid #911b24;outline-offset:3px}
.fw-warning-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#b4232c;color:white;font-size:16px;font-weight:800;line-height:1;vertical-align:middle}
.fw-queue-item.fw-overdue-driver{border-left:4px solid #b4232c;background:#fff7f7}.fw-queue-item.fw-overdue-driver .sub{color:#911b24;font-weight:600}.fw-queue-item.fw-overdue-driver:hover{background:#ffecec}
