.fleet-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.fleet-kpis .stat{margin:0}.fleet-kpis .stat-value{font-variant-numeric:tabular-nums}.fleet-kpis+.panel{margin-top:0}@media(max-width:900px){.fleet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.fleet-kpis{grid-template-columns:1fr}}
.fleet-source-status { padding: 0 20px 16px; }
.fleet-geotab-updated{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;align-self:center;padding:8px 11px;border:1px solid #cdded5;border-radius:8px;background:#eef5f0;color:#315d4e;font-size:12px;font-weight:600;white-space:nowrap}.fleet-geotab-updated-label{padding-right:8px;border-right:1px solid #bcd1c5;color:#1d4d3e;font-weight:800}.fleet-geotab-updated-time{color:#45695c}@media(max-width:760px){.fleet-geotab-updated{order:3;width:100%;margin:0;justify-content:center;font-size:11px}}
.fleet-geotab-link{display:inline-block;margin-top:5px;color:#1976b8;font-size:10px;font-weight:700;text-decoration:none}.fleet-geotab-link:hover,.fleet-geotab-link:focus-visible{text-decoration:underline}
.fleet-detection-stale{color:#b42318;font-weight:700}
.button.danger{border-color:#e7c6c6;background:#fff6f6;color:#a24343}.button.danger:hover{background:#fbeaea}
.fleet-inline-input{width:100%;min-width:72px;padding:5px 7px;font-size:11px}.fleet-inline-model{display:grid;gap:4px;min-width:130px}.fleet-inline-model .fleet-inline-input{min-width:0}
.fleet-inline-editable{cursor:pointer}.fleet-inline-editable:not(.is-editing) .fleet-inline-input{pointer-events:none;border-color:transparent;background:transparent;padding:0;min-height:0;appearance:none}.fleet-inline-editable:not(.is-editing) select.fleet-inline-input{background-image:none}.fleet-inline-editable.is-editing{background:#f6faf6}
.fleet-category-card{min-height:135px}.fleet-category-list{display:grid;gap:7px;font-size:12px}.fleet-category-list div{display:flex;justify-content:space-between;gap:12px}.fleet-category-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-category-list strong{font-variant-numeric:tabular-nums}.fleet-kpi-placeholder{background:#fff}
.fleet-card-operators .button,.fleet-card-note .button{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.fleet-card-operator-options{display:grid;gap:3px;max-height:320px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:8px}.fleet-card-operator-options label{display:flex;align-items:center;gap:7px;padding:7px;cursor:pointer}.fleet-card-operator-options label:hover{background:#f4f7f1}.fleet-card-operator-options input{accent-color:var(--green)}
.fleet-card-operators .fleet-card-operators-empty{border-color:#e4c98c;background:#fff5df;color:#91651d;font-weight:750}.fleet-card-operators .fleet-card-operators-empty:hover{background:#fcebc9}
.fleet-category-total{margin-top:2px;padding-top:7px;border-top:1px solid var(--line);font-weight:700}
.fleet-collection-card{grid-column:span 3;min-width:0;overflow:hidden}.fleet-collection-table{width:100%;max-width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:12px}.fleet-collection-table th,.fleet-collection-table td{padding:5px 4px;text-align:center;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.fleet-collection-table th{font-size:9px;line-height:1.1;color:#829188;text-transform:uppercase;font-weight:700;white-space:normal}.fleet-collection-table th:first-child,.fleet-collection-table td:first-child{width:40%;padding-left:0;text-align:left;white-space:nowrap}.fleet-collection-table th:nth-child(2),.fleet-collection-table td:nth-child(2),.fleet-collection-table th:nth-child(3),.fleet-collection-table td:nth-child(3){width:10%}.fleet-collection-table th:nth-child(4),.fleet-collection-table td:nth-child(4){width:12%}.fleet-collection-table th:nth-child(5),.fleet-collection-table td:nth-child(5){width:16%}.fleet-collection-table td:not(:first-child){font-weight:700}.fleet-collection-table .is-zero{opacity:.28}.fleet-collection-table .fleet-collection-total td{padding-top:9px;border-top:1px solid var(--line);font-weight:700}.fleet-collection-table th:nth-child(6),.fleet-collection-table td:nth-child(6){width:12%}
.fleet-collection-filter{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-transform:inherit;cursor:pointer;max-width:100%;white-space:normal}.fleet-collection-filter:hover,.fleet-collection-filter:focus-visible,.fleet-collection-filter.is-active{color:var(--green);text-decoration:underline;text-underline-offset:3px}.fleet-collection-detail{grid-column:span 3;min-width:0;min-height:135px}.fleet-collection-detail h3{margin:7px 0 12px;font-size:14px}.fleet-collection-empty{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.fleet-collection-municipalities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fleet-collection-municipalities section{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.fleet-collection-municipalities h4{margin:0 0 7px;color:var(--green);font-size:12px}.fleet-collection-municipalities ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.fleet-collection-municipalities li{display:flex;justify-content:space-between;gap:8px;font-size:11px}.fleet-collection-municipalities li span{color:var(--muted);text-align:right}@media(max-width:900px){.fleet-collection-card,.fleet-collection-detail{grid-column:span 2}.fleet-collection-municipalities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.fleet-collection-card,.fleet-collection-detail{grid-column:span 1}.fleet-collection-municipalities{grid-template-columns:1fr}}
.fleet-repair-trigger{min-width:34px;padding:4px 7px}.fleet-repair-trigger.is-active{border-color:#d59448;background:#fff1dc}.fleet-repair-history{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.fleet-repair-history>strong,.fleet-repair-history>span{display:block}.fleet-repair-history>span{font-size:12px;color:var(--muted)}.fleet-repair-history p{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);line-height:1.5;white-space:pre-wrap}.fleet-repair-history small,.fleet-source-note{color:var(--muted);font-size:12px}
#fleet-table-fleet-dashboard-v3 tbody tr.fleet-repairing > td{background:#fff8e6}#fleet-table-fleet-dashboard-v3 tbody tr.fleet-repairing:hover > td{background:#fff2cf}#fleet-table-fleet-dashboard-v3 tbody tr.fleet-repairing > td:first-child{box-shadow:inset 3px 0 #e6ad50}
.fleet-collection-table .fleet-availability-reduced{color:#946719;white-space:nowrap}.fleet-availability-reduced s{color:var(--muted);font-weight:400}.fleet-availability-reduced strong{color:var(--ink)}.fleet-unavailable-plate{text-decoration:line-through;color:#946719}
.badge.fleet-repair-status{background:#fff0c2;color:#8a641b;border:1px solid #ead090;white-space:nowrap}
.fleet-category-filters{display:flex;gap:12px;align-items:stretch;margin:0 0 14px}.fleet-category-all{flex-direction:column;min-width:68px;padding:12px}.fleet-category-all span{font-size:18px}.fleet-category-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;flex:1;min-width:0}.fleet-category-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:5px 8px 10px;min-width:0;transition:background .15s,border-color .15s}.fleet-category-choice svg{width:100%;max-width:125px;height:70px;display:block}.fleet-category-caption{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650;color:var(--ink);flex-wrap:wrap}.fleet-category-caption small{padding:2px 6px;border-radius:9px;background:#eef2ed;color:var(--muted);font-size:11px}.fleet-category-choice:hover{background:#f5f8f3}.fleet-category-choice[aria-pressed="true"],.fleet-category-all[aria-pressed="true"]{border-color:var(--green);background:#e7efe9;box-shadow:inset 0 0 0 1px var(--green)}.fleet-category-hidden{display:none!important}@media(max-width:1000px){.fleet-category-options{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.fleet-category-filters{flex-direction:column;gap:8px}.fleet-category-all{flex-direction:row;align-self:flex-start;padding:7px 12px}.fleet-category-all span{font-size:12px}.fleet-category-options{gap:6px}.fleet-category-choice{padding:3px 4px 8px}.fleet-category-choice svg{height:54px}.fleet-category-caption{font-size:10px;gap:4px}}
.fleet-collection-card,.fleet-collection-detail{grid-column:1/-1;max-width:100%}
.fleet-kpis[hidden]{display:none}
.fleet-collection-scroll{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.fleet-collection-scroll .fleet-collection-table{max-width:none}
.fleet-collection-table[data-table-column-resize-ready] th,.fleet-collection-table[data-table-column-resize-ready] td{width:auto}
.fleet-collection-table th{overflow-wrap:anywhere}
.fleet-collection-municipalities{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.fleet-collection-municipalities section{min-width:0}
.fleet-collection-municipalities h4{overflow-wrap:anywhere}
.fleet-collection-municipalities li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:3px;padding:6px 0}
.fleet-collection-municipalities li strong{grid-column:1;min-width:0;overflow-wrap:anywhere}
.fleet-collection-municipalities li span{grid-column:1;grid-row:2;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.fleet-collection-municipalities li .button{grid-column:2;grid-row:1/span 2;max-width:100%}
.fleet-repair-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.fleet-repair-history-head strong,.fleet-repair-history-head small{min-width:0;overflow-wrap:anywhere}
.fleet-repair-history-head .button{flex:0 0 auto}
.fleet-repair-history-entry{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}
.fleet-repair-history-entry span,.fleet-repair-revisions span{display:block;white-space:pre-wrap;overflow-wrap:anywhere}
.fleet-repair-revisions{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.fleet-repair-revisions summary{cursor:pointer;font-weight:600}
.fleet-vehicles-scroll{max-height:none}
.fleet-fuel-filter-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:18px}.fleet-fuel-filter-form>label{display:flex;flex:1 1 170px;flex-direction:column;gap:6px;min-width:0}.fleet-fuel-filter-form select,.fleet-fuel-filter-form input{width:100%;min-width:0}.fleet-fuel-filter-form .form-error{flex-basis:100%;margin:0}.fleet-fuel-operator-summary{margin:14px 0}.fleet-fuel-operator-summary summary{cursor:pointer;font-weight:600}.fleet-fuel-operator-summary ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;gap:8px 20px;padding:12px 0;margin:0}.fleet-fuel-operator-summary li{display:flex;justify-content:space-between;gap:12px}.fleet-fuel-operator-summary span{white-space:nowrap;color:var(--muted)}
#fleet-table-fleet-dashboard-v3 tbody td{padding:8px 10px;line-height:1.3}
#fleet-table-fleet-dashboard-v3 tbody .button.small{padding:4px 6px}
#fleet-table-fleet-dashboard-v3 tbody .fleet-inline-input{padding:4px 6px}
#fleet-table-fleet-dashboard-v3 tbody .fleet-geotab-link{margin-top:0}
.workshop-waste-kpis .workshop-waste-site,.workshop-waste-kpis .workshop-waste-status{font-size:clamp(15px,1.7vw,24px);overflow-wrap:anywhere}.workshop-waste-hp{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px;border:1px solid var(--line);border-radius:8px;padding:12px}.workshop-waste-hp legend{padding:0 6px;font-weight:700}.workshop-waste-hp label{display:flex;align-items:center;gap:5px}.workshop-waste-kpis small{font-size:.5em}@media(max-width:740px){.workshop-waste-kpis{grid-template-columns:1fr}.workshop-waste-hp{grid-template-columns:repeat(3,minmax(0,1fr))}}
.workshop-waste-deadline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px}.workshop-waste-deadline-grid .stat{margin:0}.workshop-waste-deadline-grid .stat-value{font-size:22px}@media(max-width:740px){.workshop-waste-deadline-grid{grid-template-columns:1fr;padding:0 14px 14px}}

.fleet-fuel-panel .fleet-fuel-cmz-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.fleet-fuel-cmz-kpis>.stat{grid-column:auto}@media(max-width:1000px){.fleet-fuel-panel .fleet-fuel-cmz-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.fleet-fuel-panel .fleet-fuel-cmz-kpis{grid-template-columns:1fr}}

/* Modulo autisti, accessibile dal QR specifico del mezzo. */
.fleet-driver-report{margin:0;background:#f3f6f4;color:#18352c;font:16px/1.5 system-ui,sans-serif}.fleet-driver-report main{box-sizing:border-box;max-width:540px;margin:24px auto;padding:24px;background:#fff;border:1px solid #d7e3dc;border-radius:16px}.fleet-driver-report h1{font-size:36px;margin:4px 0;letter-spacing:.04em}.fleet-driver-report .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:#527165}.fleet-driver-report label{display:block;font-weight:600;margin:18px 0}.fleet-driver-report input,.fleet-driver-report textarea,.fleet-driver-report select{display:block;box-sizing:border-box;width:100%;font:inherit;font-weight:400;padding:12px;margin-top:6px;border:1px solid #a9bbb1;border-radius:8px;background:#fff;color:#18352c}.fleet-driver-report input:focus,.fleet-driver-report textarea:focus,.fleet-driver-report select:focus{outline:3px solid #bedbce;outline-offset:2px}.fleet-driver-report button{font:inherit;font-weight:700;width:100%;padding:14px;border:0;border-radius:8px;background:#214e41;color:white;cursor:pointer}.fleet-driver-report button:disabled{opacity:.6;cursor:wait}.fleet-driver-note{font-size:13px;color:#52665c}.fleet-driver-report [hidden]{display:none!important}#driver-report-error{padding:12px;background:#fff0ee;color:#9a261b;border-radius:8px}.fleet-driver-qr-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-height:60vh;overflow:auto;margin-top:16px}.fleet-driver-qr-list article{border:1px solid #d7e3dc;padding:16px;text-align:center;border-radius:10px}.fleet-driver-qr-list svg{display:block;width:190px;max-width:100%;height:auto;margin:8px auto}.fleet-driver-qr-list h3{font-size:22px;margin:0}@media(max-width:560px){.fleet-driver-report main{margin:0;min-height:100vh;border:0;border-radius:0;padding:20px}}
/* Richiami Mezzi leggibili anche senza distinguere i colori. */
.fleet-recall-panel{border:2px solid #ae3b26;padding:18px;margin-bottom:20px}
.fleet-recall-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(180px,1.4fr);gap:20px;border-top:1px solid #e8d6cd;padding:18px 0;align-items:start}
.fleet-recall-card>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.fleet-recall-label{font-weight:800;color:#a12418}
.fleet-recall-plate{font-size:clamp(24px,3vw,36px);letter-spacing:.06em;line-height:1.2;overflow-wrap:anywhere}
.fleet-recall-card p{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.fleet-recall-substitute{border-left:5px solid #267452;padding-left:14px}
.fleet-recall-substitute>span:first-child{font-weight:800;color:#205b40}
.fleet-recall-substitute.is-missing{border-color:#b47720}
.fleet-recall-substitute.is-missing>span:first-child{color:#83560d}
@media(max-width:700px){.fleet-recall-card{grid-template-columns:1fr;gap:14px}.fleet-recall-panel .panel-head{flex-wrap:wrap}}
