/* WORCAR 2026 visual system. Shared by every passenger and driver screen. */
:root {
  --wc-ink:#111614; --wc-muted:#6c7370; --wc-paper:#fff; --wc-soft:#f7f8f7;
  --wc-line:#e7ebe8; --wc-mint:#eff8f1; --wc-green:#078449; --wc-primary:#171b19;
  --wc-on-primary:#fff; --wc-radius:22px; --wc-error:#b52828;
}
html[data-theme="dark"] {
  --wc-ink:#f2f5f2; --wc-muted:#a5afa9; --wc-paper:#191e1b; --wc-soft:#222925;
  --wc-line:#333d36; --wc-mint:#20352a; --wc-green:#6bdaa1; --wc-primary:#e8f2ec;
  --wc-on-primary:#16231b; --wc-error:#ff9494;
}
body.worcar-app { background:var(--wc-paper); color:var(--wc-ink); font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.worcar-app :is(button,input,select,textarea) { font-family:var(--font-ui); }
body.worcar-app :is(h1,h2,h3) { color:var(--wc-ink); font-weight:750; letter-spacing:-.035em; }
body.worcar-app h1 { font-size:clamp(29px,7.6vw,36px); line-height:1.12; }
body.worcar-app h2 { font-size:21px; line-height:1.25; }
body.worcar-app h3 { font-size:17px; }
body.worcar-app :is(.muted,.field-hint,.greeting,.dw-small,.dw-footnote,.account-small-note) { color:var(--wc-muted); }
body.worcar-app :focus-visible { outline:3px solid var(--wc-green); outline-offset:3px; }
body.worcar-app .topbar { max-width:624px; height:80px; padding:18px 24px; background:var(--wc-paper); border:0; }
body.worcar-app .wordmark { width:159px; height:auto; max-height:31px; }
body.worcar-app .notification-bell { width:42px; height:42px; border-radius:50%; background:var(--wc-soft); color:var(--wc-ink); border:0; }
body.worcar-app .main,body.worcar-app .main.narrow { max-width:624px; margin:12px auto 104px; padding:0 24px; }
body.worcar-app .page-heading,body.worcar-app .dw-heading { margin:10px 0 25px; align-items:center; gap:16px; }
body.worcar-app .page-heading :is(h1,p),body.worcar-app .dw-heading h1 { margin-bottom:0; }
body.worcar-app .greeting { font-size:14px; margin:0 0 12px; }
body.worcar-app :is(.home-greeting-mark,.home-symbol) { display:none; }
body.worcar-app .main .page-title-with-notifications > .notification-bell { display:none; }
body.worcar-app .btn { min-height:52px; padding:14px 18px; border-radius:14px; background:var(--wc-primary); color:var(--wc-on-primary); border:1px solid transparent; font-size:15px; font-weight:650; box-shadow:none; letter-spacing:-.01em; }
body.worcar-app .btn.secondary { color:var(--wc-ink); background:var(--wc-soft); border-color:var(--wc-line); }
body.worcar-app .btn.ghost { color:var(--wc-ink); background:var(--wc-paper); border-color:var(--wc-line); }
body.worcar-app .btn.danger { color:var(--wc-error); background:var(--wc-paper); border-color:var(--wc-error); }
body.worcar-app .btn.small { min-height:42px; padding:10px 13px; font-size:13px; border-radius:11px; }
body.worcar-app button:disabled { cursor:not-allowed; opacity:.45; }
body.worcar-app .link { color:var(--wc-ink); }
body.worcar-app :is(.card,.dw-panel,.dw-offer,.dw-ride-card,.result-card,.travel-plan,.schedule-trip) { background:var(--wc-paper); border:1px solid var(--wc-line); border-radius:var(--wc-radius); padding:22px; box-shadow:none; }
body.worcar-app :is(.empty,.dw-empty,.schedule-empty,.earnings-empty) { background:var(--wc-soft); border:1px solid var(--wc-line); border-radius:var(--wc-radius); color:var(--wc-muted); padding:30px 22px; }
body.worcar-app :is(.empty,.dw-empty) :is(h2,h3) { color:var(--wc-ink); }
body.worcar-app :is(.badge.success,.dw-chip.positive,.availability-state,.alert-state) { color:var(--wc-green); background:var(--wc-mint); border:0; border-radius:20px; }
body.worcar-app .badge { border-radius:20px; padding:5px 10px; font-size:11px; font-weight:600; }
body.worcar-app .notice { background:var(--wc-mint); color:var(--wc-ink); border-radius:14px; font-size:13px; line-height:1.55; }
body.worcar-app .notice.error { background:#fff0ef; color:#992b2b; }
body.worcar-app :is(.field input,.field select,.field textarea,.input,.date-input-control) { min-height:54px; border:1px solid var(--wc-line); border-radius:13px; color:var(--wc-ink); background:var(--wc-soft); padding:14px 15px; font-size:16px; box-shadow:none; }
body.worcar-app .field { color:var(--wc-ink); font-size:13px; font-weight:600; gap:8px; }
body.worcar-app .field :is(input,textarea)::placeholder { color:var(--wc-muted); opacity:1; }
body.worcar-app :is(.field input,.field select,.field textarea):focus { border-color:var(--wc-green); }
body.worcar-app :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--wc-green); }
body.worcar-app .field input[type="checkbox"],body.worcar-app .field input[type="radio"] { min-height:20px; width:20px; padding:0; }
body.worcar-app .address-results { border:1px solid var(--wc-line); border-radius:14px; box-shadow:0 12px 28px #12351b0d; }
body.worcar-app .address-results:empty { border:0; }
body.worcar-app .address-option { color:var(--wc-ink); background:var(--wc-paper); padding:16px; }
body.worcar-app .address-option:is(:hover,:focus) { background:var(--wc-mint); }
body.worcar-app .bottom-nav { max-width:624px; left:50%; right:auto; transform:translateX(-50%); width:100%; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:var(--wc-paper); border-top:1px solid var(--wc-line); box-shadow:none; gap:0; backdrop-filter:none; }
body.worcar-app .bottom-nav .nav-item { flex:1; min-width:0; padding:7px 2px; gap:6px; font-size:11px; color:var(--wc-muted); background:transparent; border-radius:0; }
body.worcar-app .bottom-nav .nav-item.active { color:var(--wc-green); background:transparent; font-weight:700; }
body.worcar-app .bottom-nav .icon { width:23px; height:23px; stroke-width:1.8; }
/* Passenger home: illustration, product choice, destination and pickup. */
body.worcar-app #app .passenger-home-layout { display:flex; flex-direction:column; gap:22px; }
body.worcar-app #app .wc-home-art { position:relative; isolation:isolate; display:block; width:100%; min-height:190px; padding:18px 0; overflow:hidden; text-align:left; background:var(--wc-paper); border:0; border-radius:18px; color:var(--wc-ink); }
body.worcar-app #app .wc-home-art img { position:absolute; right:-4%; bottom:0; width:78%; height:100%; object-fit:contain; z-index:-1; }
body.worcar-app #app .wc-home-art-copy { display:flex; flex-direction:column; align-items:flex-start; gap:14px; max-width:43%; }
body.worcar-app #app .wc-home-art strong { font-size:28px; line-height:1.04; letter-spacing:-.045em; font-weight:750; }
body.worcar-app #app .wc-home-art small { display:flex; align-items:center; gap:5px; font-size:12px; max-width:130px; line-height:1.4; }
body.worcar-app #app .wc-home-art .icon { width:18px; height:18px; }
body.worcar-app #app .unified-booking { padding:0; border:0; border-radius:0; background:var(--wc-paper); color:var(--wc-ink); box-shadow:none; margin:0; }
body.worcar-app #app .booking-mode { display:grid; grid-template-columns:1fr 1fr; gap:10px; border:0; padding:0; background:transparent; margin:0 0 16px; }
body.worcar-app #app .booking-mode button { min-width:0; min-height:78px; padding:16px 13px; border:1px solid var(--wc-line); border-radius:16px; background:var(--wc-soft); color:var(--wc-ink); display:flex; align-items:center; justify-content:center; gap:12px; }
body.worcar-app #app .booking-mode button[aria-pressed="true"] { background:var(--wc-primary); color:var(--wc-on-primary); border-color:var(--wc-primary); }
body.worcar-app #app .booking-mode .mode-copy strong { font-size:15px; font-weight:700; }
body.worcar-app #app .booking-mode .mode-copy small { font-size:11px; margin-top:3px; color:inherit; opacity:.7; }
body.worcar-app #app .booking-mode .mode-icon { background:none; padding:0; border:0; color:inherit; }
body.worcar-app #app .booking-mode .mode-check { display:none; }
body.worcar-app #app .destination-launch { display:flex; gap:12px; align-items:center; width:100%; min-height:76px; margin:0 0 12px; padding:16px; border:1px solid var(--wc-line); border-radius:15px; background:var(--wc-soft); color:var(--wc-ink); text-align:left; }
body.worcar-app #app .destination-launch span { flex:1; min-width:0; }
body.worcar-app #app .destination-launch strong { display:block; font-size:14px; }
body.worcar-app #app .destination-launch small { display:block; font-size:13px; color:var(--wc-muted); margin-top:3px; }
body.worcar-app #app .home-booking-cta { justify-content:space-between; background:var(--wc-primary); color:var(--wc-on-primary); margin:4px 0 0; }
body.worcar-app #app .home-assurance { margin:0 0 6px; display:flex; align-items:center; justify-content:center; gap:8px; font-size:12px; color:var(--wc-muted); }
body.worcar-app #app .home-assurance .icon { width:18px; }
body.worcar-app #app .home-secondary:empty { display:none; }
/* Welcome and authentication. */
body.worcar-app .welcome-premium { max-width:576px; min-height:0; margin:10px auto 30px; padding:0 24px; display:flex; flex-direction:column; gap:8px; }
body.worcar-app .welcome-visual { display:block; min-height:0; padding:20px 0 0; border:0; background:none; }
body.worcar-app .welcome-message { padding:0; margin:0; }
body.worcar-app .welcome-message h1 { font-size:clamp(38px,9.5vw,54px); line-height:1.06; font-weight:750; letter-spacing:-.055em; margin:0; }
body.worcar-app .welcome-message h1 span { color:var(--wc-ink); }
body.worcar-app .wc-welcome-illustration { display:block; width:100%; height:245px; object-fit:contain; margin:8px 0; }
body.worcar-app .welcome-entry { width:100%; padding:0; margin:0; display:grid; gap:12px; }
body.worcar-app :is(.welcome-passenger,.welcome-driver) { width:100%; min-height:82px; padding:18px; border:1px solid var(--wc-line); background:var(--wc-paper); color:var(--wc-ink); border-radius:18px; display:flex; align-items:center; gap:15px; box-shadow:none; }
body.worcar-app .welcome-role-icon { width:46px; height:46px; border-radius:50%; background:var(--wc-mint); color:var(--wc-green); display:grid; place-items:center; }
body.worcar-app .welcome-driver .welcome-role-icon { background:var(--wc-soft); color:var(--wc-ink); }
body.worcar-app .welcome-role-label { flex:1; text-align:left; }
body.worcar-app .welcome-role-label strong { font-size:18px; font-weight:700; }
body.worcar-app .welcome-role-label small { color:var(--wc-muted); font-size:13px; }
body.worcar-app .welcome-role-arrow { color:var(--wc-ink); }
body.worcar-app .welcome-signin { text-align:center; margin:9px 0 0; padding:18px 0 0; border-top:1px solid var(--wc-line); color:var(--wc-muted); font-size:13px; }
body.worcar-app .welcome-signin button { color:var(--wc-ink); }
body.worcar-app .modal-backdrop { background:#0d201960; backdrop-filter:blur(4px); padding:16px; }
body.worcar-app .modal,body.worcar-app .datetime-dialog { background:var(--wc-paper); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:26px; padding:26px; max-height:calc(100dvh - 32px); box-shadow:0 24px 90px #10241924; }
body.worcar-app .modal h2 { font-size:27px; line-height:1.15; margin:0; }
body.worcar-app .modal > .row.between { align-items:center; margin-bottom:25px; }
body.worcar-app .modal .close { width:36px; height:36px; border-radius:50%; background:var(--wc-soft); color:var(--wc-ink); flex-shrink:0; }
body.worcar-app .modal :is(.notice,.field-hint) { margin:12px 0; }
body.worcar-app .auth-form { gap:19px; }
body.worcar-app .auth-intro { color:var(--wc-muted); margin:-8px 0 3px; font-size:14px; }
body.worcar-app .password-field { position:relative; }
body.worcar-app .password-field input { padding-right:72px; }
body.worcar-app .password-toggle { position:absolute; right:8px; top:6px; min-height:42px; padding:8px 12px; font-size:12px; border-radius:9px; background:transparent; color:var(--wc-muted); }
body.worcar-app .auth-forgot { justify-self:end; margin-top:-13px; font-size:13px; }
body.worcar-app .auth-switch { border-top:1px solid var(--wc-line); padding-top:16px; margin:0; text-align:center; font-size:13px; color:var(--wc-muted); }
body.worcar-app .auth-policy { font-size:12px; color:var(--wc-muted); line-height:1.55; }
body.worcar-app [data-form="account-phone-code"] input { text-align:center; font-size:28px; letter-spacing:.4em; font-variant-numeric:tabular-nums; }
body.worcar-app .field input[type="file"] { width:100%; min-height:142px; padding:30px 12px; border:1px dashed var(--wc-line); background:var(--wc-soft); font-size:13px; text-align:center; }
body.worcar-app input[type="file"]::file-selector-button { border:0; border-radius:10px; background:var(--wc-mint); color:var(--wc-green); padding:12px; font-weight:600; }
/* Booking, recurring plans, quotes and real payment status. */
body.worcar-app .refined-booking { padding:0; background:var(--wc-paper); border:0; gap:20px; }
body.worcar-app .refined-booking .booking-mode button { min-height:48px; padding:12px; }
body.worcar-app .booking-route { display:grid; gap:17px; }
body.worcar-app .booking-route .field { padding:0; border:0; border-radius:0; background:none; }
body.worcar-app .booking-route .field>span { display:flex; gap:8px; align-items:center; font-size:13px; }
body.worcar-app .booking-route .field>span .icon { width:18px; height:18px; }
body.worcar-app .location-shortcut { color:var(--wc-green); background:none; justify-self:start; font-size:13px; padding:0; min-height:30px; }
body.worcar-app :is(.booking-options,.fields,.field-pair) { gap:15px; }
body.worcar-app .arrival-control { background:var(--wc-soft); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:14px; min-height:72px; padding:13px; }
body.worcar-app .passenger-stepper { background:var(--wc-soft); border:1px solid var(--wc-line); border-radius:14px; padding:9px; min-height:72px; }
body.worcar-app .passenger-stepper button { background:var(--wc-paper); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:50%; width:36px; height:36px; }
body.worcar-app :is(.return-option,.review-leg,.recurring-leg) { border-color:var(--wc-line); border-radius:16px; }
body.worcar-app .review-route,body.worcar-app .ticket-route { border-color:var(--wc-line); }
body.worcar-app .review-total { background:var(--wc-mint); border:0; border-radius:16px; padding:20px; }
body.worcar-app .review-total>strong,body.worcar-app .fare { font-size:36px; letter-spacing:-.045em; font-weight:750; }
body.worcar-app :is(.trip-detail-disclosure,.booking-terms,.promo-disclosure) { border-color:var(--wc-line); font-size:13px; }
body.worcar-app .path:before { border-color:var(--wc-green); }
body.worcar-app .path p:before { background:var(--wc-green); border-color:var(--wc-mint); }
body.worcar-app :is(.trip-tabs,.notification-tabs,.dw-filter,.selection-segment) { background:var(--wc-soft); border:1px solid var(--wc-line); padding:4px; border-radius:14px; gap:4px; }
body.worcar-app :is(.trip-tabs,.notification-tabs,.dw-filter,.selection-segment) button { color:var(--wc-muted); background:transparent; border:0; border-radius:10px; min-height:42px; padding:9px 13px; font-size:13px; }
body.worcar-app :is(.trip-tabs,.notification-tabs,.dw-filter,.selection-segment) button[aria-pressed="true"] { color:var(--wc-green); background:var(--wc-mint); font-weight:700; box-shadow:none; }
body.worcar-app :is(.weekday-choices,.posted-days) label:has(input:checked) { background:var(--wc-mint); color:var(--wc-green); border-color:var(--wc-green); }
body.worcar-app .passenger-recurring-form { padding:22px; gap:22px; }
body.worcar-app .travel-plan { margin-bottom:18px; }
body.worcar-app :is(.schedule-trip,.recurring-review-row) { background:var(--wc-soft); }
/* Joined availability / weekly earnings card, with separate illustrated action. */
body.worcar-app #app .driver-home-controls { border:1px solid var(--wc-line); border-radius:22px; background:var(--wc-paper); overflow:hidden; margin:0 0 18px; padding:0; }
body.worcar-app #app .driver-home-now { border:0; border-radius:0; min-height:92px; padding:20px; margin:0; background:var(--wc-paper); }
body.worcar-app #app .home-now-copy strong { font-size:17px; color:var(--wc-ink); font-weight:700; }
body.worcar-app #app .home-now-copy small { color:var(--wc-muted); font-size:12px; }
body.worcar-app #app .home-week { margin:0; padding:19px 20px; background:var(--wc-mint); border-top:1px solid var(--wc-line); }
body.worcar-app #app .home-week h2 { font-size:14px; margin:0 0 9px; letter-spacing:0; }
body.worcar-app #app .home-week-card { background:none; border:0; box-shadow:none; padding:0; border-radius:0; }
body.worcar-app #app .home-week-metrics { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
body.worcar-app #app .home-week-metrics>div { border:0; padding:0; }
body.worcar-app #app .home-week-metrics dt { color:var(--wc-muted); font-size:12px; margin:0 0 4px; }
body.worcar-app #app .home-week-metrics dd { font-size:29px; font-weight:750; color:var(--wc-ink); letter-spacing:-.04em; margin:0; }
body.worcar-app #app .home-week-action { padding:13px 0 0; margin:10px 0 0; border-top:1px solid var(--wc-line); color:var(--wc-green); font-size:12px; background:none; width:100%; }
body.worcar-app #app .driver-sketch-banner { background:var(--wc-paper); border:1px solid var(--wc-line); border-radius:22px; padding:18px; margin:0 0 28px; display:block; width:100%; overflow:hidden; }
body.worcar-app #app .driver-sketch-content { position:relative; min-height:156px; display:flex; align-items:flex-start; isolation:isolate; }
body.worcar-app #app .driver-sketch-content img { position:absolute; width:75%; height:100%; right:-4%; bottom:0; object-fit:contain; z-index:-1; }
body.worcar-app #app .driver-sketch-content .routine-copy { padding:10px 0; width:45%; }
body.worcar-app #app .driver-sketch-content strong { font-size:28px; line-height:1.05; color:var(--wc-ink); font-weight:750; letter-spacing:-.04em; }
body.worcar-app #app .driver-sketch-action { border-top:1px solid var(--wc-line); padding:14px 0 0; color:var(--wc-ink); font-weight:600; font-size:14px; }
body.worcar-app #app .home-rides-empty { background:var(--wc-soft); border:1px solid var(--wc-line); border-radius:18px; padding:22px 18px; margin-bottom:20px; }
body.worcar-app #app .home-rides-empty h3 { font-size:15px; }
body.worcar-app #app .home-rides-empty p { font-size:12px; color:var(--wc-muted); }
body.worcar-app #app .ride-now-switch { background:var(--wc-soft); border:1px solid var(--wc-line); color:var(--wc-ink); min-width:88px; }
body.worcar-app #app .ride-now-switch[aria-checked="true"] { background:var(--wc-mint); border-color:var(--wc-green); }
body.worcar-app #app .ride-now-switch[aria-checked="true"]>span { background:var(--wc-green); }
/* Availability calendar and editor. */
body.worcar-app .home-availability-card { background:var(--wc-primary); color:var(--wc-on-primary); border:0; border-radius:22px; padding:23px; }
body.worcar-app .home-availability-card :is(h2,h3,strong,p,small) { color:inherit; }
body.worcar-app .diary-week button { border-radius:12px; border:1px solid var(--wc-line); background:var(--wc-soft); color:var(--wc-muted); min-height:73px; }
body.worcar-app .diary-week button[aria-pressed="true"] { background:var(--wc-green); color:var(--wc-paper); border-color:var(--wc-green); }
body.worcar-app .diary-entry { border:1px solid var(--wc-line); border-radius:16px; padding:19px; background:var(--wc-paper); }
body.worcar-app .diary-time { color:var(--wc-ink); font-weight:700; }
body.worcar-app .diary-place { color:var(--wc-muted); }
body.worcar-app .flex-editor { background:var(--wc-paper); border:0; border-radius:0; padding:0; }
body.worcar-app :is(.availability-where,.availability-when,.availability-booking,.availability-repeat-block,.availability-return) { border-color:var(--wc-line); padding-top:23px; margin-top:24px; }
body.worcar-app .availability-where { padding-top:0; margin-top:0; border:0; }
body.worcar-app .availability-info { color:var(--wc-muted); }
body.worcar-app .availability-savebar { background:var(--wc-paper); border-top:1px solid var(--wc-line); padding:14px 20px calc(14px + env(safe-area-inset-bottom)); }
body.worcar-app .availability-agreement { color:var(--wc-muted); font-size:12px; line-height:1.5; }
body.worcar-app :is(.availability-unset,.diary-empty) { background:var(--wc-mint); border-radius:18px; }
/* Real maps retain their controls and lifecycle. Only their framing changes. */
body.worcar-app :is(.map,.ride-map,.driver-live-map) { border-color:var(--wc-line); border-radius:20px; overflow:hidden; }
body.worcar-app :is(.driver-next-card,.trip-overview,.live-panel) { background:var(--wc-paper); border-color:var(--wc-line); border-radius:22px; }
body.worcar-app .driver-avatar { background:var(--wc-mint); color:var(--wc-green); border:0; border-radius:50%; }
body.worcar-app .ticket-registration { background:var(--wc-soft); color:var(--wc-ink); border:1px solid var(--wc-line); padding:5px 9px; border-radius:6px; font-weight:650; letter-spacing:.025em; }
body.worcar-app .completion-symbol { background:var(--wc-mint); color:var(--wc-green); border-radius:50%; }
body.worcar-app .completion-heading { padding-top:14px; text-align:center; }
body.worcar-app .trip-contact-actions .btn { background:var(--wc-soft); color:var(--wc-ink); border:1px solid var(--wc-line); }
body.worcar-app .ticket-estimates { background:var(--wc-mint); }
body.worcar-app :is(.rating-stars,.stars) { color:var(--wc-green); }
/* Account, documents, payments, notifications, conversations and support. */
body.worcar-app :is(.passenger-profile-card,.driver-profile-card) { border:0; background:var(--wc-paper); padding:8px 0 25px; border-radius:0; }
body.worcar-app .account-avatar { width:62px; height:62px; color:var(--wc-green); background:var(--wc-mint); font-size:24px; border-radius:50%; }
body.worcar-app :is(.passenger-profile-card,.driver-profile-card) strong { color:var(--wc-ink); font-size:21px; }
body.worcar-app :is(.passenger-profile-card,.driver-profile-card) small { color:var(--wc-muted); font-size:13px; }
body.worcar-app :is(.account-settings,.account-info-list,.account-faq,.account-safety-guide,.payment-cards,.earnings-list) { border:1px solid var(--wc-line); border-radius:20px; overflow:hidden; background:var(--wc-paper); }
body.worcar-app .account-row { background:var(--wc-paper); color:var(--wc-ink); min-height:68px; padding:16px 18px; border-bottom-color:var(--wc-line); }
body.worcar-app .account-row-icon { color:var(--wc-ink); background:none; padding:0; width:26px; height:26px; }
body.worcar-app .account-row-copy strong { font-size:14px; font-weight:550; }
body.worcar-app .account-row-copy small { color:var(--wc-muted); font-size:12px; margin-top:3px; }
body.worcar-app :is(.driver-menu-label,.passenger-menu-label,.account-section-title) { font-size:13px; font-weight:600; color:var(--wc-muted); letter-spacing:0; margin:25px 0 10px; text-transform:none; }
body.worcar-app :is(.passenger-account-footer,.driver-account-footer)>.account-row { border:1px solid var(--wc-line); border-radius:16px; margin-top:22px; }
body.worcar-app .account-emergency { border:1px solid var(--wc-error); color:var(--wc-error); background:var(--wc-paper); border-radius:16px; }
body.worcar-app .account-subheading { margin:0 0 24px; }
body.worcar-app .account-subheading>.btn { margin-bottom:20px; }
body.worcar-app .earnings-summary { position:relative; overflow:hidden; background:var(--wc-mint); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:22px; padding:24px; }
body.worcar-app .earnings-summary>strong { font-size:46px; font-weight:750; letter-spacing:-.055em; }
body.worcar-app .earnings-summary :is(p,small) { color:var(--wc-muted); }
body.worcar-app .earnings-summary>div { border-top:1px solid var(--wc-line); color:var(--wc-ink); }
body.worcar-app :is(.earnings-payout-card,.vehicle-documents) { border-color:var(--wc-line); border-radius:20px; background:var(--wc-paper); }
body.worcar-app .earning-row { padding:18px; border-bottom-color:var(--wc-line); }
body.worcar-app .document-row { padding:17px 0; border-bottom:1px solid var(--wc-line); }
body.worcar-app .document-row strong { text-transform:capitalize; font-size:14px; }
body.worcar-app .document-row small { color:var(--wc-muted); }
body.worcar-app .vehicle-documents summary strong { font-size:19px; letter-spacing:.02em; }
body.worcar-app .vehicle-documents[open] summary { margin-bottom:18px; }
body.worcar-app :is(.credit-card,.wallet-credit) { background:var(--wc-mint); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:22px; }
body.worcar-app .saved-card { border-bottom-color:var(--wc-line); padding:19px; }
body.worcar-app .update-item { background:var(--wc-paper); border:1px solid var(--wc-line); border-radius:17px; padding:17px; margin-bottom:12px; }
body.worcar-app .update-item.update-unread { background:var(--wc-mint); }
body.worcar-app :is(.update-symbol,.alert-summary-icon) { color:var(--wc-green); background:var(--wc-mint); border-radius:50%; }
body.worcar-app .conversation-list { border:1px solid var(--wc-line); border-radius:20px; overflow:hidden; }
body.worcar-app .conversation-row { background:var(--wc-paper); border-color:var(--wc-line); padding:18px; }
body.worcar-app .chat-message { border-radius:18px 18px 18px 5px; background:var(--wc-soft); color:var(--wc-ink); border:0; padding:13px 16px; }
body.worcar-app .chat-message.mine { border-radius:18px 18px 5px 18px; background:var(--wc-mint); color:var(--wc-ink); }
body.worcar-app .chat-composer { background:var(--wc-paper); border-color:var(--wc-line); }
body.worcar-app .chat-composer textarea { background:var(--wc-soft); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:24px; }
body.worcar-app .chat-composer .btn { border-radius:50%; background:var(--wc-green); color:var(--wc-paper); }
body.worcar-app .trip-chat-sheet { background:var(--wc-paper); border-color:var(--wc-line); border-radius:25px 25px 0 0; }
/* Calendar and scroll wheels: actual accessible controls, never image text. */
body.worcar-app .datetime-dialog { padding:24px; }
body.worcar-app .datetime-heading h2 { font-size:25px; }
body.worcar-app .datetime-day { border:1px solid var(--wc-line); border-radius:14px; background:var(--wc-mint); color:var(--wc-ink); }
body.worcar-app .datetime-day button { color:var(--wc-ink); }
body.worcar-app .wheel-selection span { background:var(--wc-mint); border:0; border-radius:12px; }
body.worcar-app .wheel-option.selected { color:var(--wc-ink); font-weight:750; }
body.worcar-app .calendar-selected { background:var(--wc-mint); color:var(--wc-ink); border-radius:16px; }
body.worcar-app .calendar-grid button.selected { background:var(--wc-green); color:var(--wc-paper); }
body.worcar-app .calendar-grid button.today { border-color:var(--wc-green); }
body.worcar-app .wc-picker-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin:18px 0; }
body.worcar-app .wc-picker-days button { background:var(--wc-soft); border:1px solid var(--wc-line); border-radius:10px; padding:10px 3px; min-height:60px; color:var(--wc-muted); }
body.worcar-app .wc-picker-days small { display:block; font-size:10px; margin-bottom:5px; }
body.worcar-app .wc-picker-days strong { font-size:16px; }
body.worcar-app .wc-picker-days button[aria-pressed="true"] { background:var(--wc-green); color:var(--wc-paper); border-color:var(--wc-green); }
body.worcar-app .wc-picker-mode { display:flex; padding:4px; gap:5px; background:var(--wc-soft); border-radius:12px; }
body.worcar-app .wc-picker-mode button { flex:1; min-height:43px; padding:9px; border-radius:9px; background:none; color:var(--wc-muted); }
body.worcar-app .wc-picker-mode button[aria-pressed="true"] { background:var(--wc-mint); color:var(--wc-green); font-weight:650; }
@media(min-width:800px) {
  body.worcar-app { background:var(--wc-soft); }
  body.worcar-app #app { max-width:680px; min-height:100dvh; margin:auto; background:var(--wc-paper); border-left:1px solid var(--wc-line); border-right:1px solid var(--wc-line); padding-bottom:1px; }
  body.worcar-app .wc-home-art { min-height:260px; }
  body.worcar-app .wc-home-art strong { font-size:35px; }
  body.worcar-app .wc-welcome-illustration { height:285px; }
}
@media(max-width:380px) {
  body.worcar-app .main,body.worcar-app .topbar { padding-left:17px; padding-right:17px; }
  body.worcar-app .welcome-premium { padding:0 19px; }
  body.worcar-app .wc-home-art { min-height:190px; }
  body.worcar-app .wc-home-art strong { font-size:25px; }
  body.worcar-app .booking-mode button { padding:13px 9px; gap:8px; }
  body.worcar-app .booking-mode .mode-copy strong { font-size:14px; }
  body.worcar-app .booking-mode .mode-copy small { font-size:10px; }
  body.worcar-app .driver-sketch-content { min-height:155px; }
  body.worcar-app .driver-sketch-content strong { font-size:25px; }
  body.worcar-app .modal { padding:21px; }
}
@media(max-height:760px) and (max-width:799px) {
  body.worcar-app .welcome-visual { padding-top:4px; }
  body.worcar-app .wc-welcome-illustration { height:195px; margin:0; }
  body.worcar-app .welcome-entry button { min-height:74px; }
}
@media(prefers-reduced-motion:reduce) {
  body.worcar-app *,body.worcar-app *:before,body.worcar-app *:after { scroll-behavior:auto!important; transition:none!important; }
}

/* Complete the home layout overrides against the earlier role-specific layers. */
body.worcar-app #app .home-week-metrics { padding:0; }
body.worcar-app #app .driver-sketch-content img { max-width:none; transform:none; }
body.worcar-app #app .driver-sketch-content .routine-copy strong { white-space:normal; }
body.worcar-app #app .driver-sketch-content { grid-template-columns:none; }
body.worcar-app #app .driver-home-now { justify-content:space-between; }
body.worcar-app #app .driver-sketch-action { display:flex; justify-content:space-between; align-items:center; gap:10px; }
body.worcar-app .update-item.is-unread { background:var(--wc-mint); }
/* Keep diary content clear of its combined action and navigation footer. */
body.worcar-app .main.role-driver:has(.availability-diary) {
 margin-bottom:0;
 padding-bottom:calc(var(--diary-footer-height,170px) + 24px);
}
body.worcar-app .availability-diary :is(button,input,select) {
 scroll-margin-bottom:calc(var(--diary-footer-height,170px) + 24px);
}
body.worcar-app .wheel-selection span { background:#0784490d; }
body.worcar-app #app .driver-home-now .ride-now-switch { width:64px; min-width:64px; height:44px; min-height:44px; padding:0; background:transparent; border:0; }
body.worcar-app #app .driver-home-now .ride-now-switch:before { inset:7px 0; background:var(--wc-soft); border:1px solid var(--wc-line); }
body.worcar-app #app .driver-home-now .ride-now-switch[aria-checked="true"]:before { background:var(--wc-mint); border-color:var(--wc-green); }
body.worcar-app #app .driver-home-now .ride-now-switch>span { width:20px; height:20px; top:12px; left:5px; transform:none; }
body.worcar-app #app .driver-home-now .ride-now-switch[aria-checked="true"]>span { transform:translateX(34px); }
body.worcar-app #app .driver-home-now .ride-now-switch .switch-track-label { left:28px; right:4px; height:44px; }
body.worcar-app #app .driver-home-now .ride-now-switch[aria-checked="true"] .switch-track-label { left:4px; right:28px; }
@media(max-width:380px) {
 body.worcar-app #app .driver-sketch-content .routine-copy { width:50%; }
 body.worcar-app #app .driver-sketch-content .routine-copy strong { font-size:24px; white-space:nowrap; }
}
