:root{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--paper:#fff;--soft:#f4f5f7;--accent:#16a34a;--accent2:#0f7a36}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--soft)}a{color:inherit}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-1px}.brand span{color:var(--accent)}nav{display:flex;gap:18px;align-items:center}nav a,.link-button{text-decoration:none;font:inherit;border:0;background:none;cursor:pointer}.pill{background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}.inline{display:inline}main{min-height:calc(100vh - 136px)}footer{padding:24px;text-align:center;color:var(--muted);font-size:13px}.hero{max-width:1180px;margin:auto;min-height:650px;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;padding:70px 24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--accent2)}h1{font-size:clamp(38px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:16px 0 24px}h2{font-size:22px}.hero p{font-size:20px;line-height:1.6;color:var(--muted);max-width:650px}.actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:14px 20px;font-weight:800;text-decoration:none;cursor:pointer;font-size:15px}.primary{background:var(--ink);color:#fff}.primary:hover{background:#000}.secondary{background:#fff;border:1px solid var(--line)}.full{width:100%}.phone-card{background:var(--ink);color:#fff;border-radius:32px;padding:38px;box-shadow:0 30px 70px #11182733;min-height:430px}.phone-card strong,.phone-card small{display:block;margin-left:32px}.phone-card small{color:#9ca3af;margin-top:6px}.route-dot{width:14px;height:14px;border:3px solid #fff;border-radius:50%;float:left}.route-dot.destination{border-radius:3px;background:var(--accent);border-color:var(--accent)}.route-line{height:95px;border-left:2px dashed #4b5563;margin:12px 0 12px 6px}.price-preview{margin-top:50px;padding:22px;border-radius:18px;background:#1f2937;display:flex;justify-content:space-between;gap:20px}.price-preview span{color:#9ca3af}.features{max-width:1180px;margin:0 auto 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 24px}.features article{background:#fff;padding:30px;border-radius:20px}.features b{color:var(--accent)}.features p{color:var(--muted)}.panel{max-width:1050px;margin:50px auto;background:#fff;border-radius:22px;padding:34px;box-shadow:0 10px 30px #1118270d}.narrow{max-width:620px}.panel h1{font-size:42px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.form p,.form label{display:block;margin:0 0 18px;font-weight:700}.form input,.form textarea,.form select{width:100%;margin-top:8px;border:1px solid #d1d5db;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.form ul{color:#b91c1c}.two-cols{display:grid;grid-template-columns:2fr 1fr;gap:14px}.booking-grid{display:grid;grid-template-columns:minmax(390px,520px) 1fr;min-height:calc(100vh - 72px)}.booking-panel{margin:24px;max-width:none;z-index:2}.booking-panel h1{font-size:42px}.map{min-height:700px}.autocomplete{position:relative}.suggestions{position:absolute;z-index:10;top:100%;left:0;right:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 15px 30px #11182722}.suggestions:empty{display:none}.suggestion{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:12px;text-align:left;background:#fff;cursor:pointer}.suggestion:hover{background:#f3f4f6}.estimate-box{margin-top:16px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;padding:18px}.estimate-box>div{display:flex;justify-content:space-between;margin-bottom:12px}.estimate-box span{color:var(--muted)}.estimate-box strong{font-size:20px}.hidden{display:none}.error,.notice{max-width:1050px;margin:18px auto;padding:14px 18px;border-radius:12px}.error{background:#fef2f2;color:#991b1b}.notice{background:#ecfdf5;color:#166534}.booking-list{border-top:1px solid var(--line)}.booking-row{display:flex;justify-content:space-between;gap:20px;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none}.booking-row div:last-child{text-align:right}.booking-row span{display:block;color:var(--muted);margin-top:6px}.empty{padding:30px;text-align:center;color:var(--muted)}.details{display:grid;grid-template-columns:130px 1fr;gap:14px 20px}.details dt{font-weight:800}.details dd{margin:0;color:#374151}.big-price{font-size:28px;font-weight:900;color:var(--ink)!important}@media(max-width:850px){.topbar{height:auto;min-height:64px;padding:14px 18px}.topbar nav{gap:12px;font-size:13px}.topbar nav a:not(.pill):nth-child(2){display:none}.hero{grid-template-columns:1fr;gap:40px;padding-top:45px}.features{grid-template-columns:1fr}.booking-grid{display:flex;flex-direction:column}.booking-panel{margin:12px}.map{min-height:350px;order:-1}.two-cols{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.booking-row{flex-direction:column}.booking-row div:last-child{text-align:left}}@media(max-width:540px){nav .pill{display:none}.hero h1{font-size:48px}.actions{flex-direction:column}.phone-card{border-radius:20px}.panel{margin:12px;padding:22px}.details{grid-template-columns:1fr}.details dt{margin-top:10px}}

/* FairDrive 0.2: Disposition und Fahrer-App */
.status{display:inline-flex!important;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;font-size:12px!important;font-weight:800;line-height:1.2;background:#eef2ff;color:#3730a3}.status-requested{background:#fff7ed;color:#9a3412}.status-confirmed{background:#eff6ff;color:#1d4ed8}.status-assigned{background:#f5f3ff;color:#6d28d9}.status-driver_accepted{background:#ecfeff;color:#0e7490}.status-en_route{background:#e0f2fe;color:#0369a1}.status-arrived{background:#fef9c3;color:#854d0e}.status-on_trip{background:#dcfce7;color:#166534}.status-completed{background:#f3f4f6;color:#374151}.status-cancelled{background:#fef2f2;color:#991b1b}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.danger-zone{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.success{background:#15803d;color:#fff}.notice.error{background:#fef2f2;color:#991b1b}.workspace{max-width:1420px;margin:0 auto;padding:42px 24px 80px}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:24px}.workspace-head h1{font-size:52px;margin:12px 0}.workspace-head p{color:var(--muted);font-size:17px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats-row>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.stats-row strong{font-size:30px;display:block}.stats-row span{color:var(--muted)}.dispatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dispatch-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 24px #1118270a}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.card-top h2{margin:7px 0 0}.route-compact{display:grid;gap:6px;margin:22px 0;padding:16px;background:#f8fafc;border-radius:14px}.route-compact span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.meta-row{display:flex;flex-wrap:wrap;gap:8px}.meta-row span{padding:7px 10px;background:#f3f4f6;border-radius:9px;font-size:13px;font-weight:700}.internal-note{padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px}.assignment-current{margin-top:14px;color:#374151}.card-actions{display:flex;align-items:flex-end;gap:10px;margin-top:18px}.assignment-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;gap:9px;flex:1}.assignment-form select{min-width:0;border:1px solid #d1d5db;border-radius:11px;padding:11px;background:#fff;font:inherit}.empty-card{grid-column:1/-1;padding:70px;text-align:center;background:#fff;border-radius:20px;color:var(--muted)}

.driver-shell{max-width:880px;margin:0 auto;padding:32px 18px 80px}.driver-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:32px}.driver-header h1{font-size:44px;margin:10px 0 8px}.driver-header p{color:var(--muted);margin:0}.availability{border:0;border-radius:999px;padding:12px 16px;font:inherit;font-weight:800;display:flex;align-items:center;gap:8px;cursor:pointer;background:#e5e7eb;color:#374151}.availability span{width:10px;height:10px;border-radius:50%;background:#9ca3af}.availability.online{background:#dcfce7;color:#166534}.availability.online span{background:#16a34a}.section-title{font-size:18px;margin:30px 0 12px}.driver-jobs{display:grid;gap:11px}.driver-job{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;text-decoration:none;box-shadow:0 7px 20px #11182708}.job-time{display:grid;text-align:center;border-right:1px solid var(--line);padding-right:14px}.job-time strong{font-size:22px}.job-time span{color:var(--muted);font-size:13px}.job-route{display:grid;gap:4px;min-width:0}.job-route strong,.job-route span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-route span,.job-route small{color:var(--muted)}.driver-empty{padding:50px 24px;text-align:center;background:#fff;border-radius:18px;border:1px dashed #cbd5e1;display:grid;gap:8px}.driver-empty span{color:var(--muted)}.muted-jobs{opacity:.76}.back-link{text-decoration:none;font-weight:800;color:#475569}.driver-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:22px 0}.driver-order-head h1{font-size:38px;margin:10px 0}.driver-route-card{background:#111827;color:#fff;border-radius:22px;padding:24px;margin-bottom:16px}.route-stop{display:flex;gap:14px;align-items:flex-start}.route-stop i{width:14px;height:14px;border-radius:50%;border:3px solid #fff;margin-top:3px;flex:0 0 auto}.route-stop.destination i{border-radius:3px;background:#22c55e;border-color:#22c55e}.route-stop div{display:grid;gap:5px}.route-stop small{color:#9ca3af}.route-connector{height:42px;border-left:2px dashed #64748b;margin:6px 0 6px 6px}.driver-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.driver-meta-grid>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;display:grid;gap:5px}.driver-meta-grid small,.driver-note small{color:var(--muted)}.driver-note{background:#fffbeb;border:1px solid #fde68a;border-radius:15px;padding:16px;margin-top:12px}.driver-note p{margin:6px 0 0}.navigation-buttons,.driver-actions{display:grid;gap:10px;margin-top:18px}.nav-button{background:#0f172a;color:#fff}.location-panel{margin-top:24px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.location-panel>div{display:grid;gap:5px}.location-panel span,.location-panel p{color:var(--muted)}.location-panel p{grid-column:1/-1;font-size:13px;margin:0}

@media(max-width:1050px){.dispatch-grid{grid-template-columns:1fr}.assignment-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:760px){.workspace-head,.driver-header,.driver-order-head{flex-direction:column}.stats-row{grid-template-columns:1fr}.assignment-form{grid-template-columns:1fr}.card-actions{align-items:stretch;flex-direction:column}.card-actions form{width:100%}.driver-job{grid-template-columns:58px 1fr}.driver-job>.status{grid-column:2}.driver-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-panel{grid-template-columns:1fr}.location-panel p{grid-column:auto}.workspace{padding:24px 12px 60px}.workspace-head h1{font-size:42px}.driver-header h1{font-size:38px}.detail-title{align-items:flex-start;flex-direction:column}}

/* FairDrive 0.3 – Buchungsart, Automatik und Fahrertracking */
.pickup-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}.pickup-mode label{cursor:pointer}.pickup-mode input{position:absolute;opacity:0;pointer-events:none}.pickup-mode span{display:flex;flex-direction:column;gap:3px;border:1px solid #d7dce4;border-radius:14px;padding:13px;background:#fff}.pickup-mode small{font-size:.78rem;color:#6b7280}.pickup-mode input:checked+span{border-color:#16a34a;background:#ecfdf3;box-shadow:0 0 0 2px rgba(22,163,74,.12)}
.asap-explainer,.dispatch-note{font-size:.85rem;line-height:1.45;color:#475569;background:#f8fafc;border-radius:12px;padding:11px 13px}.availability-message{margin:8px 0 4px;font-size:.84rem;color:#166534}.warning-text{color:#9a3412}.field-error{display:block;color:#b91c1c;font-size:.8rem;margin-top:5px}.customer-eta{display:flex;justify-content:space-between;gap:20px;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:14px;padding:14px;margin:14px 0}.customer-eta span{color:#64748b}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-actions form{margin:0}.manual-assignment{width:100%;border-top:1px solid #e5e7eb;padding-top:10px}.manual-assignment summary{cursor:pointer;font-weight:700;color:#475569}.manual-assignment p{font-size:.8rem;color:#64748b;margin:8px 0}.or-separator{font-size:.8rem;color:#64748b;text-align:center}.settings-panel{max-width:1050px;margin:28px auto}.settings-form{margin-top:22px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.settings-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.settings-grid input{width:100%}.tracking-card{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;padding:14px 16px;margin:14px 0}.tracking-card>div{display:flex;flex-direction:column;gap:3px}.tracking-card span,.tracking-card small{color:#64748b}.tracking-active{background:#ecfdf3;border-color:#bbf7d0}.driver-offer{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px;overflow:hidden}.static-job{border:0;border-radius:0}.offer-actions{display:flex;gap:8px;padding:0 14px 14px}.offer-actions form{flex:1}.offer-actions button{width:100%}
@media(max-width:760px){.pickup-mode,.settings-grid{grid-template-columns:1fr}.header-actions{width:100%}.header-actions .button,.header-actions form{width:100%}.header-actions form button{width:100%}.tracking-card{align-items:flex-start;flex-direction:column}.offer-actions{flex-direction:column}}

/* FairDrive 0.4 – Kunden-Livekarte */
.customer-trip-layout{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:minmax(430px,620px) minmax(520px,1fr);gap:20px;padding:28px 24px 70px;align-items:start}.customer-trip-layout.without-map{display:block;max-width:700px}.customer-trip-panel{width:100%;max-width:none;margin:0}.customer-live-panel{position:sticky;top:92px;display:grid;gap:12px}.customer-trip-map{height:620px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#e5e7eb;box-shadow:0 10px 30px #1118270d}.customer-tracking-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 10px 30px #1118270d}.customer-tracking-card>div:first-child{display:flex;align-items:center;gap:12px}.customer-tracking-card p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.live-indicator{width:12px;height:12px;border-radius:50%;background:#9ca3af;box-shadow:0 0 0 5px #f3f4f6;flex:0 0 auto}.tracking-live .live-indicator{background:#16a34a;box-shadow:0 0 0 5px #dcfce7}.tracking-stale .live-indicator{background:#f59e0b;box-shadow:0 0 0 5px #fef3c7}.tracking-facts{display:grid;gap:4px;text-align:right}.tracking-facts span{font-weight:800}.tracking-facts small{color:var(--muted)}.driver-map-marker{position:relative;width:38px;height:38px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;background:#111827;color:#fff;font-size:14px;font-weight:900;box-shadow:0 4px 14px #11182755}.driver-map-marker::after{content:"";position:absolute;bottom:-8px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid #111827}.driver-map-marker.driver-live-position{font-size:15px;line-height:1}.driver-map-marker.driver-live-position::after{display:none}
@media(max-width:1050px){.customer-trip-layout{grid-template-columns:1fr;padding:18px 14px 60px}.customer-live-panel{position:static;order:-1}.customer-trip-map{height:430px}.customer-trip-panel{order:2}}
@media(max-width:620px){.customer-trip-map{height:330px;border-radius:16px}.customer-tracking-card{align-items:flex-start;flex-direction:column}.tracking-facts{text-align:left}.customer-trip-layout{padding:10px 10px 50px}.customer-trip-panel{padding:22px}}

/* HORST 0.4.2 – gestaffelte Sofortangebote und Live-Test */
.status-no_driver{background:#fef2f2;color:#991b1b}
.map,.customer-trip-map,.driver-order-map{background:#eef2f3}
.map-load-warning::after{content:"Kartengrundlage vorübergehend nicht erreichbar";position:absolute;left:12px;bottom:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:10px;padding:8px 10px;font-size:12px;z-index:4}
.driver-search-progress{margin:14px 0 18px;padding:14px 15px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px}
.search-progress-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.search-progress-head span{font-variant-numeric:tabular-nums;color:#1d4ed8;font-weight:800}
.search-progress-track{height:10px;background:#dbeafe;border-radius:999px;overflow:hidden;margin:11px 0 8px}.search-progress-track span{display:block;height:100%;background:#2563eb;border-radius:999px;transition:width .5s linear}.driver-search-progress small{color:#475569}
.customer-location-panel{margin-top:18px;padding:16px;background:#f8fafc;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.customer-location-panel>div{display:grid;gap:4px}.customer-location-panel span,.customer-location-panel p{color:var(--muted)}.customer-location-panel p{grid-column:1/-1;margin:0;font-size:13px}
.driver-web-note{margin:8px 0 0;color:var(--muted);font-size:13px}
.incoming-offer[hidden]{display:none}.incoming-offer{position:fixed;inset:0;background:#07111ddd;backdrop-filter:blur(8px);z-index:1000;display:grid;place-items:center;padding:16px}.incoming-offer-card{width:min(520px,100%);background:#fff;border-radius:28px;padding:26px;box-shadow:0 30px 100px #0008;text-align:center}.incoming-label{text-transform:uppercase;letter-spacing:.15em;color:#15803d;font-size:13px;font-weight:900}.offer-countdown{font-size:86px;line-height:1;font-weight:950;font-variant-numeric:tabular-nums;margin-top:10px;color:#111827}.offer-countdown.urgent{color:#dc2626;animation:horst-pulse .7s infinite alternate}.offer-countdown-label{margin:0 0 22px;color:var(--muted)}.incoming-route{display:grid;gap:10px;text-align:left;background:#f8fafc;border-radius:16px;padding:16px}.incoming-route div{display:grid;gap:3px}.incoming-route small{color:var(--muted)}.incoming-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0}.incoming-meta span{background:#eef2ff;padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800}.incoming-actions{display:grid;gap:9px}.offer-feedback{min-height:20px;color:#475569;font-size:14px;margin:12px 0 0}.offer-open{overflow:hidden}@keyframes horst-pulse{from{transform:scale(1)}to{transform:scale(1.08)}}
.driver-order-map{height:360px;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:16px 0 10px;position:relative}.customer-location-hint{padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e40af;font-size:13px;margin-bottom:14px}.customer-map-marker{width:38px;height:38px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:900;box-shadow:0 4px 14px #1e3a8a66}
@media(max-width:620px){.customer-location-panel{grid-template-columns:1fr}.incoming-offer-card{padding:20px;border-radius:22px}.offer-countdown{font-size:72px}.driver-order-map{height:300px}}
.map,.customer-trip-map,.driver-order-map{position:relative}

/* HORST 0.4.3: Live-Karten für Fahrer-Startseite und Disposition */
.driver-home-map-card,.dispatch-map-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 10px 30px #1118270d;margin:18px 0}.driver-home-map-head,.dispatch-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.driver-home-map-head>div,.dispatch-map-head>div:first-child{display:grid;gap:4px}.driver-home-map-head span,.dispatch-map-head p{color:var(--muted);margin:0;font-size:13px}.live-map-badge{background:#dcfce7;color:#166534;border-radius:999px;padding:6px 10px;font-size:11px!important;font-weight:900;letter-spacing:.08em}.driver-home-map{height:340px;border-radius:17px;overflow:hidden;background:#eef2f3;position:relative}.driver-home-marker{background:#16a34a}.dispatch-map-card{max-width:none}.dispatch-map{height:460px;border-radius:18px;overflow:hidden;background:#eef2f3;position:relative}.dispatch-map-head h2{margin:4px 0 2px}.dispatch-map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;font-size:12px;color:var(--muted)}.dispatch-map-legend span{display:flex;align-items:center;gap:6px}.dispatch-map-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.dispatch-map-legend .online{background:#16a34a}.dispatch-map-legend .busy{background:#2563eb}.dispatch-map-legend .offline{background:#9ca3af}.fleet-marker{width:24px;min-width:24px;height:24px;padding:0;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0;box-shadow:0 4px 14px #11182755}.fleet-marker.online{background:#16a34a}.fleet-marker.busy{background:#2563eb}.fleet-marker.offline{background:#6b7280;opacity:.82}.fleet-marker span{display:none}.live-status{margin:4px 0 0;color:var(--muted);font-size:13px}.incoming-actions form{width:100%}
@media(max-width:720px){.driver-home-map{height:300px}.dispatch-map{height:360px}.driver-home-map-head,.dispatch-map-head{flex-direction:column}.dispatch-map-legend{justify-content:flex-start}.driver-home-map-card,.dispatch-map-card{padding:12px;border-radius:16px}}

/* HORST 0.5.0 – interner Fahrtablauf, Wartezeit und stabile Live-Ansichten */
.status-at_destination{background:#ede9fe;color:#5b21b6}.status-no_show{background:#fff1f2;color:#be123c}.booking-row-active{background:#f0fdf4;border-left:4px solid #16a34a;padding-left:12px}.booking-row small{display:block;color:#166534;margin-top:5px}.customer-waiting-card,.driver-waiting-card{margin:14px 0;padding:16px 18px;border-radius:16px;border:1px solid #fde68a;background:#fffbeb;display:flex;justify-content:space-between;align-items:center;gap:18px}.customer-waiting-card>div,.driver-waiting-card>div{display:grid;gap:5px}.customer-waiting-card strong,.driver-waiting-card strong{font-size:28px;font-variant-numeric:tabular-nums}.customer-waiting-card b,.driver-waiting-card b{font-size:20px;color:#92400e}.waiting-details{text-align:right}.driver-waiting-card{display:grid;grid-template-columns:1fr auto}.driver-waiting-card p{grid-column:1/-1;margin:0;color:#92400e;font-size:13px}.internal-navigation-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin:16px 0;box-shadow:0 10px 30px #1118270d}.internal-navigation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.internal-navigation-head h2{margin:5px 0}.internal-navigation-head>div:last-child{display:grid;text-align:right;gap:3px}.internal-navigation-head small{color:var(--muted)}.notification-button.success{background:#15803d;color:#fff;border-color:#15803d}.fleet-marker{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;border-radius:50%!important}.button:disabled{opacity:.48;cursor:not-allowed}.driver-actions{display:grid;gap:10px}.customer-location-panel.tracking-active{background:#ecfdf3;border-color:#bbf7d0}
@media(max-width:620px){.customer-waiting-card,.driver-waiting-card,.internal-navigation-head{align-items:flex-start;flex-direction:column}.driver-waiting-card{grid-template-columns:1fr}.waiting-details,.internal-navigation-head>div:last-child{text-align:left}}
.dispatch-waiting{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.dispatch-waiting.cancel-available{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.customer-waiting-card.hidden,.driver-waiting-card.hidden{display:none}

/* HORST 0.6.0 – Plattform, Kategorien, Partner, Chat */
.workspace-tabs,.driver-tabbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.workspace-tabs a,.driver-tabbar a{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:800;font-size:14px}.workspace-tabs a.active,.driver-tabbar a.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.panel-like,.settings-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:20px}.settings-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.settings-section-head h2{margin:5px 0}.settings-section-head p{color:var(--muted);margin:6px 0}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.settings-grid label,.category-pricing-card label,.filter-bar label{display:grid;gap:7px;font-weight:750}.settings-grid input,.settings-grid select,.category-pricing-card input,.category-pricing-card select,.filter-bar input,.filter-bar select{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.category-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.category-pricing-card{display:grid;gap:11px;border:1px solid var(--line);border-radius:16px;padding:18px}.category-card-head{display:flex;justify-content:space-between;gap:12px}.category-card-head strong{font-size:18px}.category-card-head span{font-size:12px;color:var(--muted)}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;pointer-events:none}.sticky-save .button{pointer-events:auto;box-shadow:0 10px 30px #11182733}.field-error{color:#b91c1c;font-size:12px}
.category-options{display:grid;gap:10px;margin-top:12px}.category-option{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.category-option.selected{border:2px solid #16a34a;background:#f0fdf4}.category-option strong,.category-option small{display:block}.category-option small{color:var(--muted);margin-top:4px}.category-option .price{font-weight:900;font-size:18px}.group-booking-hint,.reservation-ready,.approach-confirmation,.walking-card,.cancel-policy,.partner-manual-banner{border-radius:14px;padding:15px 17px;margin:15px 0}.group-booking-hint{background:#eff6ff;color:#1e40af}.reservation-ready{background:#ecfdf5;border:1px solid #bbf7d0}.reservation-ready strong,.reservation-ready p{display:block;margin:6px 0}.approach-confirmation{background:#fff7ed;border:1px solid #fed7aa}.approach-confirmation h2,.walking-card h2{margin:6px 0}.approach-confirmation p,.walking-card p{margin:8px 0;color:#4b5563}.walking-card{background:#eff6ff;border:1px solid #bfdbfe}.cancel-policy{display:grid;gap:5px;background:#f9fafb;color:#4b5563}.cancel-policy strong{color:#111827}
.chat-card{margin-top:22px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.chat-head h2{margin:4px 0}.chat-head small{color:var(--muted)}.chat-messages{height:220px;overflow:auto;background:#f8fafc;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:9px;margin:12px 0}.chat-message{max-width:82%;display:grid;gap:3px;padding:9px 11px;border-radius:13px;background:#fff;border:1px solid #e5e7eb}.chat-message.own{align-self:flex-end;background:#dcfce7;border-color:#bbf7d0}.chat-message.other{align-self:flex-start}.chat-message.system{align-self:center;max-width:95%;background:#eff6ff;border-color:#bfdbfe}.chat-message small{font-size:10px;color:#6b7280}.chat-message span{white-space:pre-wrap}.chat-empty{text-align:center;color:#9ca3af;margin:auto}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px}.chat-form input{border:1px solid #d1d5db;border-radius:11px;padding:12px;font:inherit}
.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:18px}.revenue-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.revenue-cards>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.revenue-cards span{color:var(--muted);display:block}.revenue-cards strong{font-size:28px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;background:#f9fafb}.data-table tr:last-child td{border-bottom:0}.fleet-map-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.fleet-map-head{display:flex;justify-content:space-between;padding:4px 3px 13px}.fleet-map{height:min(68vh,680px);min-height:430px;border-radius:15px;overflow:hidden}.fleet-dot{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 10px #11182766}.fleet-dot.online{background:#16a34a}.fleet-dot.busy{background:#2563eb}.partner-manual-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff7ed;border:1px solid #fed7aa}.partner-manual-banner div{display:grid;gap:4px}.partner-offer-card{border-color:#fdba74}.partner-countdown{font-size:20px;color:#c2410c}
.quick-filters{display:flex;gap:8px;flex-wrap:wrap}.quick-filters a{padding:9px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:800}.quick-filters a.active{background:#111827;color:#fff}.driver-approach-wait{margin-bottom:18px}
.status-awaiting_approach_confirmation{background:#fff7ed;color:#c2410c}.status-no_driver,.status-no_show{background:#fef2f2;color:#991b1b}.status-at_destination{background:#ecfccb;color:#3f6212}
@media(max-width:950px){.settings-grid,.category-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,1fr)}.revenue-cards{grid-template-columns:1fr}.partner-manual-banner{align-items:stretch;flex-direction:column}}
@media(max-width:620px){.settings-grid,.category-pricing-grid,.filter-bar{grid-template-columns:1fr}.workspace{padding:22px 12px 60px}.workspace-tabs,.driver-tabbar{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.workspace-tabs a,.driver-tabbar a{white-space:nowrap}.chat-form{grid-template-columns:1fr}.chat-form .button{width:100%}.fleet-map{min-height:360px}.revenue-cards strong{font-size:23px}}
.revenue-filter-wide{grid-template-columns:repeat(6,minmax(120px,1fr)) auto}@media(max-width:1100px){.revenue-filter-wide{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.revenue-filter-wide{grid-template-columns:1fr}}

/* HORST 0.7.0 – Betrieb, Liebling, Kurier, kompakte Dispo */
.service-selector{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-selector legend{font-weight:900;margin-bottom:8px}.service-selector label{position:relative}.service-selector input{position:absolute;opacity:0}.service-selector span{height:100%;display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.service-selector input:checked+span{border:2px solid #111827;background:#f8fafc}.service-selector small{color:var(--muted)}.muted-field{opacity:.45}.category-option.unavailable{opacity:.5;cursor:not-allowed}.favorite-option{margin:14px 0}.favorite-choice{border-color:#93c5fd!important;background:#eff6ff!important}.favorite-choice.selected{border-color:#2563eb!important;background:#dbeafe!important}.nav-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;line-height:1}.nav-badge.reservation-offer-inline{background:#16a34a}.nav-badge.reservation-accepted-inline{background:#2563eb}.dispatch-list-compact{display:grid;gap:7px}.dispatch-line{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.dispatch-line>summary{list-style:none;display:grid;grid-template-columns:55px 120px 135px minmax(260px,1fr) 150px 90px 160px;gap:10px;align-items:center;padding:11px 13px;cursor:pointer}.dispatch-line>summary::-webkit-details-marker{display:none}.dispatch-line[open]>summary{background:#f8fafc;border-bottom:1px solid var(--line)}.dispatch-line-id{font-weight:900}.dispatch-line-time,.dispatch-line-category,.dispatch-line-driver{font-size:13px;font-weight:750}.dispatch-line-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151;font-size:13px}.dispatch-line-price{text-align:right}.dispatch-line-details{padding:16px}.fleet-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.fleet-card{display:grid;grid-template-columns:1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.fleet-card>div:first-child{display:grid;gap:4px}.fleet-card span{color:var(--muted);font-size:13px}.service-reminder{grid-column:1/-1;display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:9px 11px;border-radius:10px;background:#f8fafc}.service-reminder.warning{background:#fff7ed;color:#9a3412}.wide-form{max-width:760px}.voice-record{white-space:nowrap}.voice-status{font-size:12px;color:var(--muted);grid-column:1/-1}.chat-audio{width:min(310px,70vw);height:36px}.feedback-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.feedback-options{display:flex;gap:8px;flex-wrap:wrap}.feedback-options label{display:flex;gap:6px;align-items:center;border:1px solid var(--line);padding:9px 11px;border-radius:10px}.cash-confirmation{border:1px solid #fde68a;background:#fffbeb;border-radius:16px;padding:16px;margin:16px 0}.driver-service-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;margin:8px 0}.shift-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pause-active{background:#fff7ed!important;border-color:#fdba74!important;color:#9a3412!important}
@media(max-width:1050px){.dispatch-line>summary{grid-template-columns:50px 105px 110px 1fr 120px 80px}.dispatch-line-driver{display:none}}
@media(max-width:720px){.service-selector{grid-template-columns:1fr}.dispatch-line>summary{grid-template-columns:48px 100px 1fr auto}.dispatch-line-category,.dispatch-line-driver,.dispatch-line-price{display:none}.dispatch-line-route{grid-column:1/-1}.fleet-cards{grid-template-columns:1fr}}

/* HORST 0.7.0 – Betrieb, Liebling, Kurier, kompakte Dispo */
.service-selector{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-selector legend{font-weight:900;margin-bottom:8px}.service-selector label{position:relative}.service-selector input{position:absolute;opacity:0}.service-selector span{height:100%;display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.service-selector input:checked+span{border:2px solid #111827;background:#f8fafc}.service-selector small{color:var(--muted)}.muted-field{opacity:.45}.category-option.unavailable{opacity:.5;cursor:not-allowed}.favorite-option{margin:14px 0}.favorite-choice{border-color:#93c5fd!important;background:#eff6ff!important}.favorite-choice.selected{border-color:#2563eb!important;background:#dbeafe!important}.nav-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;line-height:1}.dispatch-list-compact{display:grid;gap:7px}.dispatch-line{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.dispatch-line>summary{list-style:none;display:grid;grid-template-columns:55px 120px 135px minmax(260px,1fr) 150px 90px 160px;gap:10px;align-items:center;padding:11px 13px;cursor:pointer}.dispatch-line>summary::-webkit-details-marker{display:none}.dispatch-line[open]>summary{background:#f8fafc;border-bottom:1px solid var(--line)}.dispatch-line-id{font-weight:900}.dispatch-line-time,.dispatch-line-category,.dispatch-line-driver{font-size:13px;font-weight:750}.dispatch-line-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151;font-size:13px}.dispatch-line-price{text-align:right}.dispatch-line-details{padding:16px}.fleet-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.fleet-card{display:grid;grid-template-columns:1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.fleet-card>div:first-child{display:grid;gap:4px}.fleet-card span{color:var(--muted);font-size:13px}.service-reminder{grid-column:1/-1;display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:9px 11px;border-radius:10px;background:#f8fafc}.service-reminder.warning{background:#fff7ed;color:#9a3412}.wide-form{max-width:760px}.voice-record{white-space:nowrap}.voice-status{font-size:12px;color:var(--muted);grid-column:1/-1}.chat-audio{width:min(310px,70vw);height:36px}.feedback-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.feedback-options{display:flex;gap:8px;flex-wrap:wrap}.feedback-options label{display:flex;gap:6px;align-items:center;border:1px solid var(--line);padding:9px 11px;border-radius:10px}.cash-confirmation{border:1px solid #fde68a;background:#fffbeb;border-radius:16px;padding:16px;margin:16px 0}.driver-service-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;margin:8px 0}.shift-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pause-active{background:#fff7ed!important;border-color:#fdba74!important;color:#9a3412!important}
@media(max-width:1050px){.dispatch-line>summary{grid-template-columns:50px 105px 110px 1fr 120px 80px}.dispatch-line-driver{display:none}}
@media(max-width:720px){.service-selector{grid-template-columns:1fr}.dispatch-line>summary{grid-template-columns:48px 100px 1fr auto}.dispatch-line-category,.dispatch-line-driver,.dispatch-line-price{display:none}.dispatch-line-route{grid-column:1/-1}.fleet-cards{grid-template-columns:1fr}}
.chat-record-status{display:block;margin-top:6px;color:var(--muted);font-size:12px}.feedback-card{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.rating-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.rating-buttons label{position:relative}.rating-buttons input{position:absolute;opacity:0}.rating-buttons span{display:block;padding:10px 13px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:#fff}.rating-buttons input:checked+span{border:2px solid #111827;background:#f3f4f6}.favorite-check{display:flex;gap:8px;align-items:center;margin:12px 0}.cash-confirm-box{padding:16px;border:1px solid #fde68a;border-radius:16px;background:#fffbeb}.cash-confirm-box h3{margin:6px 0 12px}.driver-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.button.warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}.button.success{background:#15803d;color:#fff;border-color:#15803d}.notice.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.status-awaiting_cash_confirmation{background:#fff7ed;color:#9a3412}.status-cash_dispute{background:#fff1f2;color:#be123c}
@media(max-width:620px){.driver-control-grid{grid-template-columns:1fr}}

/* HORST 0.9.0 operations / approval / quality */
.incoming-offer{z-index:1400}
.rating-overlay{position:fixed;inset:0;z-index:1200;background:#07111dcc;backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}
.rating-modal{position:relative;width:min(560px,100%);background:#fff;border-radius:26px;padding:28px;box-shadow:0 30px 100px #0007}
.rating-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:27px;color:#6b7280;cursor:pointer;padding:6px 10px}
.rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.rating-buttons label{cursor:pointer}.rating-buttons label input{position:absolute;opacity:0}.rating-buttons label span,.rating-submit{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;font-weight:800;cursor:pointer;padding:12px}
.rating-buttons label input:checked+span{outline:3px solid #111827;border-color:#111827}
.rating-submit.top{background:#ecfdf5}.rating-submit.neutral{background:#fffbeb}.rating-submit.bad{background:#fef2f2}
.rating-submit:has(input:checked){outline:3px solid #111827;border-color:#111827}.feedback-reason-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:1px solid var(--line);border-radius:14px;padding:13px;margin:0 0 14px}.feedback-reason-fields legend{font-weight:800;padding:0 6px}.feedback-reason-fields label{display:flex;gap:7px;align-items:flex-start}.feedback-reason-fields label:last-child{grid-column:1/-1;display:block}.feedback-reason-fields textarea{width:100%;margin-top:6px}
.feedback-reason-fields[hidden],#driver-feedback-submit[hidden],#stop-reservation-alarm[hidden]{display:none!important}
.driver-rating-required{z-index:1700}.favorite-check{display:flex!important;gap:10px;align-items:flex-start;margin:14px 0}.favorite-check input{width:auto!important;margin-top:4px}
.offer-category-prominent{font-size:22px;font-weight:950;margin:10px 0 14px;padding:9px 12px;border-radius:12px;background:#eef2ff}
.account-balance-line{font-weight:800}.customer-account-grid,.driver-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}.account-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:4px}.account-stat small{color:var(--muted)}.account-stat strong{font-size:24px}.account-stat span{font-size:13px;color:var(--muted)}
.favorites-list{display:grid;gap:8px}.favorite-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);padding:12px 14px;border-radius:14px}.favorite-row form{margin:0}
.approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.approval-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 26px #1118270a}.approval-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.approval-badge.pending{background:#fff7ed;color:#9a3412}.approval-badge.approved{background:#ecfdf5;color:#166534}.approval-badge.rejected{background:#fef2f2;color:#991b1b}
.fleet-card-expanded{display:block!important}.fleet-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fleet-card-head>div{display:grid;gap:3px}.fleet-card-head strong{font-size:20px}.fleet-actions,.row-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px}.row-actions form{margin:0}.link-danger{border:0;background:none;padding:0;color:#b91c1c;text-decoration:underline;cursor:pointer;font:inherit}
.category-check-list ul{list-style:none;padding:0;display:grid;gap:9px}.category-check-list label{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.category-check-list input{width:auto!important}.vehicle-current-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:15px 0}.vehicle-current-card h2{margin:4px 0}
.alarm-stack{display:grid;gap:10px;margin:18px 0}.alarm-stack .section-title{margin-bottom:0}.operational-alert{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-radius:15px;padding:14px 16px;background:#fff;border:1px solid var(--line)}.operational-alert p{margin:4px 0 6px}.operational-alert.warning{border-color:#f59e0b;background:#fffbeb}.operational-alert.alarm{border-color:#ef4444;background:#fef2f2}.operational-alert.info{border-color:#60a5fa;background:#eff6ff}
.cash-dispute-driver{display:grid;gap:12px}.cash-dispute-driver .form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.evidence-step{margin-top:8px}
.muted{color:var(--muted)}
.result-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 22px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}.result-pagination>span{color:var(--muted);font-weight:750}.result-pagination .row-actions{margin:0}
@media(max-width:700px){.rating-buttons,.feedback-reason-fields{grid-template-columns:1fr}.operational-alert{flex-direction:column}.approval-grid{grid-template-columns:1fr}.customer-account-grid,.driver-stat-grid{grid-template-columns:1fr}}

/* HORST 0.9.0 live statuses and expanded operations */
.dispatch-map-legend .enroute{background:#f59e0b}.dispatch-map-legend .paused{background:#a855f7}.fleet-dot.enroute{background:#f59e0b}.fleet-dot.paused{background:#a855f7}.status-awaiting_cash_confirmation,.status-cash_dispute{background:#fff1f2;color:#be123c}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.workspace-tabs a{padding:9px 12px;border-radius:10px;color:#4b5563;font-weight:750;text-decoration:none}.workspace-tabs a.active{background:#111827;color:#fff}.subtle-count{display:inline-flex;min-width:24px;justify-content:center;border-radius:999px;padding:2px 7px;background:#eff6ff;color:#1d4ed8;font-size:11px;margin-left:5px}.quality-score{font-size:20px;font-weight:900}.document-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}.document-status.ok{background:#dcfce7;color:#166534}.document-status.open{background:#fff7ed;color:#9a3412}.document-preview-actions{display:flex;gap:8px;flex-wrap:wrap}.share-trip-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:16px}.saved-address-grid{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr;gap:20px}.saved-address-list{display:grid;gap:10px}.saved-address-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.public-trip-shell{max-width:900px;margin:0 auto;padding:34px 20px 70px}.public-trip-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.public-trip-status>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.courier-mode-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f3e8ff;color:#7e22ce;font-size:12px;font-weight:800}
@media(max-width:780px){.saved-address-grid,.public-trip-status{grid-template-columns:1fr}}
.public-trip-progress{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:0 0 14px;padding:14px 16px;border-radius:14px;background:#ecfdf5;border:1px solid #a7f3d0}.public-trip-progress div{display:grid;gap:3px}.public-trip-progress small,.public-trip-itinerary small{color:var(--muted)}.public-trip-itinerary{display:grid;gap:0;margin:0 0 18px;padding:0;list-style:none}.public-trip-itinerary li{position:relative;display:grid;gap:2px;padding:10px 12px 10px 34px;border-left:2px solid #bbf7d0;margin-left:9px}.public-trip-itinerary li:before{content:'';position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:50%;background:#16a34a;border:2px solid #fff;box-shadow:0 0 0 1px #86efac}.public-trip-itinerary li.stop-completed{opacity:.58}.public-trip-itinerary li.stop-active:before{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7}.public-trip-stop-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid #16a34a;color:#166534;font-size:12px;font-weight:900;box-shadow:0 3px 12px #0003}.public-guest-chat{margin-top:18px}
.corporate-account-card{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:1rem;border:1px solid var(--border,#dedbd2);border-radius:14px;background:rgba(255,255,255,.65)}
.corporate-account-card>div:first-child{display:flex;flex-direction:column;gap:.25rem}.corporate-month-list{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

/* Beta privacy and controlled customer-account deletion */
.privacy-screen{display:grid;gap:18px}.privacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.privacy-grid .account-stat h2{margin:4px 0}.privacy-grid .account-stat p{margin:0;color:var(--muted);line-height:1.55}.privacy-delete-form{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.privacy-delete-form .checkbox-line{align-items:flex-start}.privacy-delete-form .checkbox-line input{margin-top:3px!important}.privacy-delete-form button[disabled]{opacity:.5;cursor:not-allowed}.privacy-screen .account-stat strong{overflow-wrap:anywhere;font-size:18px}.privacy-screen .corporate-account-card{display:block}.privacy-screen .corporate-account-card .button{margin-top:8px}@media(max-width:780px){.privacy-grid{grid-template-columns:1fr}}

/* HORST 0.9.1 – Fahrer-App: Navigation als Vollbild mit Aktionsleiste und Menü */
.driver-native-menu-button,.driver-native-drawer{display:none}
.driver-native-mode body{overflow:hidden;background:#111827}
.driver-native-mode .topbar,.driver-native-mode body>footer{display:none}
.driver-native-mode main{min-height:100dvh}
.driver-native-mode .driver-detail{position:fixed;inset:0;max-width:none;margin:0;padding:0;background:#111827;overflow:hidden}
.driver-native-mode .internal-navigation-card{position:absolute;inset:0;margin:0;padding:0;border:0;border-radius:0;background:#111827;box-shadow:none}
.driver-native-mode .internal-navigation-head{position:absolute;z-index:5;top:calc(env(safe-area-inset-top) + 12px);left:76px;right:12px;padding:10px 12px;border-radius:14px;background:#fffffff2;box-shadow:0 7px 24px #0003}
.driver-native-mode .internal-navigation-head h2{font-size:17px;margin:2px 0}
.driver-native-mode .internal-navigation-head .eyebrow{display:none}
.driver-native-mode .driver-order-map{position:absolute;inset:0;width:100%;height:100dvh;margin:0;border:0;border-radius:0}
.driver-native-mode .customer-location-hint{position:absolute;z-index:5;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);margin:0;padding:8px 10px;font-size:11px;pointer-events:none}
.driver-native-mode .driver-actions:not(:empty){position:fixed;z-index:1120;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 10px);max-height:42dvh;overflow:auto;margin:0;padding:10px;gap:8px;border-radius:18px;background:#fffffff3;box-shadow:0 12px 36px #0007;overscroll-behavior:contain}
.driver-native-mode .driver-actions .button{min-height:48px}
.driver-native-mode .driver-actions~.driver-native-menu-button{display:block;position:fixed;z-index:1300;top:calc(env(safe-area-inset-top) + 12px);left:12px;border:0;border-radius:14px;padding:12px 14px;background:#111827;color:#fff;font:inherit;font-weight:900;box-shadow:0 7px 24px #0005}
.driver-native-mode .driver-native-drawer{display:block;position:fixed;z-index:1250;top:0;bottom:0;left:0;width:min(88vw,430px);padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 24px);overflow:auto;background:#f4f5f7;box-shadow:12px 0 40px #0007;transform:translateX(-105%);transition:transform .18s ease;overscroll-behavior:contain}
.driver-native-menu-open .driver-native-drawer{transform:translateX(0)}
.driver-native-menu-open .driver-native-menu-button{visibility:hidden}
.driver-native-mode .driver-native-drawer-head{position:sticky;top:-14px;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:-14px -14px 15px;padding:18px 16px 12px;background:#f4f5f7eF;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.driver-native-mode .driver-native-drawer-head button{border:0;background:#fff;border-radius:999px;width:42px;height:42px;font-size:28px;line-height:1;box-shadow:0 3px 12px #0002}
.driver-native-mode .driver-native-drawer .driver-tabbar{overflow:auto;flex-wrap:nowrap}
.driver-native-mode .driver-native-drawer .driver-order-head{margin:18px 0}
.driver-native-mode .driver-native-drawer .driver-order-head h1{font-size:27px}
.driver-native-mode .driver-native-drawer .driver-meta-grid{grid-template-columns:1fr 1fr}
.driver-native-mode .driver-native-drawer .chat-card{margin-top:16px}
@media(max-width:420px){.driver-native-mode .internal-navigation-head{left:70px;display:grid;grid-template-columns:1fr;gap:3px;padding:8px 10px}.driver-native-mode .internal-navigation-head>div:last-child{display:grid;text-align:left;gap:1px}.driver-native-mode .internal-navigation-head>div:last-child strong{font-size:12px}.driver-native-mode .internal-navigation-head>div:last-child small{font-size:10px}.driver-native-mode .driver-native-drawer .driver-meta-grid{grid-template-columns:1fr}}

/* HORST 0.10.0 – sichere Statusleiste, dauerhaftes Waze und Betriebssitz */
.driver-waze-dock{position:sticky;bottom:10px;z-index:1110}.driver-return-shell{min-height:calc(100dvh - 40px)}.driver-waze-fixed{position:fixed;z-index:1110;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}.notice.success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.notice.hidden{display:none}
.driver-native-mode .driver-waze-dock{position:fixed;z-index:1115;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 72px);margin:0}.driver-native-mode .driver-actions:not(:empty)+.driver-waze-dock{bottom:calc(env(safe-area-inset-bottom) + 72px)}
.driver-native-mode .internal-navigation-head,.driver-native-mode .driver-actions~.driver-native-menu-button{top:max(calc(env(safe-area-inset-top) + 12px),36px)}
.driver-native-mode .driver-native-drawer{padding-top:max(calc(env(safe-area-inset-top) + 14px),38px)}
.driver-native-mode .driver-return-shell{position:fixed;inset:0;padding:0;margin:0;max-width:none}.driver-native-mode .driver-return-shell>.driver-tabbar{display:none}.driver-native-mode .driver-return-shell .internal-navigation-card{position:absolute;inset:0;margin:0;padding:0;border:0;border-radius:0}.driver-native-mode .driver-return-shell .internal-navigation-head{left:12px}.driver-native-mode #driver-return-map{position:absolute;inset:0;width:100%;height:100dvh;margin:0;border:0;border-radius:0}.driver-native-mode .driver-return-shell .internal-navigation-card>p{position:absolute;z-index:5;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 70px);background:#fffffff0;border-radius:12px;padding:10px}.driver-native-mode #return-arrived{position:fixed;z-index:1200;top:max(calc(env(safe-area-inset-top) + 90px),114px);left:12px;right:12px;font-size:18px;font-weight:900}.driver-native-mode .driver-return-shell>.driver-duty-actions{position:fixed;z-index:1210;left:12px;right:12px;top:max(calc(env(safe-area-inset-top) + 82px),106px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:8px;border-radius:15px;background:#fffffff2;box-shadow:0 7px 24px #0003}.driver-native-mode .driver-return-shell>.driver-duty-actions form,.driver-native-mode .driver-return-shell>.driver-duty-actions button{width:100%;margin:0}.driver-native-mode .driver-return-shell>.driver-duty-actions button{min-height:44px;padding:7px 5px;font-size:12px}
.tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.tip-grid label{position:relative}.tip-grid input{position:absolute;opacity:0}.tip-grid span{display:grid;place-items:center;min-height:52px;border:1px solid var(--line);border-radius:13px;font-weight:900}.tip-grid input:checked+span{outline:3px solid #111827;background:#f3f4f6}@media(max-width:520px){.tip-grid{grid-template-columns:repeat(2,1fr)}}

/* HORST 0.10.4 – kompakte Empfehlung, Kurierauswahl und Stammdaten */
.estimate-box>.estimate-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.estimate-summary>div{min-width:0;display:grid;gap:3px;padding:9px 10px;border-radius:11px;background:#fff}.estimate-summary span{font-size:11px}.estimate-summary strong{font-size:15px!important;line-height:1.25;overflow-wrap:anywhere}.estimate-box>.category-options{display:grid;gap:7px;min-width:0}.category-options h3{font-size:14px;margin:4px 0}.category-option{min-width:0;padding:10px 11px;gap:8px}.category-option>span{min-width:0}.category-option b,.category-option small{overflow-wrap:anywhere}.category-option>strong{font-size:15px;white-space:nowrap}.favorite-option{display:block!important}.courier-count-only{grid-template-columns:1fr}.courier-mode-field{margin:0 0 18px}.courier-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.courier-mode-options label{position:relative;margin:0!important}.courier-mode-options input{position:absolute;opacity:0;width:auto!important}.courier-mode-options span{height:100%;display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.courier-mode-options small{color:var(--muted);line-height:1.35}.courier-mode-options input:checked+span{border:2px solid #111827;background:#f8fafc}.base-address-autocomplete{position:relative}.base-address-autocomplete .suggestions{top:100%;margin-top:-2px}.base-address-status{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:650}.base-address-status.ok{color:#166534}.base-address-status.error{color:#b91c1c}.checkbox-line{display:flex!important;align-items:center;gap:9px}.checkbox-line input{width:auto!important;margin:0!important}.checkbox-line label{margin:0!important}.quality-filter{grid-template-columns:repeat(3,minmax(140px,1fr)) auto auto}.quality-filter .button,.settlement-filter .button{min-height:42px}.own-fleet-masterdata{margin-top:24px}.settlement-filter{grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;max-width:900px}.manual-settlement{margin-top:24px}
@media(max-width:850px){.estimate-box>.estimate-summary{grid-template-columns:1fr 1fr}.courier-mode-options{grid-template-columns:1fr}.quality-filter,.settlement-filter{grid-template-columns:1fr}}

/* HORST 0.10.4 – Hauptdispo-Parität und Fahrer-ID */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 22px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.subnav a{padding:8px 11px;border-radius:9px;text-decoration:none;font-weight:750;color:#475569}.subnav a.active{background:#e5e7eb;color:#111827}.driver-login-id-cell{min-width:250px;max-width:330px}.driver-login-id-cell code{display:block;overflow-wrap:anywhere;word-break:break-all;font-size:13px;line-height:1.55;letter-spacing:.035em;user-select:all}.driver-id-login-card input[name="driver_id"]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.company-management-cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}

/* HORST 0.10.6 – kompakte Rücknavigation ohne Überlagerung */
.internal-navigation-head h1{margin:3px 0 0;font-size:24px;line-height:1.12;letter-spacing:-.025em}.return-route-summary{display:grid;gap:2px;text-align:right;white-space:nowrap}.return-route-summary small{color:var(--muted)}
.driver-native-mode .driver-return-shell .internal-navigation-head{right:12px;max-width:none;align-items:center}.driver-native-mode .driver-return-shell .internal-navigation-head h1{font-size:20px;line-height:1.12;margin:0}.driver-native-mode .driver-return-shell .return-route-summary{flex:0 0 auto}.driver-native-mode .driver-waze-fixed{bottom:calc(env(safe-area-inset-bottom) + 78px)}.driver-native-mode .driver-return-shell .internal-navigation-card>p{bottom:calc(env(safe-area-inset-bottom) + 138px);font-size:12px;line-height:1.35;margin:0}.driver-native-mode #driver-return-map{background:#dfe6e1}
@media(max-width:420px){.driver-native-mode .driver-return-shell .internal-navigation-head{flex-direction:row;gap:9px}.driver-native-mode .driver-return-shell .internal-navigation-head h1{font-size:18px}.driver-native-mode .driver-return-shell .return-route-summary strong{font-size:15px}.driver-native-mode .driver-return-shell .return-route-summary small{font-size:10px}}
.fleet-master-filter{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto auto}.fleet-master-filter label:only-of-type{grid-column:auto}@media(max-width:850px){.fleet-master-filter{grid-template-columns:1fr}}

/* HORST 0.10.8 – Fahrtenliste, Live-Wartezeit und Routenfreigabe */
.driver-trip-list{display:grid;gap:10px;margin-top:18px}.driver-trip-row{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:14px;padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px #1118270a}.driver-trip-row:hover{border-color:#aeb8b2;transform:translateY(-1px)}.driver-trip-row>div{min-width:0;display:grid;gap:5px}.driver-trip-row span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-trip-row>b{white-space:nowrap;font-size:18px}.driver-trip-row>i{font-style:normal;font-size:30px;color:#94a3b8}.driver-route-change-request{padding:16px;border:2px solid #f5b700;border-radius:17px;background:#fffbea}.driver-route-change-request h2{margin:5px 0 12px}.driver-navigation-waiting{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 7px 22px #0004}.driver-navigation-waiting.hidden{display:none}.driver-navigation-waiting span{font-size:11px;font-weight:800}.driver-navigation-waiting strong{font-size:20px}.driver-navigation-waiting b{margin-left:auto;color:#fde68a}.driver-native-mode .driver-navigation-waiting:not(.hidden){position:fixed;z-index:1118;top:max(calc(env(safe-area-inset-top) + 92px),116px);right:12px;max-width:calc(100vw - 24px)}
@media(max-width:520px){.driver-trip-row{grid-template-columns:minmax(0,1fr) auto 16px;padding:14px 13px}.driver-trip-row>b{font-size:16px}}

/* HORST 0.11.1 – schmale Gastcodes und klar deaktivierte Kategorien */
.guest-code-card{min-width:0}.guest-code{display:grid;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(14px,4vw,20px)!important;line-height:1.25;letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-all}.category-option:disabled{pointer-events:none}.category-option.unavailable{filter:grayscale(.2)}

/* HORST 0.11.3 – sichere Bewertung und klare Reservierungsspalten */
.rating-modal{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.cash-tip-entry{margin:10px 0;padding:12px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb}
.cash-tip-entry p{margin:5px 0 9px;font-size:13px;line-height:1.35}.cash-tip-entry label{display:grid;gap:5px;font-size:13px}.cash-tip-entry input{min-width:0;width:100%}
#customer-rating-form>.button:last-child{position:sticky;bottom:-1px;z-index:2;box-shadow:0 -8px 18px #fff;background:#111827}
.reservation-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.reservation-column{min-width:0;padding:15px;border-radius:18px}.reservation-column h2{margin:0 0 5px}.new-reservations{background:#eff6ff;border:1px solid #93c5fd}.new-reservations .driver-job{border-left:6px solid #2563eb}.accepted-reservations{background:#fff1f2;border:1px solid #fda4af}.accepted-reservations .driver-job{border-right:6px solid #dc2626}
@media(max-width:820px){.reservation-columns{grid-template-columns:1fr}.rating-overlay{padding:8px}.rating-modal{max-height:calc(100dvh - 16px);padding:18px 14px}}
.task-count-badge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:999px;background:#fff7ed;color:#9a3412;font-weight:900}.task-section{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.task-section .settings-section-head{margin-bottom:14px}.task-section .settings-section-head h2{margin:3px 0}.task-overdue{background:#fff7f7}.task-filter{grid-template-columns:minmax(220px,420px) auto auto}@media(max-width:850px){.task-filter{grid-template-columns:1fr}}

/* HORST 0.11.10 – klare Arbeitsbereiche, fahrerweise Trinkgelder und sichere Modalfenster. */
.dispatch-nav-groups{display:grid;grid-template-columns:1.15fr .8fr 1.15fr 1fr;gap:10px;margin:0 0 24px}
.dispatch-nav-groups section{min-width:0;padding:11px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px #1118270a}
.dispatch-nav-groups section>strong{display:block;margin:0 0 7px;padding:0 3px;color:#64748b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.dispatch-nav-groups section>div{display:flex;gap:5px;flex-wrap:wrap}
.dispatch-nav-groups a{padding:8px 10px;border-radius:9px;color:#374151;font-size:13px;font-weight:800;text-decoration:none}
.dispatch-nav-groups a:hover{background:#f1f5f9}.dispatch-nav-groups a.active{background:#111827;color:#fff}
.tip-report-head{margin-top:28px}.tip-summary-table strong{font-weight:900}.tip-summary-table small{color:var(--muted)}
.favorite-customers-card{margin-top:12px}.favorite-customers-card>summary{cursor:pointer;font-weight:900}
.favorite-customer-list{display:grid;gap:8px;margin-top:12px}.favorite-customer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.favorite-customer-row>div{display:grid;gap:2px}.favorite-customer-row small{color:var(--muted)}.favorite-customer-row form{margin:0}
.rating-overlay{z-index:1500;padding-bottom:max(16px,env(safe-area-inset-bottom))}
#customer-rating-form{padding-bottom:2px}#customer-rating-form>.button:last-child{bottom:0;min-height:54px;margin-bottom:0}
@media(max-width:1100px){.dispatch-nav-groups{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dispatch-nav-groups{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.dispatch-nav-groups section{flex:0 0 min(82vw,330px);scroll-snap-align:start}.favorite-customer-row{align-items:stretch;flex-direction:column}.favorite-customer-row button{width:100%}.rating-overlay{padding:8px 8px max(8px,env(safe-area-inset-bottom))}.rating-modal{max-height:calc(100dvh - 16px)}}

/* HORST 0.11.12 – Fahrer-Hintergrundbetrieb, Fahrzeitregeln und Preisdetails. */
.driver-native-mode .driver-map-marker{width:30px;height:30px;border-width:3px;font-size:12px;box-shadow:0 3px 10px #11182766}.driver-native-mode .driver-map-marker::after{bottom:-7px;border-left-width:5px;border-right-width:5px;border-top-width:8px}
.premium-picker{width:min(680px,calc(100vw - 24px));max-height:86dvh;padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 24px 80px #0007}.premium-picker::backdrop{background:#111827aa;backdrop-filter:blur(3px)}.premium-picker-card{padding:20px;margin:0}.premium-options{display:grid;gap:12px;max-height:62dvh;overflow:auto}.premium-option{display:grid;grid-template-columns:66px 1fr;gap:14px;width:100%;padding:14px;text-align:left;border:1px solid var(--line);border-radius:17px;background:#fff;color:inherit}.premium-option:hover,.premium-option:focus{border-color:#16a34a;background:#f0fdf4}.premium-option img,.premium-avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-size:26px;font-weight:900}.premium-option>span{display:grid;gap:5px}.premium-option small{color:var(--muted)}.premium-option em{font-style:normal;color:#374151}.premium-option strong{margin-top:5px}
.bonus-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.bonus-card{display:grid;gap:5px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#052e16,#16a34a);color:#fff;box-shadow:0 10px 28px #15803d33}.bonus-card>strong{font-size:30px}.bonus-card small{color:#dcfce7}.bonus-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.bonus-breakdown>div{display:grid;gap:5px;padding:14px;border:1px solid #bbf7d0;border-radius:15px;background:#f0fdf4}.bonus-breakdown span{font-size:12px;color:#475569}.bonus-breakdown b{color:#15803d}.bonus-award-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.bonus-award-row span{display:grid;gap:3px}.bonus-award-row small{color:var(--muted)}.bonus-ranking{display:grid;gap:8px;margin:16px 0}.bonus-rank-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.bonus-rank-row.is-me{border:2px solid #16a34a;background:#f0fdf4}.bonus-position{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#111827;color:#fff}.bonus-rank-row>span{display:grid;gap:3px}.bonus-rank-row small{color:var(--muted)}@media(max-width:650px){.bonus-period-grid,.bonus-breakdown{grid-template-columns:1fr}.bonus-rank-row{grid-template-columns:36px minmax(0,1fr) auto}.bonus-rank-row>strong:last-child{font-size:14px}}
/* Kundensupport: bewusst als eigenständiger, fahrtenbezogener Dispo-Kanal. */
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.filter-chips a{padding:9px 13px;border:1px solid var(--line,#dfe5eb);border-radius:999px;background:#fff;color:inherit;font-weight:800;text-decoration:none}
.filter-chips a.active{border-color:#15803d;background:#ecfdf3;color:#166534}
.support-dispatch-list{display:grid;gap:14px}
.support-dispatch-card{display:grid;gap:14px}
.support-dispatch-card h2{margin:.25rem 0 0}
.support-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.support-actions form{margin:0}
.route-stops-primary{display:grid;gap:9px;margin:10px 0 12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#f8fafc}
.route-stops-primary .panel-head{flex-direction:row;align-items:center}.route-stops-primary .panel-head>div{display:grid;gap:2px}.route-stops-primary small{color:var(--muted)}
.route-stops-primary .stop-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.route-stops-primary .stop-row>div{display:grid;gap:2px;min-width:0}.route-stops-primary .stop-row strong{overflow-wrap:anywhere}

/* 0.11.24: compact, non-overlapping navigation target HUD. */
.navigation-target-address{display:block;margin-top:4px;color:#334155;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-native-mode .navigation-target-address{max-width:min(62vw,420px);font-size:13px}
.driver-native-mode .driver-return-shell .navigation-target-address{max-width:min(58vw,430px)}
.driver-native-mode .driver-return-shell .internal-navigation-card>p{display:none!important}
@media(max-width:420px){.driver-native-mode .navigation-target-address{max-width:calc(100vw - 112px);font-size:12px}.driver-native-mode .driver-return-shell .navigation-target-address{max-width:54vw}}

/* HORST 0.11.28 – gestapelte HORST-Fahrt-Wortmarke mit fahrender Comicameise. */
.brand.brand-lockup{display:inline-flex;align-items:center;gap:4px;height:58px;max-width:min(52vw,225px)}
.brand-lockup .brand-wordmark{display:block;width:122px;max-width:31vw;height:auto}
.brand-lockup .brand-character{display:block;width:auto;height:54px;max-width:20vw;object-fit:contain;object-position:center}
.horst-hero-visual{display:grid;grid-template-columns:minmax(160px,.72fr) minmax(265px,1fr);align-items:end;gap:0;min-width:0}
.horst-hero-visual .horst-ant-mascot{display:block;width:115%;max-height:390px;margin:0 -8% 48px 0;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px #11182720);position:relative;z-index:2}
.horst-hero-visual .phone-card{width:100%;min-height:410px;margin:0 0 34px -28px;position:relative;z-index:1;padding:34px 28px 30px}
@media(max-width:850px){.horst-hero-visual{max-width:650px;margin:auto;grid-template-columns:minmax(150px,.65fr) minmax(260px,1fr)}.horst-hero-visual .horst-ant-mascot{max-height:330px}}
@media(max-width:540px){.brand.brand-lockup{height:48px;max-width:48vw}.brand-lockup .brand-wordmark{width:98px;max-width:29vw}.brand-lockup .brand-character{height:43px;max-width:18vw}.horst-hero-visual{grid-template-columns:minmax(110px,.5fr) minmax(210px,1fr)}.horst-hero-visual .horst-ant-mascot{max-height:250px;margin-bottom:58px}.horst-hero-visual .phone-card{min-height:350px;margin-left:-20px;padding:26px 20px}.horst-hero-visual .price-preview{margin-top:34px;flex-direction:column}}

/* Provider-neutral Google Maps markers and the shared 5-second follow control. */
.horst-google-dom-marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);cursor:pointer;will-change:left,top;z-index:1}
.horst-map-default-marker{width:22px;height:22px;border:4px solid #fff;border-radius:50% 50% 50% 0;background:#111827;box-shadow:0 3px 10px #11182755;transform:rotate(-45deg)}
.horst-map-load-error{display:grid;place-items:center;min-height:180px;padding:24px;text-align:center;color:#475569;background:#f1f5f9!important}
.horst-native-map-host{background:transparent!important}
.horst-map-follow-control{position:absolute;z-index:6;top:10px;right:10px;border-radius:3px;background:#fff;box-shadow:0 1px 4px #0005}
.horst-map-follow-control button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:#fff;color:#111827;font-size:23px;cursor:pointer}
.horst-map-follow-control button:hover,.horst-map-follow-control button:focus-visible{background:#f3f4f6}
.google-maps-attribution{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:7px 10px;color:#475569;background:#fff;border-top:1px solid #e2e8f0;font-size:11px;text-align:right}.google-maps-attribution img{display:block;width:120px;height:14px;object-fit:contain}

/* TEST46 reservation override: visible on every driver foreground surface. */
.driver-reservation-notice{position:fixed;z-index:2300;top:max(14px,env(safe-area-inset-top));left:50%;display:grid;gap:4px;width:min(520px,calc(100vw - 22px));padding:16px 18px;border:3px solid #f59e0b;border-radius:18px;background:#fffbeb;color:#78350f;box-shadow:0 20px 55px #11182755;opacity:0;pointer-events:none;transform:translate(-50%,-24px);transition:.2s ease;text-decoration:none}.driver-reservation-notice.visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.driver-reservation-notice strong{font-size:19px}.driver-reservation-notice span{line-height:1.4;overflow-wrap:anywhere}

/* V023 regional overrides: color plus a readable label, including dark mode. */
.region-value-different{border-left:4px solid #d59100;padding:10px 12px;background:rgba(213,145,0,.14);border-radius:8px}
.region-value-label{display:block;font-weight:700}.region-section-different>summary{border-left:4px solid #d59100;padding-left:12px}
html.driver-offer-visible #incoming-offer{background:var(--surface,#111827);opacity:1;backdrop-filter:none}
/* V050: start red, intermediate stops yellow, destination green. */
.route-flag-v050{--route-flag-color:#dc2626;position:relative;box-sizing:border-box;width:40px;height:42px;padding:2px 0 0 18px;line-height:22px;text-align:center;color:#111827;font-size:12px;font-weight:900;filter:drop-shadow(0 1px 2px #0008);isolation:isolate}
.route-flag-v050:before{content:"";position:absolute;z-index:-1;left:16px;top:1px;width:25px;height:25px;background:var(--route-flag-color);clip-path:polygon(0 0,100% 15%,85% 85%,0 100%)}
.route-flag-v050:after{content:"";position:absolute;left:14px;top:0;width:3px;height:41px;background:#334155;border:1px solid white;border-radius:2px}
.route-flag-stop{--route-flag-color:#facc15}
.route-flag-destination{--route-flag-color:#16a34a}
