.driver-flow>.work-heading h1{margin-bottom:var(--space-2)}
.driver-flow>.work-heading p{margin:0;color:var(--muted)}
.driver-flow .driver-step{scroll-margin-top:100px}
.driver-step>.work-heading{align-items:start;gap:var(--space-3)}
.driver-step h2{font-size:var(--work-h2);margin:var(--space-2) 0}
.driver-step .driver-destination{font-size:22px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;margin-block:var(--space-3)}
.driver-actions{display:flex;gap:var(--space-3);margin-block:var(--space-4)}
.driver-actions>*{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px}
.driver-action-form{display:grid;gap:var(--field-gap);margin-top:var(--space-4)}
.driver-action-form>label,.driver-action-form fieldset,.driver-action-form p{margin:0}
.driver-action-form .driver-confirm{width:100%;min-height:52px}
.driver-action-form .field input,.driver-action-form textarea{min-height:48px!important;width:100%;box-sizing:border-box}
.driver-handover{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:var(--space-2)}
.driver-handover>label,.driver-check{display:flex;align-items:center;gap:var(--space-3);min-height:48px;margin:0}
.driver-handover input[type=radio],.driver-check input[type=checkbox]{width:24px!important;height:24px!important;min-height:24px!important;flex:none;margin:0}
.driver-handover .field{display:grid}
.driver-photo-file{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;overflow:hidden}
.driver-photo-button{width:100%;min-height:48px;margin-top:var(--space-2)}
.driver-action-form .delivery-photo-preview{width:100%;max-height:180px;object-fit:contain}
.driver-order-details,.driver-exception{margin-top:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-2)}
.driver-flow summary{min-height:48px;cursor:pointer;align-content:center;font-weight:600}
.driver-flow .driver-sync-panel:empty{display:none}
.driver-task-list{padding:0;list-style:none;margin:var(--space-4) 0 0}
.driver-task-list>li+li{border-top:1px solid var(--line)}
.driver-task-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-4) 0;min-height:48px}
.driver-task-list a small{grid-column:1/-1;overflow-wrap:anywhere}
.driver-flow .driver-customer-note{border-left:3px solid var(--accent);padding-left:var(--space-3)}
.driver-flow [hidden]{display:none!important}
.workspace:has(.driver-flow) .workspace-main.driver-workspace{padding:0}
/* Mobile driver navigation is already available in the fixed bottom bar and header menu. */
@media(max-width:768px){.workspace:has(.driver-flow)>.workspace-sidebar{display:none!important}.driver-step>.work-heading{display:flex;flex-wrap:wrap;align-items:center}.driver-step>.work-heading>strong{font-size:var(--font-size-caption);overflow-wrap:anywhere;color:var(--muted)}.driver-flow .driver-destination{font-size:20px}.driver-flow .driver-map-panel .driver-overview-map{height:260px}body:has(.driver-flow) .site-footer{display:none}}

.driver-site-header .header-actions{margin-left:auto}
.driver-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:768px){.driver-site-header strong{display:none}.driver-site-header .header-inner{gap:var(--space-2)}.driver-site-header .header-actions{gap:var(--space-2)}.driver-site-header .icon-button,.driver-site-header .language-button{min-width:48px;min-height:48px}.driver-site-header .brand-link{flex-shrink:1;min-width:0}}

.driver-action-form>[data-delivery-upload-status]:empty,.driver-action-form>.dispatch-error:empty{display:none}
.driver-handover{grid-template-columns:repeat(2,minmax(0,1fr))}
.driver-handover>label{min-width:0}
.driver-handover>label:nth-of-type(3),.driver-handover>[data-driver-other]{grid-column:1/-1}
@media(max-width:768px){.driver-action-form .delivery-photo-preview{max-height:140px}}
.driver-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.delivery-scanner .field{display:grid;gap:var(--space-3)}
.delivery-scanner input[type=file]{width:100%;font-size:var(--body-size,16px)}

/* Managed delivery controls wrap on narrow phones; keep the shared touch targets. */
.managed-driver-header .header-inner { flex-wrap:wrap; gap:var(--space-2); }
.managed-driver-header .wordmark { flex:1 1 130px; min-width:0; white-space:normal; font-size:var(--font-size-body); }
.managed-driver-header .account-signout { margin:0; padding:0; border:0; }
.managed-driver-header .account-signout button { min-height:var(--touch-target); }
.driver-actions > .field { min-width:0; margin:0; }
.driver-actions select { width:100%; min-width:0; max-width:100%; }
.driver-delay-controls { margin-block:var(--space-4); }
.driver-delay-controls .button { white-space:normal; max-width:100%; }

.driver-actions { flex-wrap:wrap; }
.driver-actions > .field { flex:1 0 100%; order:3; justify-content:flex-start; gap:var(--space-3); }
.driver-actions > .field select { flex:1; width:auto; }
.managed-driver-mode .support-launcher, .managed-driver-mode .support-chat { display:none; }

