/* Customer-only application shell. Staff layouts keep their existing styles. */
.customer-web{background:#f8f6ef;color:#171717;padding-bottom:calc(86px + env(safe-area-inset-bottom));--green:#171717;--accent:#ffcf00}
.customer-web .topbar{max-width:none;min-height:88px;height:auto;padding:16px max(20px,calc((100vw - 1000px)/2));flex-wrap:nowrap}
.customer-web .topbar .brandmark{width:44px;height:44px;object-fit:contain}
.customer-web .region{display:block;font-size:11px;margin-left:auto;color:#b0b0b0}
.customer-web .topbar .desktop{display:none}
.customer-web .brand{font-size:22px;letter-spacing:0}
.customer-web .card{border-radius:20px;background:white}
.customer-web .service-grid{grid-template-columns:1fr}
.customer-web .service-choice{min-height:100px;padding:16px;border-radius:16px;display:flex;align-items:center}
.customer-web .service-choice>span:nth-child(2){flex:1}
.customer-web .service-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fff2b5}
.customer-web .service-icon img{width:36px;height:36px}
.customer-web .unavailable .service-icon{opacity:.6}
.customer-web .customer-home{max-width:760px}
.customer-web button,.customer-web .button{min-height:48px;border-radius:14px;font-weight:600}
.customer-web button:not(.secondary):not(.text-button):not(.danger),.customer-web .button:not(.secondary):not(.danger){background:#ffcf00;color:#171717;border-color:#ffcf00}
.customer-web .text-button{background:transparent;color:#171717;padding:10px}
.customer-web .customer-tabs{position:fixed;z-index:900;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:1px solid #dedbd2;padding:8px 12px max(8px,env(safe-area-inset-bottom))}
.customer-tabs a{flex:1;max-width:230px;display:flex;align-items:center;flex-direction:column;gap:3px;color:#555;font-size:12px;text-decoration:none;min-height:54px}
.customer-tabs a span{display:grid;place-items:center;width:58px;height:28px;border-radius:18px;font-size:24px;line-height:1}
.customer-tabs a[aria-current]{font-weight:700;color:#171717}
.customer-tabs a[aria-current] span{background:#fff0b2}
.customer-web footer{max-width:720px;margin:20px auto;padding:16px;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.customer-notice{padding:14px;margin:16px;background:#fff0b2;border-radius:12px;overflow-wrap:anywhere}
.customer-web .customer-request-row{display:block;padding:18px 0;border-bottom:1px solid #e7e4da;color:#171717;text-decoration:none}
.customer-request-row strong,.customer-request-row small{display:block;margin-bottom:6px}
.customer-request-row .badge{margin-top:6px}
.customer-workspace .card{margin-top:20px;overflow-wrap:anywhere}
.customer-workspace .card button+button,.customer-workspace .card form+button{margin-top:10px}
.customer-web summary{min-height:44px;cursor:pointer;font-weight:600}
.customer-web :focus-visible{outline:3px solid #8b6500;outline-offset:3px}
.customer-web input,.customer-web textarea{font-size:16px}
.customer-intake .intake-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.customer-intake .intake-heading h1{font-size:22px;letter-spacing:0;margin:0}
.customer-intake .request-details{max-width:760px;margin:0 auto;padding:16px}
.customer-intake #request{margin:0;border:0;background:transparent;box-shadow:none;padding:16px 0}
.customer-intake #request>h1{display:none}
.customer-enhanced.customer-intake{padding-bottom:0}
.customer-enhanced.customer-intake>.topbar,.customer-enhanced.customer-intake>footer{display:none}
.customer-enhanced .intake-wizard .fallback-control{display:none}
.customer-enhanced .intake-wizard .intake-progress{margin:6px 0;font-size:13px}
.customer-enhanced .request-details{min-height:100dvh;display:flex;flex-direction:column}
.customer-enhanced #request{flex:1;display:flex;flex-direction:column}
.customer-enhanced #request-form{flex:1;display:flex;flex-direction:column;min-height:0}
.customer-enhanced [data-intake-step="0"]{flex:1;display:flex;flex-direction:column;min-height:0}
.customer-enhanced .pickup-stage{position:relative;flex:1;min-height:260px}
.customer-enhanced #request-map{height:auto;min-height:260px;margin:0;position:absolute;inset:0;border-radius:16px}
.customer-enhanced #get-location{position:absolute;right:12px;top:12px;width:auto;max-width:calc(100% - 70px);z-index:450;font-size:13px;background:#fff0b2;border:0;padding:10px 14px}
.customer-enhanced .pickup-summary{padding:12px 4px 0}
.customer-enhanced .pickup-summary p{margin:0 0 6px;font-size:13px}
.customer-enhanced #location-feedback{font-weight:700;font-size:15px}
.customer-enhanced .intake-actions{position:sticky;bottom:0;background:white;padding:10px 16px max(10px,env(safe-area-inset-bottom));margin:8px -16px -16px;z-index:600}
.customer-enhanced .intake-actions button{min-height:50px}
.customer-web[data-intake-step="2"] .intake-actions button[data-intake-next]{background:#ffcf00;color:#171717;border-color:#ffcf00}
.customer-enhanced #request-result:empty{display:none}
.customer-enhanced [data-intake-step="1"],.customer-enhanced [data-intake-step="2"]{padding:20px;background:#fff;border-radius:20px}
.customer-enhanced #request-photo-preview{display:none}
.customer-enhanced [data-draft-photos]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customer-photo{padding:10px;border:1px solid #ddd;border-radius:12px;min-width:0;overflow-wrap:anywhere}
.customer-photo img{width:100%;height:120px;object-fit:cover;border-radius:8px}
.customer-photo button{width:100%;font-size:12px}
.customer-web dialog{border:0;border-radius:20px;width:calc(100% - 32px);max-width:440px;padding:24px;background:#fff;max-height:85dvh;overflow:auto}
.customer-web dialog::backdrop{background:#0006}
.customer-web dialog h2{margin-top:0}
.customer-tracking{max-width:760px;padding:0 16px}
.customer-tracking .card{margin-top:18px}
.customer-web .pagination{gap:8px;flex-wrap:wrap}
@media(min-width:1000px){.customer-web .customer-home{max-width:1000px}.customer-web .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-enhanced.customer-intake .request-details{max-width:900px}.customer-web .customer-workspace{max-width:760px}}
@media(max-width:380px){.customer-web .topbar{padding:16px}.customer-web .brand{font-size:20px}.customer-web .customer-home{padding:18px 16px}}
@media(max-height:540px) and (orientation:landscape){.customer-enhanced .pickup-stage{min-height:230px}.customer-enhanced .request-details{min-height:640px}}
.intake-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.intake-review-heading .text-button{flex-shrink:0;font-size:13px;padding:8px}
.customer-enhanced [data-intake-step="1"]>h2{font-size:1.1rem;margin-top:0}
.customer-intake [data-take-request-photo]{background:#fff;border:1px solid #aaa}.customer-intake [data-choose-request-photo]{text-decoration:underline}
.customer-intake .intake-progress{font-variant-numeric:tabular-nums}.customer-tracking h2{font-size:1.1rem}

.tracking-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.customer-tracking .card{overflow-wrap:anywhere}

.customer-safety{background:#fff4c4;border:1px solid #ded2a3;border-radius:12px;padding:12px;margin:0 0 12px;font-size:13px}.customer-safety p{margin:0 0 8px}.customer-safety>div{display:flex;gap:8px}.customer-safety .button{min-height:44px;padding:8px 14px;font-size:13px}.customer-safety.highway-safety{border:2px solid #8b6500;background:#ffe89a}
.customer-web .service-choice.unavailable{width:100%;text-align:left;color:#686868;background:#f0eee7;border-color:#d5d2c8;cursor:pointer}.unavailable-note{padding:12px;background:#fff;border:1px solid #d5d2c8;border-radius:12px;margin-top:6px}.unavailable-note[hidden]{display:none}.unavailable-note p{margin:0 0 8px}
.customer-enhanced [data-intake-step="0"]{flex:0;gap:0}.customer-enhanced .pickup-stage{flex:none;height:240px;min-height:240px}.customer-enhanced #request-map{min-height:240px}.customer-enhanced .pickup-summary{padding-top:8px}.customer-enhanced .intake-actions .primary{margin-top:0}.customer-enhanced #request-form{justify-content:flex-start}.customer-enhanced .intake-actions{margin-top:12px}.highway-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;margin:8px 0}.highway-toggle input{flex-shrink:0}.customer-intake fieldset{border:1px solid #d5d2c8;border-radius:12px;padding:12px;min-width:0}.customer-intake fieldset legend{font-weight:600}.customer-intake fieldset input,.customer-intake fieldset select{max-width:100%}.customer-intake [data-address-confirmation]{margin:0 0 6px}

@media(max-width:380px){.customer-enhanced .pickup-stage{height:220px;min-height:220px}.customer-enhanced #request-map{min-height:220px}.customer-enhanced [data-intake-step="0"]>label:not(.highway-toggle),.customer-enhanced [data-intake-step="0"]>p{margin-bottom:8px}}

.language-switch{margin-left:auto;display:flex;align-items:center;flex-shrink:0;white-space:nowrap;font-size:14px;gap:2px}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none}.language-switch a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:4px}.customer-web .topbar{flex-wrap:wrap}.customer-web label,.customer-web button,.customer-web .button{overflow-wrap:anywhere}.customer-web .customer-tabs a{min-width:0}

.intake-language{display:none;justify-content:flex-end;margin-bottom:8px}.customer-enhanced .intake-language{display:flex}
.arrival-plate{font-size:2.3rem;font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere}.arrival-code{font-size:1.7rem;letter-spacing:.15em}.service-answers dt,.receipt dt{font-weight:600;margin-top:.8rem}.service-answers dd,.receipt dd{margin-left:0;overflow-wrap:anywhere}.receipt-tools{display:flex;justify-content:space-between;gap:1rem}
@media print{body:has(.receipt) .topbar,body:has(.receipt) footer,body:has(.receipt) .customer-tabs,.receipt-tools,#connection-banner{display:none!important}.receipt{max-width:none;margin:0;padding:1cm;color:#000;background:#fff}body:has(.receipt){background:#fff}}

.recent-destination-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.recent-destination-chips button{max-width:100%;overflow-wrap:anywhere;text-align:left}

.customer-web .text-button,.intake-review-heading .text-button{min-width:44px;min-height:44px}.field-error{color:#b3261e;margin-top:0}.customer-web a:not(.leaflet-marker-icon):not(.leaflet-control a){min-width:44px;min-height:44px;display:inline-flex;align-items:center}.customer-web .secondary{background:transparent;color:#171717;border-color:#171717}

/* Approved customer flow, 1 Nov 2026. Only steps 2/3 and 3/3 change intake layout. */
.customer-enhanced [data-intake-step="1"],.customer-enhanced [data-intake-step="2"]{background:transparent;padding:0}
.customer-web .intake-panel{background:#fff;border:1px solid #dedbd2;border-radius:18px;padding:18px;margin:0 0 16px;min-width:0}
.customer-web .intake-panel h2{font-size:1.15rem;margin-bottom:16px}
.customer-web .intake-panel legend{font-size:1.15rem;padding:0 6px}
.customer-web .chip-grid,.customer-web .photo-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9em),1fr));gap:10px}
.customer-web .chip-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9em,calc(50% - 5px))),1fr))}
html[lang=ms] .customer-web .chip-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(11em,calc(50% - 5px))),1fr))}
.customer-web .condition-chip{position:relative;margin:0;display:flex;min-height:48px;border:1px solid #777;border-radius:12px;cursor:pointer;overflow:hidden}
.customer-web .condition-chip input,.customer-web .star-options input{position:absolute;opacity:0;width:1px;height:1px}
.customer-web .condition-chip span{display:flex;align-items:center;gap:8px;width:100%;padding:12px;overflow-wrap:anywhere}
.customer-web .condition-chip input:checked+span{background:#ffcf00;color:#171717;font-weight:650}
.customer-web .condition-chip input:checked+span:before{content:'✓';font-weight:800}
.customer-web .condition-chip:focus-within,.customer-web .star-options label:focus-within{outline:3px solid #8b6500;outline-offset:3px}
.customer-web .photo-actions button{margin:0;text-decoration:none;height:auto;padding:12px 8px}
.customer-web #customer-optional-details{margin-top:16px}
.customer-web #destination-sheet{max-width:640px;width:calc(100% - 24px);padding:20px;max-height:90dvh;color:inherit}
.customer-web .destination-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.customer-web .destination-sheet-heading h2{margin:0}
.customer-web #destination-sheet [data-destination-picker]{display:block;height:240px;min-height:180px}
.customer-web [data-intake-review]{background:#fff;border:1px solid #dedbd2;border-radius:18px;padding:4px 18px;margin-bottom:16px}
.customer-web .intake-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.customer-web .intake-review-row:last-child{border-bottom:0}
.customer-web .intake-review-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.customer-web .intake-review-content strong{font-size:.85rem;color:var(--muted)}
.customer-web .intake-review-row>.text-button{flex-shrink:0}
.customer-web .customer-amount,.customer-web .customer-eta{font-size:2.5rem;line-height:1.2;font-weight:800;margin:12px 0}
.customer-web .payment-first-card{border:2px solid #ffcf00}
.customer-web h1.payment-pill{display:inline-block;background:#ffcf00;color:#171717;border-radius:999px;padding:6px 12px;font-size:1rem;letter-spacing:0;margin-bottom:8px}
.customer-web #customer-payment-qr>.qr-primary{display:flex;align-items:center;justify-content:center;background:#ffcf00;color:#171717;border-radius:12px;padding:14px;min-height:50px;margin-bottom:12px;text-align:center}
.customer-web #customer-payment-qr>.qr-primary:before{content:none}
.customer-web .tracking-link-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0}
.customer-web .tracking-link-row>div:first-child{flex:1 1 12em;min-width:0}
.customer-web .tracking-link-row h2{font-size:1rem;margin:0 0 4px}
.customer-web .tracking-link-row p{margin:0}
.customer-web .tracking-link-row .tracking-tools{margin:0;gap:4px}
.customer-web .complete-check{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#146139;background:#e5f3eb;font-size:1.75rem;margin-bottom:12px}
.customer-web .completion-card h1{margin-bottom:12px}
.customer-web .rating-stars{border:0;padding:0;margin:0 0 14px;min-width:0}
.customer-web .star-options{display:flex;flex-wrap:wrap;gap:4px}
.customer-web .star-options label{position:relative;margin:0;display:grid;place-items:center;cursor:pointer;min-width:44px;min-height:48px;border:1px solid #777;border-radius:10px}
.customer-web .star-options span{font-size:1.8rem;padding:0 6px;color:#666}
.customer-web .star-options label:has(input:checked),.customer-web .star-options label:has(~label input:checked){background:#ffcf00;border-color:#ffcf00}
.customer-web .star-options label:has(input:checked) span,.customer-web .star-options label:has(~label input:checked) span{color:#171717}
.customer-web .destructive-text{color:#b3261e}
.customer-web .danger{background:transparent;border-color:#b3261e;color:#b3261e}
.customer-web .verified-payment{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.customer-web [data-completion-submit]+p{margin-top:8px}
@media(prefers-color-scheme:dark){
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)){color-scheme:dark;--ink:#f2f2f2;--muted:#bfbfbf;--line:#484848;--white:#1c1c1e;--paper:#121212;--destructive:#ffb4ab;background:#121212;color:#f2f2f2}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .card,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .intake-panel,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) [data-intake-review],.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) dialog,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .intake-actions,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-tabs{background:#1c1c1e;border-color:#484848}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .payment-first-card{border-color:#ffcf00}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .topbar{background:#171717;border-color:#484848}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) input,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) select,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) textarea{background:#242424;color:#f2f2f2;border-color:#777}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .secondary,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .text-button,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-tabs a{color:#f2f2f2;border-color:#aaa}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-tabs a[aria-current] span{color:#171717}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-tabs a[aria-current]{color:#ffcf00}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .service-choice,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-request-row{background:#1c1c1e;color:#f2f2f2;border-color:#484848}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-notice,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-safety{background:#352c10;color:#fff0b2;border-color:#8b6500}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .customer-photo,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .intake-review-row{border-color:#484848}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .intake-progress{color:#bfbfbf}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .destructive-text,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .danger{color:#ffb4ab;border-color:#ffb4ab}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) :focus-visible,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .condition-chip:focus-within,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .star-options label:focus-within{outline-color:#ffcf00}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .success-message,.customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .complete-check{color:#a6e5c2;background:#183d2b}
 .customer-web:is([data-intake-step="1"],[data-intake-step="2"],:has(.customer-tracking)) .star-options span{color:#ccc}
}

.customer-tracking h1{letter-spacing:-.025em}

.customer-web .map-search-with-detail{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
