.driver-header{max-width:1100px;margin:auto;padding:18px 24px}.driver-header .status{margin:0}.driver-home{max-width:1000px;margin:0 auto;padding:0 20px 100px}.driver-map-shell{position:relative;height:clamp(340px,55vh,620px);border:1px solid #ded4c6;border-radius:24px;overflow:hidden;background:#eee9de;isolation:isolate}#driver-map{height:100%;width:100%;z-index:0}.driver-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:radial-gradient(ellipse at center,#fffaf1,#e8e3d7);z-index:1}.driver-map-placeholder[hidden]{display:none}.driver-map-placeholder h2{font-size:26px;margin:12px 0}.driver-map-placeholder p{max-width:330px;font-size:14px;color:#6b6259}.driver-map-tools{position:absolute;left:14px;right:14px;bottom:26px;z-index:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap;pointer-events:none}.driver-map-tools>*{pointer-events:auto}.driver-map-tools button{min-height:44px;padding:10px 14px;background:#fffaf3;box-shadow:0 2px 10px #30251d18}.driver-map-tools span:not(:empty){background:#fffaf3;padding:7px 10px;border-radius:8px;font-size:12px}.driver-duty{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:18px 0;padding:22px}.driver-duty h1{font-size:23px;line-height:1.25;margin:7px 0 0}.driver-duty>button{min-width:150px;min-height:52px;font-size:18px;border-radius:16px}.driver-duty>p{flex-basis:100%;font-size:13px;margin:0}.driver-empty{text-align:center;color:#6b6259}.driver-nav{position:fixed;bottom:0;left:0;right:0;z-index:45;background:#fffbf5;border-top:1px solid #ded4c6;display:flex;justify-content:center;gap:70px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));}.driver-nav button{background:none;border:0;color:#756d63;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px;min-height:44px;font-size:13px}.driver-nav svg{width:22px;height:22px}.driver-nav .active{color:#a33827;font-weight:700}.driver-account{padding-bottom:110px}.driver-hold{max-width:600px;margin:40px auto 110px;padding:32px}.driver-hold h1{font-size:30px;line-height:1.2}.driver-hold .primary,.driver-hold .secondary{display:inline-flex;align-items:center;min-height:44px;margin:10px 8px 0 0;padding:10px 16px;text-decoration:none}.driver-account .partner-actions{margin:8px 0}.driver-home .leaflet-control-attribution{font-size:10px}.driver-home .leaflet-control-zoom a{color:#30251d}.driver-home .leaflet-container{font-family:inherit}@media(max-width:560px){.driver-header{padding:14px 18px}.driver-header .brand{font-size:25px}.driver-home{padding:0 12px 105px}.driver-map-shell{border-radius:20px;height:52vh;min-height:330px}.driver-duty{padding:18px;gap:14px}.driver-duty>button{width:100%}.driver-duty h1{font-size:21px}.driver-hold{margin:24px 16px 110px;padding:24px}}
.driver-home .leaflet-overlay-pane svg{width:auto;height:auto;max-width:none;overflow:visible}
/* Map-first driver workspace. Account and onboarding keep their normal layout. */
body:has(.driver-home){overflow:hidden;background:#f3f1eb}
body:has(.driver-home) main{padding:0;margin:0;max-width:none}
body:has(.driver-home) .driver-header{position:fixed;top:16px;left:16px;right:16px;z-index:35;max-width:none;min-height:0;margin:0;padding:12px 16px;background:#fffdf8;border:1px solid #e4dfd5;border-radius:18px;box-shadow:0 4px 24px #30251d14;display:flex;justify-content:space-between;flex-wrap:nowrap;gap:12px}
body:has(.driver-home) .driver-header .brand{font-size:23px;min-height:32px}
body:has(.driver-home) .driver-header .status{font-size:12px;background:#f1eee8;padding:7px 12px;border-radius:20px;white-space:nowrap}
body:has(.driver-home) #legal-footer{display:none}
.driver-home{position:fixed;inset:0;max-width:none;padding:0;margin:0}
.driver-home .driver-map-shell{position:absolute;inset:0;height:100%;min-height:0;border:0;border-radius:0}
.driver-home .driver-map-tools{top:100px;bottom:auto;left:auto;right:16px;max-width:260px;justify-content:flex-end}
.driver-home .driver-map-tools button{border:1px solid #ddd7ce;border-radius:24px;font-size:13px;min-height:44px;padding:10px 16px;box-shadow:0 3px 16px #30251d18}
.driver-home .driver-map-tools span:not(:empty){font-size:12px;text-align:right;max-width:240px}
.driver-home .leaflet-top.leaflet-left{top:94px;left:6px}
.driver-home .leaflet-control-zoom{border:1px solid #ded8ce;border-radius:14px;overflow:hidden;box-shadow:0 3px 14px #30251d18}
.driver-home .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;background:#fffdf8}
.driver-home .leaflet-bottom.leaflet-right{bottom:calc(238px + env(safe-area-inset-bottom));right:4px}
.driver-bottom-sheet{position:absolute;bottom:calc(70px + env(safe-area-inset-bottom));left:12px;right:12px;z-index:20;background:#fffdf8;border:1px solid #e3ddd3;border-radius:24px;box-shadow:0 5px 30px #30251d20;padding:0;max-height:46%;overflow:auto;overscroll-behavior:contain}
.driver-duty.panel{background:transparent;border:0;box-shadow:none;margin:0;padding:20px;gap:14px;display:block}
.driver-duty .eyebrow{font-size:10px;letter-spacing:1.4px;color:#786d61}
.driver-duty h1{font-size:21px;letter-spacing:-.4px;margin:5px 0 16px}
.driver-duty>button{width:100%;min-height:56px;border-radius:16px;font-size:19px;font-weight:700;padding:14px 20px;box-shadow:0 3px 8px #a3382718}
.driver-duty>p{font-size:12px;line-height:1.5;margin:12px 0 0}
.driver-offers:not(:empty){padding:0 16px 16px}
.driver-offers .driver-card{margin:0 0 12px;padding:18px;box-shadow:none}
.driver-empty{font-size:13px;margin:0}
.driver-nav{z-index:45;gap:0;justify-content:space-evenly;min-height:64px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:#fffdf8;border-color:#e5ded3}
.driver-nav button{font-size:11px;gap:3px}
body:has(.driver-home) #toast{z-index:80;bottom:260px}
@media(min-width:700px){body:has(.driver-home) .driver-header{right:auto;width:360px}.driver-bottom-sheet{width:380px;left:20px;right:auto;bottom:86px}.driver-home .leaflet-bottom.leaflet-right{bottom:76px}.driver-home .driver-map-tools{top:24px;right:24px}.driver-home .leaflet-top.leaflet-left{top:94px;left:14px}}
@media(max-height:520px){.driver-bottom-sheet{left:auto;right:12px;width:310px;max-height:65%}.driver-home .leaflet-bottom.leaflet-right{right:330px;bottom:75px}.driver-duty.panel{padding:14px}.driver-duty h1{font-size:18px;margin-bottom:10px}.driver-home .driver-map-tools{right:340px;top:96px}}
/* Keep map credits visible even when delivery cards expand. */
.driver-home .leaflet-bottom.leaflet-right{top:78px;bottom:auto;right:10px}
.driver-home .leaflet-tile-pane{filter:saturate(.65)}
.driver-map-dot{width:20px;height:20px;border:3px solid white;border-radius:50%;background:#a33827;box-shadow:0 0 0 8px #a3382722,0 2px 8px #34251f40}
.driver-home .mapboxgl-ctrl-top-left{top:78px;left:10px}.driver-home .mapboxgl-ctrl-top-right{top:78px;right:10px}.driver-home .mapboxgl-ctrl-group{border-radius:12px;overflow:hidden;box-shadow:0 3px 15px #30251d18}.driver-home .mapboxgl-ctrl-group button{width:40px;height:40px;min-height:0;padding:0}.driver-home .mapboxgl-canvas{outline:none}.driver-home .mapboxgl-ctrl-attrib{font-size:10px}.driver-home .mapboxgl-ctrl-logo{margin:0}
/* Warm, restrained map furniture with clear touch targets. */
body:has(.driver-home) .driver-header{background:#fffdf8f5;border-color:#fffaf5;box-shadow:0 4px 24px #48382116;border-radius:22px;padding:13px 17px}
.driver-home .driver-map-tools button{background:#fffdf8;border:1px solid #fff;border-radius:16px;color:#48382f;font-weight:650;box-shadow:0 4px 18px #4937221a}
.driver-home .driver-map-tools [data-driver-locate]:before{content:'⌖';font-size:23px;vertical-align:middle;line-height:16px;margin-right:8px;color:#a33827}
.driver-home .driver-map-tools button:focus-visible{outline:3px solid #a3382770;outline-offset:3px}
.driver-home .mapboxgl-ctrl-group{background:#fffdf8;border:1px solid #fff;box-shadow:0 4px 18px #4937221a;border-radius:16px}
.driver-home .mapboxgl-ctrl-group button{width:42px;height:42px}.driver-home .mapboxgl-ctrl-group button+button{border-top:1px solid #eee7dc}
.driver-bottom-sheet{border:1px solid #fff9f0;background:#fffcf7;box-shadow:0 8px 40px #49372224;border-radius:28px}
.driver-duty.panel{padding:21px 22px}.driver-duty h1{font-size:23px;font-weight:750;letter-spacing:-.65px;color:#392b24;margin:6px 0 18px}
.driver-duty .eyebrow{letter-spacing:1.7px;font-size:10px;color:#86786b}
.driver-duty>button.primary{background:linear-gradient(135deg,#b34b34,#92301f);border:1px solid #933420;box-shadow:0 5px 14px #96342026;color:#fffdf8}
.driver-duty>button{border-radius:18px;min-height:56px;letter-spacing:.1px;transition:transform .15s,box-shadow .15s}
.driver-duty>button:active{transform:scale(.985)}
.driver-map-dot{width:22px;height:22px;border:4px solid #fffdf8;background:#a33827;box-shadow:0 0 0 9px #a3382718,0 0 0 19px #a3382708,0 3px 12px #49372235}
.driver-nav{background:#fffcf7;border-top:1px solid #eae1d5}.driver-nav .active{color:#a33827}.driver-nav .active svg{filter:drop-shadow(0 2px 4px #a3382718)}
@media(prefers-reduced-motion:reduce){.driver-duty>button{transition:none}}
@media(max-width:699px){.driver-home .mapboxgl-ctrl-top-right{top:154px;right:14px}}

.driver-duty .driver-location,.driver-location-disclosure{font-size:12px;line-height:1.45;color:#76695d;background:none;padding:0;margin:10px 0 0}.driver-duty .driver-location[hidden]{display:none}
/* Appearance controls share the existing map; toggling does not create another map instance. */
.driver-home .driver-map-tools{max-width:210px;gap:9px}
.driver-map-style{display:flex;gap:5px;padding:4px;border-radius:19px;background:#fffdf8;box-shadow:0 4px 18px #4937221a}
.driver-map-style[hidden]{display:none}
.driver-home .driver-map-style button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;min-width:48px;box-shadow:none;border:0;border-radius:14px;background:transparent;font-size:12px}
.driver-home .driver-map-style button[aria-pressed="true"]{background:#f2e0d7;color:#92301f}
.driver-home .driver-map-style button span{font:inherit;background:none;padding:0}
.driver-map-style svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.driver-home .driver-map-tools [data-driver-map-message]{flex-basis:100%;line-height:1.4}
.driver-home .mapboxgl-ctrl-top-right{top:212px;right:14px}
.driver-home:has([data-map-light="night"]) .driver-map-style,.driver-home:has([data-map-light="night"]) .driver-map-tools>button,.driver-home:has([data-map-light="night"]) .driver-map-tools>[role="status"]:not(:empty){background:#252c36;color:#f7f2e9;border-color:#41454b}
.driver-home:has([data-map-light="night"]) .driver-map-style button{color:#f7f2e9}
.driver-home:has([data-map-light="night"]) .driver-map-style button[aria-pressed="true"]{background:#49505a;color:#fff}
.driver-home:has([data-map-light="night"]) .driver-map-dot{background:#e56d4b;box-shadow:0 0 0 9px #e56d4b24,0 0 0 19px #e56d4b0d,0 3px 12px #0008}
@media(min-width:700px){.driver-home .mapboxgl-ctrl-top-right{top:132px;right:22px}}
@media(max-height:520px){.driver-home .driver-map-tools{top:86px;right:340px;max-width:195px}.driver-home .mapboxgl-ctrl-top-right{top:208px;right:340px}}
/* Quiet home screen: controls and credits stay clear of the delivery action. */
.driver-home .driver-map-tools{top:calc(18px + env(safe-area-inset-top));right:16px;max-width:220px}
.driver-home .driver-map-tools [data-driver-locate]{width:46px;height:46px;min-height:46px;padding:12px;border-radius:50%;display:grid;place-items:center}
.driver-home .driver-map-tools [data-driver-locate]:before{content:none}
.driver-home .driver-map-tools [data-driver-locate] svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.driver-home .mapboxgl-ctrl-top-left{top:calc(12px + env(safe-area-inset-top));left:10px}
.driver-home .mapboxgl-ctrl-top-right{top:calc(72px + env(safe-area-inset-top));right:18px}
.driver-home .leaflet-bottom.leaflet-right{top:calc(76px + env(safe-area-inset-top));right:16px;bottom:auto}
.driver-bottom-sheet{background:transparent;border:0;box-shadow:none;border-radius:22px;bottom:calc(74px + env(safe-area-inset-bottom))}
.driver-duty{margin:0;padding:8px;background:transparent;border:0;box-shadow:none;display:block}
.driver-duty>button{margin:0;width:100%;border-radius:19px;min-height:58px;box-shadow:0 5px 24px #38231930}
.driver-duty>button.secondary{background:#fffdf8;color:#863223;border:1px solid #e1d9ce}
.driver-duty>button:disabled{opacity:.8;background:#eee9e1;color:#71665a;box-shadow:none;border:1px solid #ddd4c8;cursor:default}
.driver-duty .driver-location:not([hidden]){padding:10px 12px;border-radius:12px;background:#fffdf8;color:#733020}
.driver-offers:not(:empty){padding:8px}.driver-offers .driver-card{background:#fffdf8}
.driver-location-access{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#fffaf1;border:1px solid #e5dccc;border-radius:16px;padding:12px 14px;color:#4b382e;font-size:13px;line-height:1.4;margin:12px 0}
.driver-location-access[hidden]{display:none}.driver-location-access button[hidden]{display:none}
.driver-location-access button{min-height:44px;white-space:nowrap;font-size:12px;padding:9px 12px}
.driver-map-shell>.driver-location-access{position:absolute;top:calc(110px + env(safe-area-inset-top));left:16px;right:16px;z-index:4;margin:0;box-shadow:0 4px 20px #30251d18}
.driver-map-settings summary{cursor:pointer;font-size:17px;font-weight:650;padding:10px 0;min-height:44px}
.driver-account .driver-map-settings details>label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0}
.driver-account .driver-map-settings select{width:130px;min-height:44px;flex:none;font:inherit;font-size:16px;border:1px solid #ded4c6;border-radius:10px;padding:8px 10px;background:#fffdf8;color:#34251f}.driver-map-settings p{font-size:13px;line-height:1.5}
@media(min-width:700px){.driver-map-shell>.driver-location-access{max-width:390px;right:auto}.driver-bottom-sheet{bottom:82px}.driver-home .driver-map-tools{top:24px;right:24px}}
@media(max-height:520px){.driver-bottom-sheet{max-height:60%;width:300px}.driver-home .driver-map-tools{right:16px;top:12px}.driver-map-shell>.driver-location-access{right:330px;top:64px;left:12px;flex-wrap:wrap}.driver-home .mapboxgl-ctrl-top-right{top:64px;right:18px}}