/* Large square scan surface; the decoder still reads the full camera frame. */
.delivery-label-dialog.delivery-scanner{width:min(680px,calc(100vw - 16px));max-height:96dvh;padding:var(--space-4)}
.delivery-scan-stage{position:relative;width:100%;aspect-ratio:1;max-width:560px;margin:var(--space-4) auto;background:#111;overflow:hidden;border-radius:var(--radius)}
.delivery-scan-stage video{width:100%;height:100%;object-fit:cover;display:block}
.delivery-scan-stage video[hidden]{display:none}
.delivery-scan-guide{position:absolute;inset:10%;border:3px solid #fff;border-radius:var(--radius);pointer-events:none;box-shadow:0 0 0 100vmax #0005}
.delivery-scanner .label-tools>button{flex:1 1 120px}
@media(max-width:600px){.delivery-label-dialog.delivery-scanner{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) max(var(--space-4),env(safe-area-inset-bottom))}}

/* A persistent work bar also serves managed accounts whose site footer is intentionally absent. */
.driver-flow{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
body:has(.driver-flow) .mobile-bottom-nav{display:none!important}
.driver-work-nav{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface,#fff);border-top:1px solid var(--line)}
.driver-work-nav button{min-height:48px!important}
.driver-work-nav [aria-current=page]{background:var(--accent);color:white}
.driver-task-list>li{padding-block:var(--space-3)}
.driver-task-list>li>:is(a,.driver-task-summary){padding:0;grid-template-columns:minmax(0,1fr);gap:var(--space-1)}
.driver-task-list>li>:is(a,.driver-task-summary) span{font-size:var(--font-size-caption);color:var(--muted)}
.driver-task-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.driver-task-list .driver-task-actions a{display:flex;align-items:center;justify-content:center;padding:var(--space-2);flex:1;min-height:48px}
.driver-list-note{margin:var(--space-2) 0;overflow-wrap:anywhere}

.driver-record-actions>button{flex:1;min-height:48px!important}
.driver-task-actions>button{min-height:48px!important}
.driver-task-done{background:#f0efed;color:#65615b;border-radius:var(--radius);padding-inline:var(--space-2)}
.driver-task-done .button-primary{background:#706b65}
.driver-task-list>li:focus{outline:2px solid var(--accent);outline-offset:2px;scroll-margin-block:110px}
.driver-task-list [data-task-record],.driver-task-list [data-task-note-form]{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius)}
.driver-task-list form{display:grid;gap:var(--space-3)}
.driver-task-list form input,.driver-task-list form select,.driver-task-list form button{min-height:48px!important}
.driver-task-list form textarea{width:100%;min-height:88px}
.driver-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}
.driver-task-list .driver-photo-grid a{display:grid;padding:0;font-size:var(--font-size-caption)}
.driver-photo-grid img{width:100%;height:100px;object-fit:cover;border-radius:var(--radius)}
.delivery-notification-banner{position:fixed;z-index:120;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 24px));display:flex;align-items:start;gap:var(--space-3);padding:var(--space-4);box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 20px #0003}
.delivery-notification-banner>a{display:grid;gap:var(--space-2);flex:1;min-width:0;overflow-wrap:anywhere;color:var(--ink,#30251d)}
.delivery-notification-banner button{min-width:48px;min-height:48px!important}

.driver-photo-item{position:relative;min-width:0}.driver-photo-remove{position:absolute;top:0;right:0;width:44px;min-height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--text);font-size:24px;padding:0}.driver-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.driver-photo-actions .button{padding-inline:4px;white-space:normal;min-width:0}.driver-task-done [data-task-delivered],.driver-task-done [data-task-complete] button{background:#e5e5e5;color:#666;border-color:#ddd}

.driver-task-list .driver-photo-grid a{grid-template-columns:minmax(0,1fr);gap:0}

.driver-task-summary{display:grid;min-width:0}.driver-task-summary small{grid-column:1/-1}

.driver-photo-actions>[type=submit]{grid-column:1/-1}.driver-task-done [data-task-photos]{background:#e5e5e5;color:#666;border-color:#ddd}

/* Keep the task card as the single container; nested actions use spacing, not frames. */
.driver-task-list [data-task-record],.driver-task-list [data-task-note-form]{border:0;border-radius:0;padding:12px 0 0;box-shadow:none}
.driver-photo-actions>.button:not(.button-primary){border-color:transparent;background:var(--surface-raised);box-shadow:none}
.driver-photo-preview{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.driver-photo-item{padding-top:28px}
.driver-photo-item .driver-photo-remove{top:-8px;right:-8px;background:transparent;border:0;border-radius:0;box-shadow:none;font:400 20px/1 Arial;color:var(--text);width:44px;height:44px;padding:0}
.driver-photo-viewer{box-sizing:border-box;width:min(100vw,1000px);height:100dvh;max-width:100vw;max-height:100dvh;padding:56px 12px 16px;border:0;margin:auto;background:#171717;color:#fff;overflow:auto}
.driver-photo-viewer::backdrop{background:#000c}
.driver-photo-viewer>img{display:block;width:100%;height:calc(100dvh - 80px);object-fit:contain}
.driver-viewer-close{position:absolute;top:8px;right:8px;width:44px;min-height:44px;background:transparent;border:0;color:white;font:400 26px/1 Arial;cursor:pointer}
.driver-photo-preview:focus-visible,.driver-photo-remove:focus-visible,.driver-viewer-close:focus-visible{outline:2px solid var(--copper);outline-offset:2px}

.delivery-scanner [data-scan-result]{padding:12px 0;overflow-wrap:anywhere;font-size:16px;line-height:1.5}
.delivery-scanner [data-scan-result] h3{font-size:18px;margin:0 0 12px}
.delivery-scanner [data-scan-result] p{margin:8px 0}
.delivery-scanner .scan-recipient{font-weight:700}
.delivery-scanner .scan-result-mismatch,.delivery-scanner .scan-result-mismatch h3,.delivery-scanner .scan-result-mismatch p{color:var(--status-danger);font-weight:700}
.delivery-scanner [data-scan-controls][hidden],.delivery-scanner [data-scan-result][hidden]{display:none!important}
