:root{--brand: #0b1f3a;--primary: #ffb020;--on-primary: #0b1f3a;--banner-info: #13365f;--banner-danger: #5a1a1a;--banner-success: #0f4d2c;--on-banner: #ffffff;--banner-button-bg: #ffffff;--banner-button-text: #0b1f3a;--map-bg: #e8e4dc;--map-label-bg: rgba(255, 255, 255, .92);--map-label-text: #0f1b2d;--marker-customer: #d4183d;--marker-provider: #0a55c4;--marker-stale: #7b8794;--marker-ring: #ffffff;--marker-shadow: rgba(0, 0, 0, .4);--marker-shadow-strong: rgba(0, 0, 0, .45)}:root{color-scheme:light;--bg: #f4f6fa;--surface: #ffffff;--surface-2: #e9ecf2;--text: #0f1b2d;--muted: #56637a;--border: #d5dbe6;--link: #0a55c4;--focus: #0a55c4;--pressed: #0b1f3a;--star: #9a5b00;--success: #1b7a3f;--warning: #9a5b00;--danger: #b3261e;--on-danger: #ffffff;--info: #0a55c4;--success-soft: #dff5e3;--success-text: #14532d;--success-border: #7fcf95;--warning-soft: #fff4d6;--warning-text: #5a4300;--warning-border: #f0c96b;--danger-soft: #fde4e1;--danger-text: #7a1a12;--danger-border: #e59a92;--info-soft: #dfeafd;--info-text: #0b3a80;--info-border: #8fb3ee;--neutral-soft: #e9ecf2;--neutral-text: #33405a;--neutral-border: #b8c0cf;--scrim: rgb(8 15 28 / .6);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--shadow-1: 0 1px 2px rgba(15, 27, 45, .08), 0 1px 1px rgba(15, 27, 45, .04);--shadow-2: 0 8px 24px rgba(15, 27, 45, .16);--z-nav: 100;--z-sheet: 200;--z-toast: 300;--z-offer: 400}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0a1424;--surface: #112038;--surface-2: #182b48;--text: #eef2f9;--muted: #9fb0c9;--border: #26395a;--link: #7db2ff;--focus: #7db2ff;--pressed: #eef2f9;--star: #ffb020;--success: #6fd394;--warning: #ffb020;--danger: #ff8a80;--on-danger: #0a1424;--info: #7db2ff;--success-soft: #0f2e1c;--success-text: #9be3b0;--success-border: #2f7a4a;--warning-soft: #3a2f0f;--warning-text: #ffd98a;--warning-border: #7a5b12;--danger-soft: #3a1414;--danger-text: #ffb4ab;--danger-border: #8a3a33;--info-soft: #0f2748;--info-text: #a9c8ff;--info-border: #2f5b9a;--neutral-soft: #1d2b44;--neutral-text: #c5cfdf;--neutral-border: #3a4d6e;--scrim: rgb(0 0 0 / .7);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .5)}}@media screen{:root[data-theme=dark]{color-scheme:dark;--bg: #0a1424;--surface: #112038;--surface-2: #182b48;--text: #eef2f9;--muted: #9fb0c9;--border: #26395a;--link: #7db2ff;--focus: #7db2ff;--pressed: #eef2f9;--star: #ffb020;--success: #6fd394;--warning: #ffb020;--danger: #ff8a80;--on-danger: #0a1424;--info: #7db2ff;--success-soft: #0f2e1c;--success-text: #9be3b0;--success-border: #2f7a4a;--warning-soft: #3a2f0f;--warning-text: #ffd98a;--warning-border: #7a5b12;--danger-soft: #3a1414;--danger-text: #ffb4ab;--danger-border: #8a3a33;--info-soft: #0f2748;--info-text: #a9c8ff;--info-border: #2f5b9a;--neutral-soft: #1d2b44;--neutral-text: #c5cfdf;--neutral-border: #3a4d6e;--scrim: rgb(0 0 0 / .7);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .5)}}@media print{:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-2: #ffffff;--text: #000000;--muted: #444444;--border: #bbbbbb}}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}.shell{max-width:460px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.brand{padding:8px 0 20px}.brand-mark{display:inline-flex;align-items:center;min-height:44px;gap:10px;color:var(--text);font-weight:700;font-size:1.25rem;text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 20px}@media(max-width:599px){.card.page{padding:0;border:0;border-radius:0;background:transparent}}h1{margin:0 0 4px;font-size:1.5rem;line-height:1.25}.muted{color:var(--muted)}.center{text-align:center}.form{display:grid;gap:16px;margin-top:20px}.field{display:grid;gap:6px}label{font-weight:600}input:not([type]),input[type=email],input[type=password],input[type=text],textarea,select{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--text);background:var(--bg);border:1.5px solid var(--border);border-radius:10px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page,.ui-card,.alert{overflow-wrap:break-word}.long-value{overflow-wrap:anywhere}.one-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles{border:0;padding:0;margin:0;display:grid;gap:10px}.roles legend{font-weight:600;margin-bottom:8px;padding:0}.role{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1.5px solid var(--border);border-radius:12px;font-weight:400;cursor:pointer}.role.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.role input{margin-top:4px;width:20px;height:20px;accent-color:var(--primary)}.role small{display:block;color:var(--muted)}.btn{min-height:48px;padding:10px 18px;font:inherit;font-weight:700;border-radius:12px;border:1.5px solid transparent;cursor:pointer}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:progress}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.secondary{background:transparent;color:var(--text);border-color:var(--border)}.form-error{min-height:1.5em;margin:0;color:var(--danger);font-weight:600}a{color:var(--link)}.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px;margin:12px 0 24px;font-size:.875rem}.legal-links a{display:inline-block;min-width:44px;text-align:center;padding:12px 6px;color:var(--muted, inherit)}.legal ul,.legal ol{padding-left:20px}.legal li{margin:6px 0}.legal h3{margin:16px 0 4px;font-size:var(--text-md)}@media(prefers-reduced-motion:no-preference){.btn{transition:opacity .15s}}.status-stack{position:sticky;top:0;z-index:var(--z-nav);display:grid;gap:1px}.banner{margin:0;padding:10px 16px;text-align:center;font-weight:600;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.banner.offline{background:var(--banner-danger);color:var(--on-banner)}.banner.update{background:var(--primary);color:var(--on-primary)}.banner.update .btn{background:var(--brand);color:var(--on-banner)}.banner.outbox{background:var(--banner-info);color:var(--on-banner);flex-wrap:wrap}.banner.outbox.failed{background:var(--banner-danger)}.banner.outbox.sent{background:var(--banner-success)}.banner.outbox .btn{margin-top:0;background:var(--banner-button-bg);color:var(--banner-button-text);text-decoration:none;display:inline-flex;align-items:center}.banner.new-job{background:var(--banner-success);color:var(--on-banner)}.banner.new-job .btn{margin-top:0;background:var(--banner-button-bg);color:var(--banner-button-text);text-decoration:none;display:inline-flex;align-items:center}.banner.new-job .btn.secondary,.banner.outbox .btn.secondary{background:transparent;color:var(--on-banner);border-color:var(--on-banner)}.banner-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.ui-card.panel{margin-top:var(--space-4)}.panel p{margin:0 0 10px}.panel p:last-child{margin-bottom:0}.panel .form-error{min-height:0}.panel~.btn{margin-top:var(--space-4)}a.btn,label.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text)}input[type=file]{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--text);background:var(--bg);border:1.5px dashed var(--border);border-radius:10px}.visually-hidden,input[type=file].visually-hidden{position:absolute;width:1px;min-width:0;height:1px;min-height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.visually-hidden:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.photo-card{display:flex;gap:16px;align-items:center}.avatar{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.avatar.placeholder{background:var(--border)}.photo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.photo-actions .form-error{flex-basis:100%}h2.section{margin:28px 0 8px;font-size:1.1rem}.inbox-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}.inbox-item{border:1.5px solid var(--border);border-radius:12px;background:var(--surface)}.inbox-item.unread{border-color:var(--pressed)}.inbox-link{display:grid;gap:4px;padding:12px 14px;min-height:44px;color:inherit;text-decoration:none;overflow-wrap:anywhere}a.inbox-link:hover strong{text-decoration:underline}.inbox-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.inbox-new{flex:none;padding:1px 8px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--primary);color:var(--on-primary)}.small-text{margin:4px 0;font-size:.9rem}.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.doc{border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--bg)}.doc-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.doc-actions{display:flex;gap:8px;margin-top:8px}.doc-actions .btn{margin-top:0}.doc-reason{margin:6px 0;color:var(--danger);font-weight:600}.badge{display:inline-block;box-sizing:border-box;height:22px;max-width:100%;padding:0 10px;border-radius:999px;font-size:.8rem;line-height:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;border:1.5px solid var(--border)}.badge.tone-neutral{background:var(--neutral-soft);color:var(--neutral-text);border-color:var(--neutral-border)}.badge.tone-info{background:var(--info-soft);color:var(--info-text);border-color:var(--info-border)}.badge.tone-success{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.badge.tone-warning{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.badge.tone-danger{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}textarea{min-height:112px;resize:vertical}.label-text{font-weight:600}.item-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.item{border:1.5px solid var(--border);border-radius:12px}.item-link{display:grid;gap:4px;padding:14px;min-height:44px;color:var(--text);text-decoration:none}.item-body{display:grid;gap:4px;padding:14px}.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.chips{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:8px}.chip{padding:4px 12px;border:1.5px solid var(--border);border-radius:999px;font-size:.9rem}.description{white-space:pre-wrap;overflow-wrap:anywhere}.locate{display:grid;gap:10px}.locate p{margin:0}.locate-note{padding:10px 12px;border:1.5px solid var(--warning-border);border-radius:10px;background:var(--warning-soft);color:var(--warning-text)}.locate-actions,.map-controls{display:flex;flex-wrap:wrap;gap:8px}.locate-actions .btn.secondary,.map-controls .btn.secondary{margin-top:0}.search-row{display:flex;gap:8px}.search-row input{flex:1;min-width:0}.search-row .btn.secondary{margin-top:0;flex-shrink:0}.results{list-style:none;margin:0;padding:0;display:grid;gap:8px}.result{display:grid;gap:2px;width:100%;min-height:48px;padding:10px 12px;font:inherit;text-align:left;color:var(--text);background:var(--bg);border:1.5px solid var(--border);border-radius:10px;cursor:pointer}.result-label{font-weight:600;overflow-wrap:anywhere}.result-kind{font-size:.9rem}.map-block{display:grid;gap:8px}.map{position:relative;max-width:640px;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;background:var(--map-bg)}.map-tap{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:crosshair;aspect-ratio:8 / 5}.map-img{display:block;width:100%;height:auto;aspect-ratio:8 / 5;user-select:none;-webkit-user-drag:none}.map-img.loading{opacity:.55}.map-placeholder{position:absolute;inset:0;display:grid;place-items:center}.map-pin{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%);border-radius:50%;background:var(--marker-customer);border:3px solid var(--marker-ring);box-shadow:0 0 0 1px var(--marker-shadow),0 2px 6px var(--marker-shadow-strong);pointer-events:none}.map-loading{position:absolute;top:8px;left:8px;padding:4px 10px;font-size:.85rem;font-weight:600;color:var(--map-label-text);background:var(--map-label-bg);border-radius:999px;pointer-events:none}.tracking{display:grid;gap:8px;margin:16px 0}.tracking p{margin:0}.track-marker{position:absolute;left:var(--x);top:var(--y);width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid var(--marker-ring);box-shadow:0 0 0 1px var(--marker-shadow),0 2px 6px var(--marker-shadow-strong);pointer-events:none}.track-marker.customer,.dot.customer{background:var(--marker-customer)}.track-marker.provider,.dot.provider{background:var(--marker-provider)}.track-marker.provider.stale,.dot.provider.stale{background:var(--marker-stale)}@media(prefers-reduced-motion:no-preference){.track-marker.provider{transition:left 1.5s linear,top 1.5s linear}}.track-legend{display:flex;flex-wrap:wrap;gap:16px;margin:0;padding:0;list-style:none;font-size:.9rem}.track-legend .dot{display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:50%;border:2px solid var(--marker-ring);box-shadow:0 0 0 1px var(--marker-shadow);vertical-align:-1px}.item.gone{border-style:dashed}.quote-request{margin:8px 0 16px;display:grid;gap:4px}.quote-request p{margin:0}.small-heading{font-size:1rem;margin:20px 0 6px}.plain-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px}.confirm-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.confirm-row p{flex-basis:100%;margin:0}.link-row{display:flex;flex-wrap:wrap;gap:8px}.quoted{color:var(--text)}.offer-backdrop{position:fixed;inset:0;z-index:var(--z-offer);display:grid;place-items:center;padding:16px;background:var(--scrim)}.offer{width:100%;max-width:480px;max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface);color:var(--text);border:2px solid var(--primary);border-radius:16px;padding:20px;display:grid;gap:10px}.offer:focus{outline:3px solid var(--primary);outline-offset:2px}.offer p{margin:0}.offer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.2rem}.offer-count{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offer-actions:has(>:only-child){grid-template-columns:1fr}.logo-bg{fill:var(--brand)}.logo-truck{fill:var(--primary)}.logo-line{fill:none;stroke:var(--primary)}.logo-cut{fill:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none}.btn.md{min-height:48px}.btn.sm{min-height:40px;padding:6px 14px;position:relative}.btn.sm:after{content:"";position:absolute;inset:-2px 0}.btn.full{width:100%}.btn.ghost{background:transparent;color:var(--link);border-color:transparent}.btn.danger{background:var(--danger);color:var(--on-danger)}.btn .btn-icon{display:inline-flex;flex:none}.btn[aria-busy=true]{cursor:progress}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;font:inherit;border:none;border-radius:999px;background:transparent;color:var(--text);cursor:pointer}.icon-btn:hover{background:var(--surface-2)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}.ui-card>h2,.ui-card>h3{margin-top:0}.list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.list-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);color:var(--text);text-decoration:none;background:none;border:none;width:100%;font:inherit;text-align:left}.list>li+li{border-top:1px solid var(--border)}a.list-row,button.list-row{cursor:pointer}a.list-row:hover,button.list-row:hover{background:var(--surface-2)}.list-row .row-icon{display:inline-flex;flex:none;color:var(--muted)}.list-row .row-text{display:grid;flex:1;min-width:0}.list-row .row-title{font-weight:600;overflow-wrap:anywhere}.list-row .row-subtitle{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.list-row .row-trailing{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab{flex:none;min-height:44px;padding:0 var(--space-4);border:none;border-bottom:3px solid transparent;background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--primary)}.segmented{display:inline-flex;padding:3px;gap:3px;border-radius:var(--radius-md);background:var(--surface-2);max-width:100%}.segmented button{position:relative;min-height:40px;padding:0 var(--space-4);border:none;border-radius:9px;background:transparent;color:var(--text);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}@media(max-width:379px){.segmented button{padding:0 var(--space-3)}}.segmented button:after{content:"";position:absolute;inset:-2px 0}.segmented button[aria-checked=true]{background:var(--surface);box-shadow:var(--shadow-1)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:1.5px solid;border-radius:var(--radius-md)}.alert .alert-icon{display:inline-flex;flex:none;margin-top:2px}.alert p{margin:0}.alert .btn{display:flex;width:fit-content;margin-top:var(--space-2)}.alert.info{background:var(--info-soft);color:var(--info-text);border-color:var(--info-border)}.alert.success{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.alert.warning{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.alert.error{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.toaster{position:fixed;left:0;right:0;bottom:max(var(--space-4),env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;justify-items:center;gap:var(--space-2);padding:0 var(--space-4);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-3);max-width:460px;width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--brand);color:var(--on-banner);box-shadow:var(--shadow-2);font-weight:600}.toast.error{background:var(--banner-danger)}.toast.success{background:var(--banner-success)}.toast .icon-btn{margin-left:auto;color:inherit}@media(prefers-reduced-motion:no-preference){.toast{animation:toast-in .18s ease-out}.skeleton{animation:skeleton-pulse 1.4s ease-in-out infinite}}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}@keyframes skeleton-pulse{50%{opacity:.55}}.empty-state{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center;color:var(--muted)}.empty-state .empty-icon{display:inline-flex;color:var(--muted)}.empty-state h3{margin:0;color:var(--text);font-size:var(--text-md)}.skeleton{display:block;height:1em;border-radius:var(--radius-sm);background:var(--surface-2)}.skeleton.skeleton-card{height:96px;border-radius:var(--radius-lg)}.skeleton.skeleton-tile{height:104px;border-radius:var(--radius-md)}.skeleton.skeleton-section{height:320px}.skeleton.skeleton-week{height:560px}.skeleton.skeleton-panel{height:140px}.payout-status-pending{min-height:280px}.stat-tile{display:grid;align-content:start;gap:2px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0}.stat-tile .stat-label{color:var(--muted);font-size:var(--text-sm)}.stat-tile .stat-value{font-size:var(--text-xl);font-weight:700;overflow-wrap:anywhere}.stat-tile .stat-note{color:var(--muted);font-size:var(--text-xs)}.sheet-backdrop{position:fixed;inset:0;z-index:var(--z-sheet);display:grid;align-items:end;justify-items:center;background:var(--scrim)}.sheet{width:100%;max-width:520px;max-height:90dvh;overflow-y:auto;padding:var(--space-5) var(--space-4) max(var(--space-5),env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}@media(min-width:600px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-lg)}}.sheet h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.sheet-actions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.field-hint{color:var(--muted);font-size:var(--text-sm)}.field-error{color:var(--danger);font-size:var(--text-sm);font-weight:600;margin:0}input[type=tel],input[type=search]{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--text);background:var(--bg);border:1.5px solid var(--border);border-radius:10px}.check-card{display:flex;gap:var(--space-3);align-items:flex-start;min-height:48px;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-weight:600;cursor:pointer}.check-card:has(input:checked){border-color:var(--pressed)}.check-card input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--primary)}.check-card small{display:block;color:var(--muted);font-weight:400}.search-field{position:relative}.search-field .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--muted);pointer-events:none}.search-field input{padding-left:40px}.skip-link{position:absolute;left:var(--space-2);top:-100px;z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--surface);color:var(--text);border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-2)}html,body{height:100%;overflow:hidden;overscroll-behavior:none}#root{height:100%}.app{position:fixed;inset:0;display:flex;flex-direction:column}.app-body{display:flex;flex-direction:column;flex:1;min-height:0}.app-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-header{position:relative;flex:none;z-index:var(--z-nav);padding-top:env(safe-area-inset-top);background:var(--surface)}.app .shell{padding-top:var(--space-4)}.app-header .status-stack{position:static}.top-bar{display:flex;align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-1) max(var(--space-2),env(safe-area-inset-right)) var(--space-1) max(var(--space-2),env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--border)}.top-bar .brand-mark{min-height:44px;padding:0 var(--space-2);font-size:var(--text-lg)}.top-title{flex:1;min-width:0;font-weight:700;font-size:var(--text-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:999px;color:var(--text)}.top-icon:hover{background:var(--surface-2)}.nav-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:var(--on-danger);font-size:11px;font-weight:700;line-height:18px;text-align:center}.nav-badge.dot{min-width:10px;width:10px;height:10px;padding:0;top:0}.tab-bar{position:relative;order:2;flex:none;z-index:var(--z-nav);background:var(--surface);border-top:1px solid var(--border);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.tab-bar ul{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;margin:0 auto;padding:0;max-width:640px;list-style:none}.tab-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;padding:var(--space-1) 2px;color:var(--muted);font-size:var(--text-xs);font-weight:600;text-decoration:none;text-align:center}.tab-link[aria-current=page]{color:var(--text)}.tab-link[aria-current=page] .tab-icon{background:var(--surface-2)}.tab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:999px}.tab-icon .nav-badge{right:6px}.tab-label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-bar-pending ul{visibility:hidden}.app.with-tabs .shell{padding-bottom:var(--space-7)}body:has(.app.with-tabs) .toaster{bottom:calc(76px + env(safe-area-inset-bottom))}@media(min-width:900px){.app.with-tabs{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app.with-tabs .app-body{grid-column:2;grid-row:1}.app.with-tabs .tab-bar{grid-column:1;grid-row:1;overflow-y:auto;border-top:none;border-right:1px solid var(--border);padding:var(--space-4) 0}.app.with-tabs .tab-bar ul{grid-auto-flow:row;gap:var(--space-2)}.app.with-tabs .shell{padding-bottom:var(--space-7)}body:has(.app.with-tabs) .toaster{bottom:var(--space-4)}}.page-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.auth-links{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.menu-group{margin-top:var(--space-5)}.menu-group>.list,ul.list.menu-group{margin-top:var(--space-2)}.list-row.danger,.list-row.danger .row-icon{color:var(--danger)}button.list-row:disabled{opacity:.6;cursor:progress}@media print{html,body,#root,.app,.app-body,.app-scroll{height:auto;overflow:visible}.app,.app-body,.app.with-tabs{display:block}.app{position:static}.app.with-tabs .shell,.app .shell{padding:0}}a.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;text-decoration:none;box-sizing:border-box}.auth-links a.btn{display:flex}.editable-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:28px 0 var(--space-2)}.editable-head h2.section{margin:0}.editable-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.detail-list{margin:0;display:grid;gap:var(--space-3)}.detail-list>div{display:grid;gap:2px}.detail-list dt{font-size:var(--text-sm);color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}.blocker-list{margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-3)}.blocker-list p{margin:0 0 var(--space-2)}.phone-input{position:relative}.phone-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none}.phone-input input[type=tel]{padding-left:calc(18px + 4ch)}.board-filters{display:grid;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2)}.board-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.board-filter-row .field{flex:1 1 180px;margin:0}.board-filter-count{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0}.board-chips{margin:0;gap:6px}.board-description{margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.board-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.board-distance{color:var(--text)}.board-quote{pointer-events:none}.money-list{display:grid;grid-template-columns:1fr auto;gap:2px 12px;margin:2px 0;font-size:.95rem}.money-list dt{color:var(--muted)}.money-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.panel .item-head .badge{white-space:nowrap}.stars{color:var(--star);letter-spacing:2px;white-space:nowrap}.review-reply{border-left:3px solid var(--border);padding-left:10px;margin:4px 0}.review-reply p{margin:0}.star-picker{border:0;padding:0;margin:0}.star-row{display:flex;gap:4px}.star-pick{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:1.8rem;line-height:1;color:var(--muted);cursor:pointer;border-radius:8px}.star-pick.on{color:var(--star)}.star-pick:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.sort-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}.sort-row .btn{margin-top:0}.sort-row .btn[aria-pressed=true]{border-color:var(--pressed);box-shadow:0 0 0 1px var(--pressed);font-weight:700}.profile-head{display:flex;align-items:center;gap:14px;margin:8px 0}.profile-head p{margin:0}.quote-price{font-size:1.5rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1.5px solid var(--border)}.chat-log{height:min(50vh,340px);overflow-y:auto;overscroll-behavior:contain;padding:10px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg)}.chat-log.history{height:auto;max-height:min(50vh,340px)}.chat-older{display:block;margin:0 auto 8px}.chat-log .btn.secondary.chat-older{margin-top:0}.chat-empty{margin:0}.chat-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.chat-msg{display:grid;gap:2px;max-width:85%;justify-self:start;padding:8px 12px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface)}.chat-msg.mine{justify-self:end;border-color:var(--primary)}.chat-meta{font-size:.8rem;color:var(--muted)}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg-actions{justify-self:start}.chat-msg-actions .btn{margin-top:0}.report-block-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chat-msg.queued{border-style:dashed}.chat-msg.queued.not-sent{border-color:var(--danger)}.chat-queued-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chat-queued-actions .btn.secondary{margin-top:0}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:8px}.chat-compose textarea{min-height:48px}.chat-compose .form-error,.chat-compose .small-text{grid-column:1 / -1}.chat-compose .form-error{min-height:0}.payment-element{margin:12px 0;min-height:44px}.case-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}.receipt-lines{list-style:none;padding:0;margin:8px 0 0}.receipt-lines li{padding:8px 0;border-bottom:1px solid var(--border)}.receipt-lines .small-text{margin:2px 0 0}.receipt-amount{text-align:right;font-variant-numeric:tabular-nums}.receipt-total{margin-top:12px;font-weight:700}.receipt-total dt{color:var(--text)}.receipt-facts dd{text-align:right}@media print{body{background:var(--bg);color:var(--text)}.no-print,.status-stack{display:none!important}.shell{max-width:none;padding:0}.card{border:none;padding:0}}.contact-card .btn{margin-top:4px}.photo-edit-grid{list-style:none;padding:0;margin:8px 0 12px}.photo-edit-grid li{display:grid;gap:6px}.photo-edit-actions{display:flex;gap:6px}.photo-edit-grid .btn{margin-top:0}.vehicle-fields{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.vehicle-fields legend{margin-bottom:4px;padding:0;font-weight:600}.vehicle-fields>p.small-text{margin:0}.saved-vehicles{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.saved-vehicles .btn{margin-top:0;max-width:100%}.saved-vehicles .btn>span{min-width:0;overflow-wrap:anywhere}.saved-vehicles .btn[aria-pressed=true]{border-color:var(--pressed);box-shadow:0 0 0 1px var(--pressed)}.vehicle-line{margin:4px 0}.vehicle-cards{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-3)}.vehicle-card-head{display:flex;align-items:flex-start;gap:var(--space-3)}.vehicle-card-icon{color:var(--muted);flex:none;padding-top:2px}.vehicle-card-text{flex:1;min-width:0}.vehicle-card-text p{margin:0;overflow-wrap:anywhere}.vehicle-card-title{font-weight:700}.vehicle-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.vehicle-card-actions .btn{margin-top:0}label.check{display:flex;align-items:center;gap:10px;min-height:44px}.home-cta{text-align:center}.home-cta-btn{min-height:64px;font-size:var(--text-lg)}.home-cta-sub{margin:var(--space-3) 0 0}.home-hero-skeleton{display:block;height:160px;border-radius:var(--radius-lg)}.home-hero-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.home-hero-provider{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);min-width:0}.home-hero-avatar{width:56px;height:56px}.home-hero-name{margin:0;font-weight:700;font-size:var(--text-lg);overflow-wrap:anywhere}.home-hero-eta{margin:var(--space-1) 0 0;color:var(--primary);font-weight:600}.home-hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2);margin-top:var(--space-4)}.home-hero-actions .btn{margin-top:0}.job-filters{display:grid;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-toggle{position:relative;min-height:36px;padding:0 var(--space-4);border:1.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer}.chip-toggle:after{content:"";position:absolute;inset:-4px 0}.chip-toggle[aria-pressed=true]{border-color:var(--primary);background:var(--info-soft);color:var(--info-text);font-weight:600}.date-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.date-range .field{margin:0;min-width:0}.date-range input{width:100%;min-width:0}.job-list-skeleton{display:block;height:180px;margin-top:var(--space-4);border-radius:var(--radius-lg)}.job-list{list-style:none;padding:0;margin:var(--space-4) 0;display:grid;gap:var(--space-3)}.job-row{display:flex;align-items:center;gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.job-row-main{display:grid;gap:var(--space-2);flex:1;min-width:0;padding:var(--space-3) var(--space-4);color:var(--text);text-decoration:none;border-radius:var(--radius-lg)}.job-row-main:hover{background:var(--surface-2)}.job-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.job-row-title{font-weight:600;min-width:0;overflow-wrap:anywhere}.job-row-price{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.job-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.job-row-receipt{flex:none;margin-right:var(--space-2);color:var(--muted)}.job-status{display:grid;gap:var(--space-2)}.job-status>p{margin:0}.job-status-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px}.job-status-actions{display:inline-flex;gap:var(--space-1)}.chat-sheet{margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.chat-sheet>summary{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);font-weight:600;cursor:pointer}.chat-sheet[open]>summary{border-bottom:1px solid var(--border)}.chat-sheet>:not(summary){padding:var(--space-3) var(--space-4)}.live-tracking{margin:var(--space-2) 0}.live-map{height:55vh;min-height:260px;max-height:520px;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;background:var(--map-bg);isolation:isolate}.live-tracking.provider-view .live-map{height:40vh;min-height:220px}.live-marker span{display:block;width:22px;height:22px;margin:3px;border-radius:50%;border:3px solid var(--marker-ring);box-shadow:0 0 0 1px var(--marker-shadow),0 2px 6px var(--marker-shadow-strong)}.live-marker.customer span{background:var(--marker-customer)}.live-marker.provider span{background:var(--marker-provider)}.live-marker.provider.stale span{background:var(--marker-stale)}.live-route{stroke:var(--primary);stroke-width:5;stroke-opacity:.85;stroke-linecap:round;stroke-linejoin:round;fill:none}.track-sheet{position:relative;margin-top:calc(-1 * var(--space-5));padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);box-shadow:var(--shadow-2);display:grid;gap:var(--space-2)}.track-sheet>p{margin:0}.track-eta{font-size:var(--text-xl);font-weight:700}.track-miles{font-weight:600;margin:var(--space-2) 0 0}.timeline{list-style:none;padding:0;margin:var(--space-2) 0;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1)}.timeline-step{display:grid;justify-items:center;gap:var(--space-1);text-align:center;font-size:var(--text-xs);color:var(--muted);position:relative}.timeline-step+.timeline-step:before{content:"";position:absolute;top:6px;right:50%;width:100%;height:2px;background:var(--border)}.timeline-step.done+.timeline-step:before{background:var(--primary)}.timeline-dot{position:relative;width:14px;height:14px;border-radius:50%;border:2px solid var(--border);background:var(--surface)}.timeline-step.done .timeline-dot{background:var(--primary);border-color:var(--primary)}.timeline-step.current .timeline-dot{border-color:var(--primary);box-shadow:0 0 0 4px var(--info-soft)}.timeline-step.current{color:var(--text);font-weight:600}.track-provider{display:grid;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.track-provider-head{display:flex;align-items:center;gap:var(--space-3)}.track-provider-photo{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.track-provider-text{min-width:0}.track-provider-text p{margin:0;overflow-wrap:anywhere}.track-provider-name{font-weight:600}.track-provider-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.track-provider-actions>:only-child{grid-column:1 / -1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-3);margin:var(--space-4) 0}.spend-chart{margin:0 0 var(--space-4)}.spend-readout{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);min-height:1.75rem;font-size:var(--text-sm)}.spend-readout strong{font-size:var(--text-lg)}.spend-svg{display:block;width:100%;height:auto;overflow:visible}.spend-svg .chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:2 3}.spend-svg .chart-baseline{stroke:var(--neutral-border);stroke-width:1}.spend-svg .chart-axis{fill:var(--muted);font-size:11px}.spend-svg .chart-bar{fill:var(--info)}.spend-svg .chart-hit{fill:transparent}.spend-svg .chart-col{cursor:pointer;outline:none}.spend-svg .chart-col.active .chart-hit{fill:var(--surface-2)}.spend-svg .chart-col.active .chart-axis{fill:var(--text);font-weight:700}.spend-svg .chart-col:focus-visible .chart-hit{stroke:var(--focus);stroke-width:2}.chart-table summary{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;margin:var(--space-2) 0;padding:0 var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-sm);font-weight:600;list-style:none;cursor:pointer}.chart-table summary::-webkit-details-marker{display:none}.chart-table summary:after{content:"▾";color:var(--muted)}.chart-table[open] summary:after{content:"▴"}.chart-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.chart-table th,.chart-table td{padding:var(--space-1) 0;text-align:left;border-bottom:1px solid var(--border)}.chart-table td{text-align:right}.payment-list{margin-bottom:var(--space-3)}.payment-trailing{display:grid;justify-items:end;gap:2px}.payment-amount{font-weight:700;white-space:nowrap}.payment-amount.muted{font-weight:400}@media(prefers-reduced-motion:no-preference){.spend-svg .chart-hit{transition:fill .12s ease}}.panel.confirm-done{display:grid;gap:var(--space-4);min-width:0}.confirm-done>*,.confirm-done p{margin:0;min-width:0}.confirm-done .confirm-summary{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.confirm-done .check-card{width:100%;box-sizing:border-box}.confirm-actions{display:grid;gap:var(--space-3);min-width:0}.confirm-actions .btn,.confirm-done .btn{margin:0;white-space:normal;overflow-wrap:anywhere}.confirm-done .payment-element{min-width:0}.unpaid-pick{display:grid;gap:var(--space-3);margin-bottom:var(--space-4);min-width:0}.unpaid-pick-text{margin:0}.unpaid-pick-text.urgent{color:var(--warning-text);font-weight:600}.unpaid-pick-actions{display:grid;gap:var(--space-2)}.unpaid-pick-actions .btn{margin:0;width:100%;white-space:normal}.online-hero{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.online-hero.is-online{border-color:var(--success-border);background:var(--success-soft)}.online-hero-status{margin:0;font-size:var(--text-lg);font-weight:600}.online-hero-btn{margin:0;min-height:56px;font-size:var(--text-lg)}.my-jobs-title{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-jobs-row .job-row-main{min-width:0}.my-jobs-chevron{flex:none;margin-right:var(--space-3);color:var(--muted)}.my-jobs-dismiss{flex:none}.money-list .money-row{display:contents}.earn-week.is-loading{opacity:.6}.earn-header{display:grid;justify-items:center;gap:var(--space-1);margin:var(--space-2) 0 var(--space-3);text-align:center}.week-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%}.week-label{display:grid;margin:0;font-size:var(--text-md);overflow-wrap:anywhere}.week-label .muted{font-size:var(--text-sm);font-weight:400}.earn-total{margin:0;font-size:2.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.earn-sub{margin:0}.week-chart{touch-action:pan-y}.earn-summary{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.earn-jobs{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.earn-job{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.earn-job>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);cursor:pointer;list-style:none}.earn-job>summary::-webkit-details-marker{display:none}.earn-job>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-md)}.earn-job-main{display:grid;gap:2px;min-width:0}.earn-job-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.earn-job-side{display:grid;justify-items:end;gap:2px}.earn-job-body{display:grid;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);justify-items:start}.earn-job-body .money-list{width:100%}.earn-months{margin-bottom:var(--space-4)}.bank-payouts .payment-amount{font-variant-numeric:tabular-nums}.review-actions,.not-found-actions,.dispute-note{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.dispute-note{flex-direction:column;align-items:flex-start}.dispute-note p{margin:0}.native-pay{display:grid;gap:8px;margin:12px 0 4px}
