/* v28 mobile/desktop fixes — red, orange, blue and graphite; no violet. */
.task-priority-overlay{position:fixed!important;inset:0!important;z-index:9900!important;align-items:center!important;padding:calc(env(safe-area-inset-top,0px) + 14px) 13px calc(env(safe-area-inset-bottom,0px) + 14px);overflow-y:auto}
.task-priority-sheet{max-height:calc(100dvh - 35px);overflow:auto;border-radius:21px!important;padding:17px!important;margin:auto;width:min(540px,100%)}
.task-priority-choice{margin:5px 0;min-height:53px}
.task-priority-sheet-head{position:sticky;top:0;background:var(--surface);z-index:1;padding-bottom:6px}
.fleet-quick-modal{position:fixed;inset:0;z-index:9940;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px calc(env(safe-area-inset-bottom,0px) + 12px)}
.fleet-quick-dim{position:absolute;inset:0;background:#0a101cbd;backdrop-filter:blur(7px)}
.fleet-quick-sheet{position:relative;z-index:1;background:var(--surface);color:inherit;border-radius:22px;padding:20px;width:min(490px,100%);max-height:calc(100dvh - 30px);overflow-y:auto;box-shadow:0 22px 65px #080e1870}
.fleet-quick-sheet h3{margin:0 0 11px;font-size:19px}
.fleet-quick-sheet input{width:100%;margin:6px 0 12px;min-height:43px}
.fleet-quick-sheet label{display:block;font-size:12px;font-weight:700}
.fleet-task-picker-list{display:grid;gap:6px;overflow-y:auto;max-height:min(55dvh,460px);margin:11px 0}
.fleet-task-picker-list button{width:100%;background:var(--shade);color:inherit;border:1px solid var(--line);border-radius:11px;box-shadow:none;padding:11px;text-align:left;font-size:13px}
.fleet-task-picker-list button[hidden]{display:none!important}
.fleet-task-title-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}
.fleet-task-title-actions button{font-size:11px;min-height:36px;padding:8px 10px}
.fleet-task-title-actions button .tile-icon{width:15px;height:15px}
.fleet-task-queue{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.fleet-queued-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;border-radius:12px;background:#e9f2ff;border:1px solid #a5c4e3;padding:7px 8px 7px 12px;color:#174363;font-size:11px}
.fleet-queued-chip strong{overflow-wrap:anywhere}
.fleet-queued-chip button{background:#fff;color:#a7242e;border:0;border-radius:8px;width:25px;height:25px;padding:0;min-height:25px;font-size:20px;box-shadow:none}
.fleet-task-queue>small{width:100%;color:var(--muted);font-size:11px}
.task-hint-chip:nth-child(4n+1){background:#eaf3ff;border-color:#b8d5ed;color:#25577d}
.task-hint-chip:nth-child(4n+2){background:#fff1e5;border-color:#f2cc9f;color:#99530c}
.task-hint-chip:nth-child(4n+3){background:#e7f5ef;border-color:#b0ddc7;color:#266b50}
.task-hint-chip:nth-child(4n+4){background:#ffeded;border-color:#ebbac0;color:#a52d3a}
.task-hint-chip{font-size:11px;font-weight:750}
.fleet-driver-chooser .fleet-row-control{display:flex;gap:8px;align-items:stretch}
.fleet-driver-chooser select{flex:1;min-width:0}
.fleet-driver-chooser button{font-size:12px;white-space:nowrap;padding:7px 11px}
.fleet-period-box{border:1px solid var(--line);border-radius:15px;background:var(--shade);padding:12px}
.fleet-period-box h4{margin:0 0 5px;font-size:14px}
.fleet-period-box>.hint{font-size:11px}
.fleet-period-line{border-top:1px solid var(--line);padding:10px 0 7px}
.fleet-period-line>strong{display:block;font-size:12px;margin-bottom:5px}
.fleet-period-line>div{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.fleet-period-line label{font-size:11px;color:var(--muted)}
.fleet-period-line input{width:100%;min-width:0;min-height:39px;margin:5px 0}
.fleet-period-line>small{display:block;font-size:11px;color:#b5222e}
.fleet-v28-list{display:grid;gap:7px}
.fleet-v28-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;position:relative;width:100%;padding:11px 32px 11px 12px;border-radius:12px;background:var(--shade);color:inherit;border:1px solid var(--line);box-shadow:none}
.fleet-v28-row strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.fleet-v28-row small{font-size:11px;line-height:1.4;color:var(--muted);margin-top:4px}
.fleet-v28-row>.tile-icon{position:absolute;right:11px;top:calc(50% - 8px);width:16px;height:16px;color:#b72d37}
.fleet-v28-all{justify-self:end;display:flex;align-items:center;gap:5px;border-radius:10px;background:var(--shade);border:1px solid var(--line);font-size:11px;font-weight:750;color:inherit;padding:8px 10px;box-shadow:none}
.fleet-v28-all svg{width:15px;height:15px}
#bell.fleet-has-unread{border-color:#e54e55;background:#431722;box-shadow:0 0 0 3px #bd24322d}
#bell.fleet-has-unread svg{stroke:#fff;transform-origin:50% 10%;animation:fleetBellSwing28 2.8s ease-in-out infinite}
#bell.fleet-has-unread #bellcount{background:#e6373d;color:#fff;border-radius:20px;padding:2px 6px;font-weight:900;animation:fleetBellPulse28 1.8s infinite}
@keyframes fleetBellSwing28{0%,70%,100%{transform:rotate(0)}77%{transform:rotate(15deg)}84%{transform:rotate(-12deg)}90%{transform:rotate(7deg)}95%{transform:rotate(-3deg)}}
@keyframes fleetBellPulse28{50%{box-shadow:0 0 0 6px #e83c4040}}
.fleet-home-part-expenses .fleet-cost-grid{gap:7px!important}
.fleet-home-part-expenses button{font-size:11px;min-height:35px;padding:7px 10px}
.fleet-home-part-expenses .fleet-cost-section{padding:10px}
@media(max-width:530px){
 .fleet-driver-chooser .fleet-row-control{flex-direction:column}
 .fleet-driver-chooser button{width:100%}
 .fleet-period-line>div{grid-template-columns:1.5fr 1fr}
 .task-priority-sheet{padding:12px!important}
 .fleet-home-part-expenses .fleet-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){#bell.fleet-has-unread svg,#bell.fleet-has-unread #bellcount{animation:none!important}}
body.lowmotion #bell.fleet-has-unread svg,body.lowmotion #bell.fleet-has-unread #bellcount{animation:none!important}

.fleet-role-selected{display:flex;align-items:center;gap:9px;width:100%;background:var(--shade);border:1px solid var(--line);color:inherit;box-shadow:none;text-align:left}
.fleet-role-selected span{flex:1}
.fleet-role-selected .tile-icon{width:19px;height:19px;color:#bd2736}
.fleet-role-choices{display:grid;gap:8px;margin:14px 0}
.fleet-role-option{display:flex;align-items:center;gap:11px;width:100%;min-height:62px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--shade);color:inherit;text-align:left;box-shadow:none}
.fleet-role-option>.tile-icon{width:25px;height:25px;color:#bb2834;flex:0 0 25px}
.fleet-role-option.fleet-role-dispatcher>.tile-icon{color:#356fa5}
.fleet-role-option.fleet-role-mechanic>.tile-icon{color:#c77b24}
.fleet-role-option.fleet-role-driver>.tile-icon{color:#26815d}
.fleet-role-option span{display:grid;gap:3px}
.fleet-role-option strong{font-size:13px}
.fleet-role-option small{font-size:11px;color:var(--muted)}
.fleet-admin-driver-select{padding:12px;border-radius:14px;background:var(--shade);border:1px solid var(--line);margin:11px 0}
.fleet-admin-driver-select .fleet-row-control{display:flex;gap:7px;align-items:center}
.fleet-admin-driver-select select{flex:1;min-width:0}
.fleet-admin-driver-select button{font-size:11px;white-space:nowrap;padding:9px}
.fleet-admin-driver-select .hint{font-size:11px;margin:6px 0 0}
.fleet-system-permission-hint{padding:13px}
.fleet-system-permission-hint strong{font-size:14px}
.fleet-system-permission-hint p{margin:5px 0 0;font-size:12px;color:var(--muted)}
.fleet-driver-choice-list{grid-column:1/-1;display:grid;gap:7px;margin:7px 0}
.fleet-driver-choice-list>strong{font-size:13px}
@media(max-width:540px){.fleet-admin-driver-select .fleet-row-control{flex-direction:column}.fleet-admin-driver-select button{width:100%}}

/* Urgent operator signal; only after explicit sender action, with server acknowledgement. */
.fleet-urgent-actions{padding:14px}
.fleet-urgent-actions button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:linear-gradient(125deg,#d52d38,#991520);color:#fff}
.fleet-urgent-actions svg{width:20px;height:20px}
.fleet-urgent-list{display:grid;gap:8px;padding:15px}
.fleet-urgent-list h3{font-size:15px;margin:0 0 4px}
.fleet-urgent-list button{display:flex;align-items:center;gap:8px;text-align:left}
.fleet-urgent-list svg{width:18px;height:18px;color:#c42633}
.fleet-emergency-check{display:flex!important;align-items:center;gap:10px;padding:10px;border:1px solid #da5660;border-radius:12px;background:#fff1ee;color:#81212c;font-size:12px!important;margin:10px 0!important}
.fleet-emergency-check input{min-height:20px;width:20px;min-width:20px;accent-color:#c5202d}
.fleet-emergency-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 15px) 14px calc(env(safe-area-inset-bottom,0px) + 15px)}
.fleet-emergency-backdrop{position:absolute;inset:0;background:#08080fe0;backdrop-filter:blur(12px)}
.fleet-emergency-panel{width:min(480px,100%);max-height:calc(100dvh - 28px);overflow-y:auto;position:relative;z-index:1;text-align:center;padding:24px 19px 19px;border:1px solid #ec5962;border-radius:24px;background:linear-gradient(170deg,#1c1f29,#101218);box-shadow:0 0 70px #e72f3851;color:#fff}
.fleet-emergency-panel h2{font-size:18px;font-weight:900;color:#ff888d;letter-spacing:1px;text-shadow:0 0 21px #e52c3877;margin:10px 0}
.fleet-emergency-car{display:block;font-size:12px;color:#f2cbcf}
.fleet-emergency-message{font-size:17px;font-weight:800;line-height:1.45;color:#fff;margin:18px 0}
.fleet-emergency-comment{font-size:13px;line-height:1.5;color:#e6c1c4}
.fleet-emergency-panel small{display:block;color:#b5b9c5;font-size:11px}
.fleet-emergency-panel>button{width:100%;margin-top:18px;display:flex;gap:8px;align-items:center;justify-content:center;min-height:47px;background:#d22d35;border:1px solid #f37476;font-size:13px}
.fleet-emergency-panel>button svg{width:19px;height:19px}
.fleet-emergency-beacon{position:relative;margin:0 auto;width:130px;height:110px;filter:drop-shadow(0 0 24px #eb192f9c)}
.fleet-emergency-lens{position:absolute;z-index:2;left:28px;top:14px;width:74px;height:66px;border-radius:36px 36px 9px 9px;background:linear-gradient(100deg,#70101a,#f92439 37%,#ff6b60 53%,#bd1525 80%,#710811);border:2px solid #ff7776;box-shadow:inset 0 0 15px #fff6,0 0 16px #fa2235a3}
.fleet-emergency-base{position:absolute;z-index:3;left:17px;top:77px;width:96px;height:14px;border-radius:5px;background:linear-gradient(#68717e,#171a22);box-shadow:0 6px 14px #0008}
.fleet-emergency-beam{position:absolute;z-index:1;left:-54px;top:-58px;width:240px;height:185px;background:conic-gradient(from 0deg,transparent 0 40deg,#ff273c77 48deg,transparent 87deg,transparent 220deg,#f7364e83 228deg,transparent 267deg);border-radius:50%;animation:fleetBeaconSweep 1.65s linear infinite;filter:blur(12px)}
@keyframes fleetBeaconSweep{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fleet-emergency-beam{animation:none!important}}
body.lowmotion .fleet-emergency-beam{animation:none!important}
