/* Mobile 2.0: shared safe areas are applied once to each fixed surface. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--mobile-header:calc(64px + var(--safe-top));--mobile-nav:calc(72px + var(--safe-bottom));--keyboard-inset:0px;--viewport-top:0px}
[hidden]{display:none!important}.topbar{background:#fff}.chat-row .bubble{overflow-wrap:anywhere;min-width:0}.chat-log{overscroll-behavior:contain;overflow-anchor:none}.chat-card{position:relative}.new-chat-messages{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);z-index:2}.chat-compose .form-error{grid-column:1/-1}.chat-compose{flex-wrap:wrap}.chat-compose textarea{flex:1;min-width:0}.chat-compose .form-error{width:100%}.chat-compose[aria-busy=true] button{cursor:wait}.chat-compose .btn{flex-shrink:0}
@media(max-width:760px), (pointer:coarse) and (max-height:500px){
 html{scroll-padding-top:calc(var(--mobile-header) + 12px);scroll-padding-bottom:calc(var(--mobile-nav) + 12px)}
 .shell .main{padding-top:var(--mobile-header)}
 .shell .topbar{position:fixed;inset:0 0 auto;height:var(--mobile-header);padding:var(--safe-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:#fff;opacity:1;backdrop-filter:none;z-index:40;isolation:isolate;border-bottom:1px solid #e3eaf2}
 .topbar [data-avatar]{width:44px;height:44px;min-width:44px}.topbar .install{display:none}
 .shell .sidebar{position:fixed;inset:auto 0 0;width:100%;height:var(--mobile-nav);padding:6px max(4px,env(safe-area-inset-right)) calc(6px + var(--safe-bottom)) max(4px,env(safe-area-inset-left));background:#fff;backdrop-filter:none;z-index:40;overflow:hidden}
 .sidebar nav{display:flex;min-width:0;width:100%;gap:0}.sidebar .nav-link{flex:1;min-width:0;min-height:48px;padding:7px 2px;font-size:10px}.sidebar .nav-link span{white-space:nowrap}
 .content{padding:22px max(16px,env(safe-area-inset-right)) calc(var(--mobile-nav) + 24px) max(16px,env(safe-area-inset-left))}
 .auth-story{padding-top:calc(27px + var(--safe-top))}.auth-form-wrap{padding-bottom:calc(32px + var(--safe-bottom))}
 .hero{min-height:220px;padding:22px}.hero .car-art{right:-10px;bottom:4px;width:65%;max-width:300px;opacity:.65}.hero h2{font-size:26px}.card{border-radius:18px}.date-picker,.slot,.category-chips button,.calendar-heading button{min-height:44px}.calendar-day{min-height:40px}.field input,.field textarea{font-size:16px}.vehicle-photo{object-fit:cover}
 body.keyboard-open .sidebar{display:none}body.keyboard-open .topbar{top:var(--viewport-top)}body.keyboard-open .content{padding-bottom:24px}
 body[data-page=messages] .customer-shell #content{position:fixed;top:calc(var(--mobile-header) + var(--viewport-top));bottom:var(--mobile-nav);left:0;right:0;padding:10px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));display:flex;flex-direction:column;min-height:0;overflow:hidden}
 body[data-page=messages] .customer-shell #content>.page-head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body[data-page=messages] .customer-shell #content>div:last-child{min-height:0;flex:1;display:flex}
 .customer-shell .chat-card{display:flex;flex-direction:column;width:100%;min-height:0;padding:12px;margin:0;border-radius:16px}
 .customer-shell .chat-card>.card-head{margin-bottom:8px;flex-shrink:0}.customer-shell .chat-card h2{font-size:15px}.customer-shell .chat-card>.tip{display:none}
 .customer-shell .chat-log{height:auto;min-height:0;flex:1;overflow-y:auto;gap:10px;padding:4px 0 12px}
 .chat-welcome{padding:10px;font-size:12px;margin-bottom:4px}.chat-log .empty{display:none}.chat-row .bubble{font-size:14px;padding:9px 11px;max-width:calc(100% - 38px);line-height:1.45}.bubble small{font-size:10px}
 .customer-shell .chat-compose{margin:0;padding:6px;gap:6px;flex-shrink:0}.chat-compose textarea{height:44px;min-height:44px;max-height:110px;line-height:1.4;padding:11px 8px}.chat-compose .btn{height:44px;min-height:44px;width:44px}
 .customer-shell .chat-card>.actions{margin-top:4px;flex-shrink:0}.customer-shell #handoff{min-height:36px;padding:7px 10px;font-size:12px}
 body.keyboard-open[data-page=messages] .customer-shell #content{bottom:var(--keyboard-inset);padding-bottom:4px}
 .customer-shell .new-chat-messages{bottom:112px;font-size:12px;white-space:nowrap}
 #toast{bottom:calc(var(--mobile-nav) + 12px);z-index:60}body.keyboard-open #toast{bottom:calc(var(--keyboard-inset) + 12px)}
 dialog{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);scroll-padding-bottom:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
