.driver-fleet,.driver-timeline{padding:22px;border:1px solid #25878d55;border-radius:18px;margin:18px 0;background:linear-gradient(135deg,#10323d99,#101a2999)}
.driver-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;margin:20px 0;background:linear-gradient(115deg,#122c39,#152334);border:1px solid #55dccc35;border-radius:22px}.driver-entry strong{font-size:20px;color:#c5fff3}.driver-entry p{margin:7px 0 0;color:#a6bac7}.driver-entry .button{box-shadow:0 0 24px #39d5be20}.driver-dialog[open]{animation:driver-enter .28s ease-out;box-shadow:0 30px 100px #0009,0 0 40px #34cbb51a}.driver-dialog::backdrop{backdrop-filter:blur(7px);animation:driver-fade .2s ease-out}.driver-dialog .driver-vehicle{border:1px solid #8fe8dc22;border-radius:18px;padding:20px;margin:16px 0;background:linear-gradient(135deg,#18333d,#142532)}.driver-dialog .driver-fleet{padding:0;border:0;background:none}.driver-quick{padding:14px 16px;border:1px solid #6bc8bc25;border-radius:16px;background:#18303955;margin:12px 0}.driver-live{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:650}.driver-live i,.driver-status i{width:9px;height:9px;border-radius:50%;background:#78929b;flex:none}.driver-live.is-active i{background:#70f5ae;box-shadow:0 0 5px #70f5ae,0 0 14px #45e994a0;animation:driver-led 2.4s ease-in-out infinite}.driver-status{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:12px 0;border:1px solid #58d9c438;background:#1c615323;border-radius:13px;font-weight:650;color:#aaf6df;flex-wrap:wrap}.driver-status i{background:#5edcc2;box-shadow:0 0 10px #5edcc266}.driver-status small{font-size:11px;color:#a6bac7;font-weight:400;margin-left:auto}.driver-inline-select{display:grid;gap:7px;margin:12px 0;font-size:12px;color:#b5cbd3}.driver-inline-select select{max-width:100%;padding:12px;border:1px solid #5dd9c443;border-radius:12px;background:#142a37;color:#e9ffff;font:inherit;font-size:14px}.driver-map-buttons{position:absolute;right:12px;top:12px;display:grid;gap:5px;z-index:3}.driver-map-buttons button{width:40px;height:40px;border:1px solid #a2e9df66;border-radius:10px;background:#142735;color:white;font-size:24px;cursor:pointer}.driver-map{cursor:grab}.driver-map:active{cursor:grabbing}.driver-address-field{position:relative;display:grid;gap:7px}.driver-address-results{display:grid;gap:3px;max-height:260px;overflow:auto;background:#122838;border-radius:12px}.driver-address-results:empty{display:none}.driver-address-results button{padding:12px 14px;text-align:left;border:1px solid transparent;background:transparent;color:#e6f5fc;cursor:pointer;border-radius:8px}.driver-address-results button:hover,.driver-address-results button.selected{background:#246052;border-color:#6bdcc4}.driver-address-field small,.driver-muted{font-size:12px;color:#acc1cb}.driver-unread{animation:driver-notice 1.8s ease-in-out infinite;position:relative}.driver-unread:after{content:"";width:7px;height:7px;border-radius:50%;background:#83ffe0;box-shadow:0 0 9px #83ffe0;position:absolute;right:8px;top:8px}.driver-dialog .driver-gps{display:flex}.driver-dialog .driver-gps input{width:44px;padding:0}.driver-gps input{transition:background .2s}.driver-actions button{transition:transform .15s,box-shadow .2s}.driver-actions button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0003}
@keyframes driver-enter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes driver-fade{from{opacity:0}to{opacity:1}}@keyframes driver-led{50%{box-shadow:0 0 7px #70f5ae,0 0 19px #45e99470}}@keyframes driver-notice{50%{box-shadow:inset 0 0 20px #60e9cb35,0 0 16px #60e9cb30;background-color:#2c675e55}}@media(prefers-reduced-motion:reduce){.driver-dialog[open],.driver-dialog::backdrop,.driver-unread,.driver-live.is-active i{animation:none}.driver-unread{box-shadow:inset 0 0 0 2px #60e9cb}.driver-actions button{transition:none}}@media(max-width:540px){.driver-entry{align-items:stretch;flex-direction:column}.driver-entry .button{width:100%}.driver-status small{width:100%;margin-left:18px}}
.driver-vehicle{border-top:1px solid #ffffff20;padding:20px 0}.driver-vehicle:last-child{padding-bottom:0}.driver-vehicle p{margin:8px 0}.driver-vehicle-head,.driver-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.driver-vehicle-head{justify-content:space-between}.driver-actions{margin-top:14px}.driver-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.driver-dialog{background:#101e2c;color:#eef9ff;border:1px solid #319faaaa;border-radius:20px;padding:24px;width:min(680px,94vw);max-height:90dvh;overflow:auto}.driver-dialog::backdrop{background:#000a}.driver-dialog label{display:grid;gap:6px;margin:12px 0}.driver-dialog input,.driver-dialog select{min-width:0;width:100%;padding:11px;border-radius:8px;border:1px solid #617a8a;background:#182e40;color:white}.driver-dialog fieldset{border:1px solid #526779;border-radius:10px;margin:16px 0;padding:12px}.driver-dialog .driver-check{display:flex;align-items:start}.driver-check input{width:20px}.driver-dialog [data-error],.driver-fleet [data-driver-error]{color:#ffc179}.driver-code{font-size:30px;letter-spacing:3px;font-weight:700;text-align:center;color:#6fe9d6}.driver-timeline ol{display:grid;gap:12px;list-style:none;padding:0}.driver-timeline li{border-left:3px solid #39cfb2;padding-left:14px;display:grid;gap:3px}.driver-timeline time,.driver-timeline small{font-size:12px;opacity:.8}.driver-map{height:320px;position:relative;overflow:hidden;background:#243b4c;border-radius:12px}.driver-map img{position:absolute;width:256px;height:256px;max-width:none}.driver-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px;color:#ed573d;text-shadow:0 0 3px white;z-index:2}@media(max-width:540px){.driver-fields{grid-template-columns:1fr}.driver-dialog{padding:16px}.driver-actions .button{flex:1 1 45%;font-size:12px}.driver-code{font-size:24px}}
.driver-gps{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:600}.driver-gps input{appearance:none;width:44px;height:26px;border-radius:20px;background:#607080;position:relative;cursor:pointer;flex:none;border:0}.driver-gps input:before{content:"";position:absolute;width:20px;height:20px;top:3px;left:3px;border-radius:50%;background:white;transition:transform .15s}.driver-gps input:checked{background:#178976}.driver-gps input:checked:before{transform:translateX(18px)}.driver-gps input:focus-visible{outline:2px solid white;outline-offset:3px}

.driver-map{user-select:none;-webkit-user-select:none;isolation:isolate}.driver-map-scene{position:absolute;inset:0;pointer-events:none}.driver-map img{user-select:none;-webkit-user-drag:none;pointer-events:none}.driver-pin{pointer-events:none;filter:drop-shadow(0 0 5px #fff8)}

/* Přesný start / cíl: mapa je vždy v samostatném modal top-layer přes celou obrazovku. */
.driver-dialog.driver-exact-map-dialog{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px 22px;border-radius:0;overflow:hidden}
.driver-dialog.driver-exact-map-dialog::backdrop{background:#000d;backdrop-filter:blur(9px)}
.driver-dialog.driver-exact-map-dialog>form{display:flex;flex-direction:column;height:calc(100dvh - 36px);min-height:0}
.driver-dialog.driver-exact-map-dialog .driver-map{flex:1 1 auto;width:100%;height:auto;min-height:360px;border-radius:14px}
.driver-dialog.driver-exact-map-dialog .driver-address-field{flex:0 0 auto}
.driver-dialog.driver-exact-map-dialog .driver-actions{flex:0 0 auto}
.driver-dialog.driver-exact-map-dialog [data-chosen]{flex:0 0 auto;margin:8px 0}
.driver-dialog.driver-exact-map-dialog [data-error]{flex:0 0 auto;margin:4px 0}
@media(max-width:540px){.driver-dialog.driver-exact-map-dialog{padding:12px}.driver-dialog.driver-exact-map-dialog>form{height:calc(100dvh - 24px)}.driver-dialog.driver-exact-map-dialog .driver-map{min-height:260px}}

/* GPS patří přímo ke konkrétní kartě vozidla; logika zůstává beze změny. */
.driver-card-gps{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:10px 0 2px;border:1px solid #62d8c82b;border-radius:13px;background:linear-gradient(120deg,#15313a7a,#14273555)}
.driver-card-gps-state{display:grid;gap:3px;min-width:0}
.driver-card-gps-state small{color:#9fb8c2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-card-gps-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.driver-card-gps .driver-gps{margin:0;font-size:11px;white-space:nowrap}
.driver-card-gps .driver-gps-manage{min-height:32px;padding:6px 10px;font-size:11px;white-space:nowrap}
.driver-quick-loading{padding:9px 11px;margin:10px 0 2px;border:1px dashed #62d8c82b;border-radius:12px;background:#15313a35}
@media(max-width:720px){.driver-card-gps{align-items:stretch;flex-direction:column}.driver-card-gps-actions{justify-content:space-between}.driver-card-gps .driver-gps-manage{flex:0 0 auto}}

.driver-card-gps-unassigned{border-style:dashed}
.driver-card-gps-unassigned .driver-live i{background:#d6ae59;box-shadow:0 0 10px #d6ae5944}
.driver-card-gps-unassigned .driver-gps-manage{min-width:126px}
