
      :root {
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: #1b1724;
        background: #3f0b83;
        font-synthesis: none;
        --app-background:
          linear-gradient(128deg, transparent 0 16%, rgba(255,255,255,.012) 16.2%, rgba(255,255,255,.052) 18.1%, rgba(255,255,255,.018) 20%, transparent 22.1%),
          linear-gradient(44deg, transparent 0 68%, rgba(255,255,255,.01) 69%, rgba(255,255,255,.045) 71.2%, rgba(255,255,255,.014) 73.4%, transparent 75.2%),
          radial-gradient(circle at 88% 8%, rgba(202,105,244,.28), transparent 32%),
          radial-gradient(circle at 10% 92%, rgba(187,72,232,.24), transparent 34%),
          linear-gradient(180deg,#421083 0%,#6517b5 34%,#8522ce 52%,#6517b5 70%,#421083 100%);
        --purple: #6d20c5;
        --purple-dark: #4f129e;
        --purple-soft: #f2e9fb;
        --orange: #ff5a25;
        --green: #31b84d;
        --ink-soft: #7f7788;
        --line: #ebe6ef;
      }

      @property --ring-progress {
        syntax: "<percentage>";
        inherits: false;
        initial-value: 62%;
      }

      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; touch-action: pan-x pan-y; }
      body { min-height: 100vh; min-height: 100dvh; margin: 0; overflow-x: hidden; background: var(--app-background); }
      body.home-screen { height: 100dvh; min-height: 0; overflow: hidden; }
      button, input, a { font: inherit; }
      button { border: 0; }
      a { color: inherit; }

      .app-shell {
        position: relative;
        width: min(100%, 430px);
        min-height: 100vh;
        min-height: 100dvh;
        margin: 0 auto;
        overflow: hidden;
        background: var(--app-background);
        box-shadow: none;
      }

      body.home-screen .app-shell { height: 100dvh; min-height: 0; }
      .temp-refresh-button {
        position: fixed;
        top: max(7px, env(safe-area-inset-top));
        right: max(7px, env(safe-area-inset-right));
        z-index: 100;
        display: grid;
        width: 34px;
        height: 34px;
        place-items: center;
        border: 1px solid rgba(255,255,255,.62);
        border-radius: 50%;
        color: #fff;
        background: rgba(82,19,154,.82);
        box-shadow: 0 7px 18px rgba(27,8,48,.26);
        font-size: 19px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
        backdrop-filter: blur(10px);
        -webkit-tap-highlight-color: transparent;
      }
      .temp-refresh-button:active { transform: scale(.92); }
      .temp-refresh-button.loading { pointer-events: none; animation: temp-refresh-spin .75s linear infinite; }
      .temp-refresh-button.failed { color: #fff; background: #c73548; animation: none; }
      .temp-animation-button { right: max(49px, calc(env(safe-area-inset-right) + 49px)); background: linear-gradient(145deg,rgba(100,28,190,.94),rgba(139,39,200,.9)); font-size: 13px; }
      .temp-animation-button.running { color: #54208a; background: rgba(255,255,255,.94); }
      .temp-animation-button:disabled { cursor: default; opacity: .34; }
      .temp-clean-button { right: max(91px, calc(env(safe-area-inset-right) + 91px)); color: #fff; background: linear-gradient(145deg,rgba(22,153,84,.96),rgba(88,39,191,.92)); font-size: 15px; }
      .temp-clean-button.running { color: #167b48; background: rgba(255,255,255,.96); }
      .temp-clean-button:disabled { cursor: default; opacity: .3; }
      .temp-status-button { right: max(133px, calc(env(safe-area-inset-right) + 133px)); color: #fff; background: linear-gradient(145deg,#1767a4,#7130bd); font-size: 12px; font-weight: 950; }
      .temp-status-button.running { color: #5a208f; background: rgba(255,255,255,.96); }
      body:not(.home-screen) :is(.temp-animation-button,.temp-clean-button,.temp-status-button) { display: none; }
      .demo-tools { display: flex; flex: 0 0 auto; gap: 2px; padding: 2px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; background: rgba(255,255,255,.09); }
      body .demo-tools .temp-refresh-button { position: relative; top: auto; right: auto; z-index: auto; width: 24px; height: 24px; border-color: rgba(255,255,255,.16); box-shadow: none; font-size: 10px; }
      body .demo-tools .temp-clean-button { font-size: 11px; }
      body .demo-tools .temp-animation-button { font-size: 9px; }
      body .demo-tools .temp-status-button { font-size: 9px; }
      @keyframes temp-refresh-spin { to { transform: rotate(360deg); } }
      .screen { display: none; min-height: 100vh; min-height: 100dvh; padding: 22px 18px max(78px, calc(44px + env(safe-area-inset-bottom))); }
      .screen.active { display: block; opacity: 1; transform: none; }
      .route-load-indicator { position: fixed; top: max(3px,env(safe-area-inset-top)); right: 20%; left: 20%; z-index: 140; height: 3px; overflow: hidden; border-radius: 99px; opacity: 0; pointer-events: none; transform: translateZ(0); transition: opacity 100ms linear; }
      .route-load-indicator i { display: block; width: 44%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#fff,#d9b9ff,#fff); box-shadow: 0 0 8px rgba(255,255,255,.55); transform: translate3d(-130%,0,0); }
      .route-load-indicator.visible { opacity: 1; }
      .route-load-indicator.visible i { animation: route-load-slide 700ms ease-in-out infinite; }
      @keyframes route-load-slide { to { transform: translate3d(330%,0,0); } }

      .topbar, .page-head, .section-head, .row, .vehicle-mini, .history-row, .profile-row { display: flex; align-items: center; }
      .topbar, .section-head { justify-content: space-between; }
      .topbar { margin-bottom: 17px; }
      .brand { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
      .brand-mark { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: #fff; box-shadow: 0 7px 18px rgba(20,7,35,.16); }
      .brand-mark::before { display: block; width: 29px; height: 19px; background: var(--purple); content: ""; -webkit-mask: url("./assets/cp-mark-white.webp") center / contain no-repeat; mask: url("./assets/cp-mark-white.webp") center / contain no-repeat; }
      .brand-copy strong, .brand-copy span { display: block; }
      .brand-copy strong { color: #5918a8; font-size: 13px; letter-spacing: .04em; white-space: nowrap; }
      .brand-copy span { margin-top: 2px; color: #a13a6c; font-size: 7px; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }
      .brand-copy .brand-welcome { margin: 0 0 2px; font-size: 9px; font-weight: 750; letter-spacing: 0; opacity: .72; text-transform: none; }
      .brand-copy .brand-customer { max-width: 190px; overflow: hidden; font-size: 14px; letter-spacing: 0; text-overflow: ellipsis; text-transform: none; }
      .top-actions { display: flex; align-items: center; gap: 5px; }
      .icon-button, .back { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; text-decoration: none; box-shadow: 0 5px 15px rgba(44, 25, 64, .05); }
      .icon-button { position: relative; }
      .profile-icon-button { overflow: hidden; }
      .customer-avatar { position: relative; display: grid; overflow: hidden; place-items: center; border-radius: 50%; color: var(--purple); background: linear-gradient(145deg,#f8f2fc,#eadcf5); }
      .customer-avatar img { width: 100%; height: 100%; object-fit: cover; }
      .customer-avatar svg { width: 54%; height: 54%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
      .customer-avatar--top { width: 30px; height: 30px; border: 1px solid rgba(109,32,197,.12); }
      .customer-avatar--profile { width: 62px; height: 62px; flex: 0 0 auto; border: 3px solid rgba(255,255,255,.72); color: #6d20c5; background: #fff; box-shadow: 0 8px 20px rgba(39,8,67,.18); }
      .dot { position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: var(--orange); }

      .page-head { gap: 12px; margin-bottom: 22px; }
      .page-head h1 { margin: 0; font-size: 16px; }
      .page-head p { margin: 4px 0 0; color: var(--ink-soft); font-size: 9px; }
      .page-head.centered { justify-content: center; text-align: center; }

      .card { border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 9px 24px rgba(48, 29, 66, .055); }
      .gradient { color: #fff; background: linear-gradient(135deg, #5311a7 2%, #7f1bcc 56%, #d52982 100%); box-shadow: 0 16px 34px rgba(100, 25, 177, .22); }
      .section-title { margin: 20px 0 11px; color: #4b1a77; font-size: 11px; font-weight: 850; }
      .muted { color: var(--ink-soft); }

      .vehicle-area { display: grid; min-height: 0; grid-template-rows: minmax(0,1fr); gap: 0; margin-bottom: 0; }
      .home-greeting { display: flex; align-items: end; justify-content: space-between; gap: 12px; color: #fff; }
      .home-greeting-copy { min-width: 0; }
      .home-greeting small, .home-greeting strong { display: block; }
      .home-greeting small { color: rgba(255,255,255,.7); font-size: 9px; }
      .home-greeting strong { margin-top: 1px; font-size: 20px; line-height: 1.05; }
      .manage-vehicles-link { display: inline-flex; min-height: 30px; flex: 0 0 auto; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 99px; color: #fff; background: rgba(255,255,255,.13); font-size: 8px; font-weight: 900; text-decoration: none; backdrop-filter: blur(8px); }
      .vehicle-carousel-shell { position: relative; min-width: 0; height: 100%; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
      .vehicle-carousel-shell::before { position: absolute; inset: 0 0 52px; z-index: 0; border: 0; border-radius: 17px 17px 0 0; background: linear-gradient(90deg,rgba(19,10,39,.95) 0,rgba(20,11,38,.66) 39%,rgba(17,9,28,.04) 61%),url("./assets/lot/custodio-lot-pavers.webp") left center/cover no-repeat; box-shadow: none; content: ""; }
      .vehicle-carousel-shell::after { position: absolute; right: 0; bottom: 18px; left: 0; z-index: 1; height: 34px; border-radius: 0; background: var(--vehicle-status-bg,#fff); box-shadow: none; content: ""; contain: paint; transform: translateZ(0); backface-visibility: hidden; }
      .vehicle-carousel-shell.status-pickup { --vehicle-status-bg:linear-gradient(90deg,#e5f5ff,#edf7ff);--vehicle-status-color:#145c8b;--vehicle-status-dot:#2487c8; }
      .vehicle-carousel-shell.status-incoming { --vehicle-status-bg:linear-gradient(90deg,#e9f0ff,#f2f5ff);--vehicle-status-color:#3859a2;--vehicle-status-dot:#537de0; }
      .vehicle-carousel-shell.status-waiting { --vehicle-status-bg:linear-gradient(90deg,#fff0c9,#fff7df);--vehicle-status-color:#8a5600;--vehicle-status-dot:#e79a18; }
      .vehicle-carousel-shell.status-washing { --vehicle-status-bg:linear-gradient(100deg,#5c16aa,#8b25c6);--vehicle-status-color:#fff;--vehicle-status-dot:#fff; }
      .vehicle-carousel-shell.status-finished { --vehicle-status-bg:linear-gradient(90deg,#d9f5e4,#ecfaef);--vehicle-status-color:#126b3c;--vehicle-status-dot:#24aa5d; }
      .vehicle-carousel-shell.status-last-wash { --vehicle-status-bg:linear-gradient(90deg,#f4eff8,#fbf9fc);--vehicle-status-color:#67218d;--vehicle-status-dot:#8a37b8; }
      .vehicle-carousel-shell.status-idle { --vehicle-status-bg:#f2eff4;--vehicle-status-color:#6d6571;--vehicle-status-dot:#9c94a0; }
      .vehicle-carousel { position: relative; z-index: 2; display: flex; height: 100%; overflow-x: auto; overflow-y: hidden; border-radius: 0; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
      .vehicle-carousel::-webkit-scrollbar { display: none; }
      .vehicle-carousel-shell.vehicle-data-loading .vehicle-carousel, .vehicle-carousel-shell.vehicle-data-loading .vehicle-carousel-dots { visibility: hidden; }
      .vehicle-carousel-shell.vehicle-data-loading::after { display: none; }
      .vehicle-carousel-empty { display: grid; min-width: 100%; place-content: center; padding: 18px; color: #fff; text-align: center; text-shadow: 0 2px 10px rgba(12,6,24,.72); }
      .vehicle-carousel-shell:has(.vehicle-carousel-empty)::after { display: none; }
      .vehicle-carousel-empty strong, .vehicle-carousel-empty small { display: block; }
      .vehicle-carousel-empty strong { font-size: 13px; }
      .vehicle-carousel-empty small { max-width: 230px; margin-top: 6px; color: rgba(255,255,255,.8); font-size: 9px; line-height: 1.4; }
      .vehicle-hero { position: relative; z-index: 1; min-width: 100%; min-height: 120px; flex: 0 0 100%; overflow: visible; isolation: isolate; padding: 14px 14px 26px; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; scroll-snap-align: center; scroll-snap-stop: always; }
      .vehicle-hero.is-current { z-index: 3; }
      .vehicle-hero::before { display: none; }
      .vehicle-hero::after { display: none; }
      .vehicle-hero:focus-visible { outline: 3px solid rgba(109,32,197,.45); outline-offset: -5px; }
      .vehicle-hero h2 { margin: 3px 0 0; font-size: 22px; }
      .vehicle-hero p { margin: 0; font-size: 12px; }
      .vehicle-hero .vehicle-label { margin-top: 40px; color: rgba(255,255,255,.72); font-size: 9px; }
      .plate { position: relative; display: inline-flex; min-width: 96px; align-items: center; justify-content: center; margin-top: 6px; padding: 11px 8px 4px; border: 2px solid #28242b; border-radius: 6px; color: #17151a; background: linear-gradient(#fff,#f7f7f8); box-shadow: inset 0 0 0 1px #d8d8dc, 0 3px 8px rgba(29,24,33,.1); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 16px; font-weight: 950; line-height: 1; letter-spacing: .045em; }
      .plate::before { position: absolute; top: 0; right: 0; left: 0; height: 8px; padding-left: 6px; border-radius: 3px 3px 0 0; color: #fff; background: #1356a7; content: "BRASIL"; font-family: Arial, sans-serif; font-size: 5px; font-weight: 900; line-height: 8px; letter-spacing: .16em; text-align: center; }
      .plate::after { position: absolute; top: 2px; right: 5px; width: 4px; height: 4px; border-radius: 50%; background: #f6d32d; box-shadow: 0 0 0 1px #22934a; content: ""; }
      .vehicle-live-status { position: absolute; top: 56px; left: 15px; z-index: 4; display: flex; width: fit-content; max-width: 46%; align-items: center; gap: 6px; margin: 0 !important; padding: 6px 9px; border-radius: 9px; color: #584d61; background: #f0edf2; font-size: 9px !important; font-weight: 850; line-height: 1.2; box-shadow: 0 4px 12px rgba(15,8,28,.24); }
      .vehicle-live-status[hidden] { display: none; }
      .vehicle-live-status::before { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #8d8792; content: ""; }
      .vehicle-live-status.incoming { color: #52606e; background: #edf1f4; }
      .vehicle-live-status.waiting { color: #955b00; background: #fff0d0; }
      .vehicle-live-status.waiting::before { background: #ee9c18; }
      .vehicle-live-status.washing { color: #fff; background: linear-gradient(135deg,#6418b7,#8d25c6); }
      .vehicle-live-status.washing::before { background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.17); animation: vehicle-status-pulse 1.4s ease-in-out infinite; }
      .vehicle-live-status.finished { color: #116d3c; background: #daf4e4; }
      .vehicle-live-status.finished::before { background: #21a85b; }
      .vehicle-finished-time { position: absolute; bottom: 76px; left: 15px; z-index: 4; width: 44%; margin: 0; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 800; }
      .vehicle-finished-time[hidden] { display: none; }
      @keyframes vehicle-status-pulse { 50% { opacity: .45; transform: scale(.72); } }
      .vehicle-name { position: absolute; top: 61px; left: 15px; z-index: 4; width: 44%; margin: 0 !important; color: #fff; font-size: 12px !important; font-weight: 900; line-height: 1.2; text-shadow: 0 2px 8px rgba(8,4,17,.55); }
      .vehicle-last-wash { position: absolute; top: 91px; left: 15px; z-index: 4; width: 44%; max-width: none; margin: 0 !important; color: rgba(255,255,255,.65); }
      .vehicle-last-wash small, .vehicle-last-wash strong { display: block; }
      .vehicle-last-wash small { font-size: 7px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
      .vehicle-last-wash strong { margin-top: 3px; color: #fff; font-size: 8px; }
      .vehicle-hero.secondary .vehicle-name { top: 61px; }
      .vehicle-hero.secondary .vehicle-last-wash { top: 86px; }
      .vehicle-hero.secondary.washing-active .vehicle-name { top: 102px; }
      .vehicle-hero.washing-active .vehicle-last-wash { display: none; }
      .vehicle-hero > .plate { position: absolute; top: 16px; left: 15px; z-index: 4; margin: 0; }
      .vehicle-photo { position: absolute; right: -15%; bottom: calc(10px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); z-index: 2; display: block; width: auto; max-width: 79.3%; height: 70%; object-fit: contain; object-position: right bottom; opacity: var(--vehicle-presence,0); pointer-events: none; filter: drop-shadow(0 6px 4px rgba(9,5,18,.34)); transform: translateX(var(--vehicle-swipe-x,0%)) translateY(var(--vehicle-compact-forward,0%)) scale(var(--vehicle-photo-scale,1)); transform-origin: 62% 100%; transition: opacity 90ms linear,bottom 580ms cubic-bezier(.16,1,.3,1),right 580ms cubic-bezier(.16,1,.3,1); will-change: opacity,transform; }
      .vehicle-dirt-layer { position: absolute; right: -15%; bottom: calc(10px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); z-index: 3; display: block; width: 79.3%; height: 70%; overflow: hidden; opacity: 0; pointer-events: none; background: url("./assets/dirt-texture.svg") center bottom / 100% 88% no-repeat,radial-gradient(ellipse at 22% 84%,rgba(52,33,20,.82) 0 2.5%,rgba(110,72,39,.46) 4%,transparent 11%),radial-gradient(ellipse at 59% 88%,rgba(58,37,22,.78) 0 2%,rgba(122,81,45,.42) 4%,transparent 12%),radial-gradient(circle at 83% 76%,rgba(57,36,22,.72) 0 1.5%,rgba(129,85,46,.32) 3%,transparent 7%),linear-gradient(to top,rgba(63,41,25,.72) 0,rgba(112,75,42,.44) 22%,rgba(127,88,51,.16) 48%,transparent 70%); mix-blend-mode: multiply; filter: contrast(1.18) saturate(.88); transform: translateX(var(--vehicle-swipe-x,0%)) translateY(var(--vehicle-compact-forward,0%)) scale(var(--vehicle-photo-scale,1)); transform-origin: 62% 100%; transition: bottom 580ms cubic-bezier(.16,1,.3,1),right 580ms cubic-bezier(.16,1,.3,1); -webkit-mask: var(--vehicle-dirt-mask) right bottom / contain no-repeat; mask: var(--vehicle-dirt-mask) right bottom / contain no-repeat; will-change: opacity,clip-path; }
      .vehicle-dirt-layer.vehicle-dirt-preview { animation: none; opacity: 0; }
      .vehicle-clean-shine { position: absolute; right: -15%; bottom: calc(10px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); z-index: 3; display: block; width: 79.3%; height: 70%; overflow: hidden; opacity: var(--vehicle-presence,0); pointer-events: none; transform: translateX(var(--vehicle-swipe-x,0%)) translateY(var(--vehicle-compact-forward,0%)) scale(var(--vehicle-photo-scale,1)); transform-origin: 62% 100%; transition: bottom 580ms cubic-bezier(.16,1,.3,1),right 580ms cubic-bezier(.16,1,.3,1); -webkit-mask: var(--vehicle-clean-mask) right bottom / contain no-repeat; mask: var(--vehicle-clean-mask) right bottom / contain no-repeat; }
      .vehicle-clean-shine::before { position: absolute; top: -25%; bottom: -25%; left: -38%; width: 24%; background: linear-gradient(90deg,transparent 0,rgba(215,184,255,.2) 20%,rgba(255,255,255,.96) 48%,rgba(195,229,255,.38) 70%,transparent 100%); filter: blur(1.5px); content: ""; opacity: 0; transform: skewX(-17deg); }
      .vehicle-clean-shine::after { position: absolute; inset: 0; background: radial-gradient(ellipse at 44% 50%,rgba(255,255,255,.34),transparent 23%),linear-gradient(115deg,transparent 25%,rgba(217,190,255,.16) 48%,rgba(255,255,255,.26) 55%,transparent 72%); content: ""; opacity: 0; }
      .vehicle-hero.finished .vehicle-clean-shine::before, .vehicle-hero.finished .vehicle-clean-shine::after { animation: none; opacity: 0; }
      .vehicle-hero.vehicle-size-moto { --vehicle-photo-scale: 1.254; }
      .vehicle-hero.vehicle-size-moto .vehicle-photo { right: -15%; bottom: calc(-11px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); }
      .vehicle-hero.vehicle-position-dolphin-mini { --vehicle-photo-scale: .94; }
      .vehicle-hero.vehicle-position-dolphin-mini :is(.vehicle-photo,.vehicle-dirt-layer,.vehicle-clean-shine) { bottom: calc(14px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); }
      .vehicle-hero.vehicle-position-mini-cooper { --vehicle-photo-scale: .88; }
      .vehicle-hero.vehicle-position-mini-cooper :is(.vehicle-photo,.vehicle-dirt-layer,.vehicle-clean-shine,.vehicle-polish-sparkles) { right: -3%; bottom: calc(13px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); }
      .vehicle-washing-worker { position: absolute; right: -5%; bottom: 2px; z-index: 3; display: block; width: auto; max-width: none; height: 61.2%; aspect-ratio: 749 / 1000; opacity: 0; pointer-events: none; filter: drop-shadow(0 6px 5px rgba(9,5,18,.3)); transform: translateX(calc(var(--vehicle-swipe-x,0%) + 7%)) scale(.97); transform-origin: 78% 100%; transition: opacity 240ms ease,transform 360ms cubic-bezier(.2,.8,.25,1); will-change: opacity,transform; }
      .vehicle-washing-worker img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: right bottom; pointer-events: none; }
      .vehicle-washing-worker-body { z-index: 0; }
      .vehicle-washing-worker-arm { z-index: 1; transform-origin: 43% 23.5%; will-change: transform; }
      .vehicle-hero.washing-active .vehicle-washing-worker { opacity: var(--vehicle-presence,0); transform: translateX(var(--vehicle-swipe-x,0%)) scale(1); }
      .vehicle-hero.washing-active .vehicle-washing-worker-arm { animation: worker-arm-wipe-motion 1.3s ease-in-out infinite; }
      .vehicle-dirt-demo-card { --dirt-demo-duration: 36s; --dirt-build-duration: 12s; --clean-demo-duration: 19s; }
      .vehicle-dirt-demo-card .vehicle-dirt-layer { display: none; }
      .vehicle-photo-dirt { z-index: 3; opacity: 0; filter: none; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-photo-dirt-1 { animation: dirt-demo-level-1 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-photo-dirt-2 { animation: dirt-demo-level-2 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-photo-dirt-3 { animation: dirt-demo-level-3 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-washing-worker { z-index: 5; animation: dirt-demo-worker var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-washing-worker-arm { animation: dirt-demo-worker-arm var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card .vehicle-clean-shine { z-index: 4; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-clean-shine::before { animation: dirt-demo-polish-sweep var(--dirt-demo-duration) cubic-bezier(.2,.72,.28,1) 1 both !important; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .vehicle-clean-shine::after { animation: dirt-demo-polish-glow var(--dirt-demo-duration) ease 1 both !important; }
      .vehicle-dirt-demo-status { position: absolute; right: auto; bottom: 50px; left: 15px; z-index: 7; width: 180px; height: 25px; pointer-events: none; }
      .vehicle-dirt-demo-status span { position: absolute; inset: 0 auto auto 0; display: flex; width: max-content; min-width: 165px; height: 25px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid rgba(255,255,255,.38); border-radius: 99px; box-shadow: 0 6px 14px rgba(20,8,31,.22); font-size: 8px; font-weight: 950; letter-spacing: .01em; opacity: 0; backdrop-filter: blur(8px); }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .dirt-status-1 { color: #654317; background: rgba(255,236,185,.95); animation: dirt-demo-status-1 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .dirt-status-2 { color: #713715; background: rgba(255,214,164,.96); animation: dirt-demo-status-2 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .dirt-status-3 { color: #fff; background: rgba(197,62,36,.94); animation: dirt-demo-status-3 var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .dirt-status-wash { color: #fff; background: rgba(83,28,181,.94); animation: dirt-demo-status-wash var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-running.is-current .dirt-status-polish { color: #fff; background: rgba(24,145,79,.94); animation: dirt-demo-status-polish var(--dirt-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-animation-finished .dirt-status-polish { color: #fff; background: rgba(24,145,79,.96); opacity: 1; }
      .vehicle-dirt-demo-card.dirt-animation-finished .vehicle-clean-shine::after { opacity: .16; }
      .vehicle-polish-sparkles { position: absolute; right: -11%; bottom: 12px; z-index: 6; display: block; width: 79.3%; height: 70%; opacity: 0; pointer-events: none; transform: translateX(var(--vehicle-swipe-x,0%)) scale(var(--vehicle-photo-scale,1)); transform-origin: 62% 100%; }
      .vehicle-polish-sparkles i { position: absolute; top: var(--sparkle-y); left: var(--sparkle-x); display: block; width: calc(var(--sparkle-size) + 11px); height: calc(var(--sparkle-size) + 11px); border-radius: 50%; opacity: 0; background: radial-gradient(circle,rgba(255,255,255,.98) 0 7%,rgba(241,228,255,.78) 18%,rgba(184,125,255,.34) 38%,rgba(137,72,229,.1) 57%,transparent 76%); filter: drop-shadow(0 0 8px rgba(255,255,255,.68)) drop-shadow(0 0 16px rgba(158,87,244,.42)); mix-blend-mode: screen; transform: translate(-50%,-40%) scale(.2) rotate(-7deg); }
      .vehicle-polish-sparkles i::before, .vehicle-polish-sparkles i::after { position: absolute; top: 50%; left: 50%; border-radius: 99px; background: linear-gradient(90deg,transparent 0,rgba(224,198,255,.08) 12%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.98) 50%,rgba(255,255,255,.92) 52%,rgba(224,198,255,.08) 88%,transparent 100%); content: ""; filter: blur(.75px); transform: translate(-50%,-50%); }
      .vehicle-polish-sparkles i::before { width: 108%; height: 10%; }
      .vehicle-polish-sparkles i::after { width: 10%; height: 108%; }
      .sparkle-demo-card.dirt-animation-running.is-current .vehicle-polish-sparkles { opacity: var(--vehicle-presence,1); }
      .sparkle-demo-card.dirt-animation-running.is-current .vehicle-polish-sparkles i { animation: vehicle-polish-sparkle 1.65s cubic-bezier(.2,.8,.25,1) calc(29.2s + var(--sparkle-delay)) 2 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .vehicle-photo-dirt-1 { animation: dirt-build-level-1 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .vehicle-photo-dirt-2 { animation: dirt-build-level-2 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .vehicle-photo-dirt-3 { animation: dirt-build-level-3 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .dirt-status-1 { color: #654317; background: rgba(255,236,185,.95); animation: dirt-build-status-1 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .dirt-status-2 { color: #713715; background: rgba(255,214,164,.96); animation: dirt-build-status-2 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-build-running.is-current .dirt-status-3 { color: #fff; background: rgba(197,62,36,.94); animation: dirt-build-status-3 var(--dirt-build-duration) linear 1 both; }
      .vehicle-dirt-demo-card.dirt-stage-three.is-current .vehicle-photo-dirt-3 { opacity: var(--vehicle-presence,1); }
      .vehicle-dirt-demo-card.dirt-stage-three.is-current .dirt-status-3 { color: #fff; background: rgba(197,62,36,.94); opacity: 1; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-photo-dirt-3 { animation: clean-demo-level-3 var(--clean-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-photo-dirt-2 { animation: clean-demo-level-2 var(--clean-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-photo-dirt-1 { animation: clean-demo-level-1 var(--clean-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-washing-worker { z-index: 5; animation: clean-demo-worker var(--clean-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-washing-worker-arm { animation: worker-arm-wipe-motion 1.3s ease-in-out infinite; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-clean-shine::before { animation: clean-demo-polish-sweep var(--clean-demo-duration) cubic-bezier(.2,.72,.28,1) 1 both !important; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .vehicle-clean-shine::after { animation: clean-demo-polish-glow var(--clean-demo-duration) ease-out 1 both !important; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .dirt-status-wash { color: #fff; background: rgba(83,28,181,.94); animation: clean-demo-status-wash var(--clean-demo-duration) linear 1 both; }
      .vehicle-dirt-demo-card.clean-animation-running.is-current .dirt-status-polish { color: #fff; background: rgba(24,145,79,.94); animation: clean-demo-status-polish var(--clean-demo-duration) linear 1 both; }
      .sparkle-demo-card.clean-animation-running.is-current .vehicle-polish-sparkles { opacity: var(--vehicle-presence,1); }
      .sparkle-demo-card.clean-animation-running.is-current .vehicle-polish-sparkles i { animation: vehicle-polish-sparkle 1.65s cubic-bezier(.2,.8,.25,1) calc(14s + var(--sparkle-delay)) 2 both; }
      .vehicle-image-processing { position: absolute; inset: 3px 0 18px 45%; z-index: 1; overflow: hidden; contain: strict; isolation: isolate; color: #fff; pointer-events: none; transform: translateZ(0); backface-visibility: hidden; }
      .vehicle-hero.image-processing-card :is(.vehicle-photo,.vehicle-home-art,.vehicle-dirt-layer,.vehicle-clean-shine,.vehicle-polish-sparkles,.vehicle-washing-worker,.wash-live-effect,.wash-preview-effect) { display: none !important; animation: none !important; filter: none !important; }
      .vehicle-carousel-shell:has(.vehicle-hero.is-current.image-processing-card)::before { background: linear-gradient(90deg,rgba(15,14,17,.96) 0,rgba(20,19,22,.58) 42%,rgba(20,19,22,.03) 66%),url("./assets/lot/custodio-lot-pavers.webp") left center/cover no-repeat; }
      .vehicle-processing-mascot { position: absolute; right: 27px; bottom: -4px; display: block; width: 142px; height: 194px; contain: strict; isolation: isolate; pointer-events: none; user-select: none; transform: translateZ(0); backface-visibility: hidden; }
      .vehicle-processing-mascot-body, .vehicle-processing-mascot-arm { position: absolute; display: block; width: auto; pointer-events: none; user-select: none; backface-visibility: hidden; }
      .vehicle-processing-mascot-body { right: 36px; bottom: 0; z-index: 2; height: 176px; }
      .vehicle-processing-mascot-left-arm { top: 64px; left: 31px; z-index: 1; width: 48px; transform-origin: 99% 73%; animation: joao-loader-left-arm 1.55s ease-in-out infinite alternate; }
      .vehicle-processing-mascot-right-arm { top: 33px; left: 98px; z-index: 1; height: 48px; transform-origin: 17% 99%; animation: joao-loader-right-arm 1.55s ease-in-out infinite alternate-reverse; }
      @keyframes joao-loader-left-arm { from { transform: translateZ(0) rotate(3deg); } to { transform: translateZ(0) rotate(-8deg); } }
      @keyframes joao-loader-right-arm { from { transform: translateZ(0) rotate(10deg); } to { transform: translateZ(0) rotate(18deg); } }
      .vehicle-preview-loader i { display: block; width: 25px; height: 25px; border: 3px solid rgba(255,255,255,.28); border-top-color: #fff; border-radius: 50%; animation: vehicle-image-spin .75s linear infinite; }
      .vehicle-home-art { position: absolute !important; right: -35px; bottom: calc(12px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); z-index: 2; opacity: var(--vehicle-presence,0); transform: translateX(var(--vehicle-swipe-x,0%)) translateY(var(--vehicle-compact-forward,0%)) scale(1.48); transform-origin: right bottom; transition: opacity 90ms linear,bottom 580ms cubic-bezier(.16,1,.3,1); will-change: opacity,transform; }
      .vehicle-hero.vehicle-emerging .vehicle-photo:not(.vehicle-photo-dirt) { animation: vehicle-emerge-from-lot 820ms cubic-bezier(.18,.76,.2,1) both; }
      .vehicle-hero.vehicle-emerging .vehicle-home-art { animation: vehicle-art-emerge-from-lot 820ms cubic-bezier(.18,.76,.2,1) both; }
      .vehicle-visual { display: none; }
      .vehicle-visual::before { position: absolute; inset: 6px; border: 1px solid rgba(109,32,197,.1); border-radius: 14px; content: ""; }
      .vehicle-visual small, .vehicle-visual strong { position: relative; display: block; }
      .vehicle-visual small { color: #776d7f; font-size: 8px; font-weight: 900; letter-spacing: .18em; }
      .vehicle-visual strong { margin-top: 2px; color: var(--purple); font-size: 18px; font-weight: 950; letter-spacing: -.06em; line-height: 1; }
      .vehicle-hero.secondary .vehicle-visual { background: linear-gradient(145deg,rgba(33,117,170,.1),rgba(109,32,197,.06)); transform: rotate(2deg); animation: none; }
      .wash-live-effect { position: absolute; inset: 0 0 52px; z-index: 1; display: none; overflow: hidden; border: 0; border-radius: 17px 17px 0 0; pointer-events: none; background: radial-gradient(circle at 66% 58%,rgba(69,202,255,.23),transparent 36%),linear-gradient(90deg,rgba(21,8,52,.35),rgba(55,17,111,.08)); }
      .vehicle-hero.washing-active .wash-live-effect { display: block; }
      .wash-live-effect span { position: absolute; width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: #28aef2; box-shadow: 0 0 0 4px rgba(31,164,237,.12),0 0 14px #159eea; animation: holo-node-pulse 1.6s ease-in-out infinite; }
      .wash-live-effect span:nth-child(1) { top:24%; left:11% }.wash-live-effect span:nth-child(2) { top:47%; left:31%; animation-delay:-.8s }.wash-live-effect span:nth-child(3) { right:32%; bottom:21%; animation-delay:-1.2s }.wash-live-effect span:nth-child(4) { top:18%; right:18%; animation-delay:-.4s }.wash-live-effect span:nth-child(5) { right:8%; bottom:12%; animation-delay:-1s }
      .vehicle-hero.washing-active .vehicle-photo:not(.vehicle-photo-dirt) { animation: holo-photo-lock 2s ease-in-out infinite; }
      .vehicle-hero.washing-active .vehicle-home-art { animation: holo-art-lock 2s ease-in-out infinite; }
      .wash-test-effect { position: absolute; inset: 0 0 10px; z-index: 3; overflow: hidden; border-radius: 17px 17px 0 0; pointer-events: none; }
      .wash-animation-preview.washing-active .vehicle-photo, .wash-animation-preview.washing-active .vehicle-home-art { animation: none; }
      .vehicle-hero::before { position: absolute; right: 1%; bottom: 6px; z-index: 1; display: block; width: 72%; height: 54%; background: radial-gradient(ellipse at 58% 64%,rgba(171,86,239,.52) 0,rgba(143,58,224,.39) 18%,rgba(112,32,201,.22) 36%,rgba(92,20,179,.09) 52%,rgba(82,15,167,.025) 64%,transparent 74%); filter: blur(4px); -webkit-mask-image: radial-gradient(ellipse at 58% 64%,#000 0 42%,rgba(0,0,0,.82) 54%,rgba(0,0,0,.36) 66%,transparent 82%); mask-image: radial-gradient(ellipse at 58% 64%,#000 0 42%,rgba(0,0,0,.82) 54%,rgba(0,0,0,.36) 66%,transparent 82%); content: ""; opacity: .78; pointer-events: none; animation: none; }
      .vehicle-hero.image-processing-card::before { display: none; opacity: 0; }
      .wash-test-effect span { position: absolute; display: block; pointer-events: none; }
      .wash-test-effect span:nth-child(1) { left:43%; top:18%; animation-delay:-.2s }.wash-test-effect span:nth-child(2) { left:51%; top:35%; animation-delay:-1.1s }.wash-test-effect span:nth-child(3) { left:59%; top:15%; animation-delay:-.7s }.wash-test-effect span:nth-child(4) { left:67%; top:52%; animation-delay:-1.6s }.wash-test-effect span:nth-child(5) { left:75%; top:28%; animation-delay:-.4s }.wash-test-effect span:nth-child(6) { left:83%; top:62%; animation-delay:-1.3s }.wash-test-effect span:nth-child(7) { left:91%; top:22%; animation-delay:-.9s }.wash-test-effect span:nth-child(8) { left:47%; top:69%; animation-delay:-1.8s }.wash-test-effect span:nth-child(9) { left:56%; top:58%; animation-delay:-.55s }.wash-test-effect span:nth-child(10) { left:70%; top:76%; animation-delay:-1.45s }.wash-test-effect span:nth-child(11) { left:80%; top:43%; animation-delay:-.05s }.wash-test-effect span:nth-child(12) { left:95%; top:70%; animation-delay:-1.95s }
      .wash-test-bubbles span { top: auto; }
      .wash-test-bubbles span:nth-child(1) { bottom:0 }.wash-test-bubbles span:nth-child(2) { bottom:3% }.wash-test-bubbles span:nth-child(3) { bottom:1% }.wash-test-bubbles span:nth-child(4) { bottom:4% }.wash-test-bubbles span:nth-child(5) { bottom:2% }.wash-test-bubbles span:nth-child(6) { bottom:0 }.wash-test-bubbles span:nth-child(7) { bottom:3% }.wash-test-bubbles span:nth-child(8) { bottom:1% }.wash-test-bubbles span:nth-child(9) { bottom:4% }.wash-test-bubbles span:nth-child(10) { bottom:2% }.wash-test-bubbles span:nth-child(11) { bottom:0 }.wash-test-bubbles span:nth-child(12) { bottom:3% }
      .wash-test-bubbles span { width: 16px; height: 16px; border: 1px solid rgba(232,250,255,.95); border-radius: 50%; background: radial-gradient(circle at 30% 25%,rgba(255,255,255,.98) 0 8%,rgba(151,225,255,.55) 12% 34%,rgba(38,159,225,.18) 58%,rgba(225,247,255,.34)); box-shadow: inset -2px -3px 5px rgba(23,123,187,.22),0 0 10px rgba(86,204,255,.42); animation: wash-soap-bubble 2.3s ease-in-out infinite; }
      .wash-test-bubbles span:nth-child(3n) { width: 10px; height: 10px; }.wash-test-bubbles span:nth-child(4n) { width: 22px; height: 22px; }
      .wash-preview-effect { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: radial-gradient(circle at 76% 53%,rgba(68,228,255,.22),transparent 27%),linear-gradient(140deg,rgba(244,240,255,.88),rgba(222,249,255,.72)); }
      .wash-preview-effect::before { position: absolute; top: 16px; right: 1px; width: 155px; height: 155px; border: 1px solid rgba(99,38,190,.22); border-radius: 50%; background: repeating-conic-gradient(from 0deg,rgba(78,211,244,.48) 0 2deg,transparent 3deg 17deg,rgba(109,32,197,.31) 18deg 20deg,transparent 21deg 35deg); box-shadow: inset 0 0 0 17px rgba(255,255,255,.2),0 0 32px rgba(78,189,232,.13); content: ""; animation: energy-core-spin 6s linear infinite; }
      .wash-preview-effect::after { position: absolute; top: 61px; right: 46px; width: 65px; height: 65px; border-radius: 50%; background: radial-gradient(circle,#fff 0 9%,#62dcf7 10% 22%,rgba(109,32,197,.7) 23% 37%,rgba(83,212,242,.16) 38% 58%,transparent 59%); box-shadow: 0 0 18px rgba(76,210,241,.72),0 0 42px rgba(102,39,189,.35); content: ""; animation: energy-core-pulse 1.8s ease-in-out infinite; }
      .wash-preview-effect span { position: absolute; left: 4%; width: 72px; height: 2px; background: linear-gradient(90deg,transparent,#36d8ff,#7725c7); box-shadow: 0 0 9px rgba(53,210,246,.78); clip-path: polygon(0 0,70% 0,76% 100%,100% 100%,100% 100%,74% 100%,68% 0,0 0); animation: circuit-packet 2.2s linear infinite; }
      .wash-preview-effect span:nth-child(1) { top:31% }.wash-preview-effect span:nth-child(2) { top:49%; left:18%; width:56px; animation-delay:-1.1s }.wash-preview-effect span:nth-child(3) { top:68%; left:7%; width:92px; animation-delay:-.6s }.wash-preview-effect span:nth-child(4) { top:82%; left:28%; width:49px; animation-delay:-1.7s }
      .vehicle-carousel-dots { position: absolute; top: 12px; right: 12px; z-index: 5; display: flex; gap: 5px; width: fit-content; padding: 5px 7px; border: 1px solid rgba(255,255,255,.68); border-radius: 99px; background: rgba(25,18,31,.42); box-shadow: 0 5px 14px rgba(12,6,24,.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
      .vehicle-carousel-dots button { width: 6px; height: 6px; padding: 0; border-radius: 50%; background: rgba(255,255,255,.58); cursor: pointer; transition: .2s ease; }
      .vehicle-carousel-dots button.active { width: 17px; border-radius: 99px; background: #fff; box-shadow: 0 0 7px rgba(255,255,255,.42); }
      .vehicle-progress { position: absolute; bottom: 62px; left: 15px; z-index: 4; width: 44%; padding: 4px 0 2px; border-radius: 8px; background: transparent; }
      .vehicle-progress[hidden] { display: none; }
      .vehicle-progress-copy { display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-bottom: 5px; }
      .vehicle-progress-copy strong { position: relative; z-index: 1; color: #fff; font-size: 7px; line-height: 1.2; text-shadow: 0 2px 5px rgba(8,3,18,.7); }
      .vehicle-progress-copy small { position: relative; z-index: 1; flex: 0 0 auto; color: rgba(255,255,255,.7); font-size: 6px; font-weight: 800; text-shadow: 0 2px 5px rgba(8,3,18,.7); }
      .vehicle-progress-track { height: 7px; overflow: hidden; border-radius: 99px; background: #e8e1ec; box-shadow: inset 0 1px 2px rgba(54,29,71,.08); }
      .vehicle-progress-track i { position: relative; display: block; width: 0; height: 100%; overflow: hidden; border-radius: inherit; background: linear-gradient(90deg,#7120c5,#d82d80,#ef6a32); transition: width 700ms linear; }
      .vehicle-hero.washing-active .vehicle-progress-track i::after { position: absolute; inset: 0; width: 42%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent); content: ""; animation: wash-progress-shine 1.35s linear infinite; }
      .vehicle-hero.has-wash-progress .vehicle-name { display: none; }
      .vehicle-history-hint { position: absolute; bottom: 18px; left: 15px; z-index: 4; display: flex; width: calc(100% - 30px); height: 34px; align-items: center; gap: 8px; color: var(--vehicle-status-color,#6d6571); font-size: 9px; font-weight: 950; line-height: 1.1; text-shadow: none; pointer-events: none; contain: layout paint; transform: translateZ(0); backface-visibility: hidden; }
      .vehicle-history-hint::before { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--vehicle-status-dot,#9c94a0); box-shadow: 0 0 0 3px rgba(110,64,145,.1); content: ""; }
      .vehicle-hero.has-wash-progress .vehicle-history-hint { display: none; }
      .finish-celebration { position: absolute; inset: 0; z-index: 10; display: none; place-content: center; color: #fff; background: linear-gradient(135deg,rgba(20,144,78,.96),rgba(48,187,108,.93)); text-align: center; }
      .vehicle-hero.celebrating .finish-celebration { display: grid; animation: finish-celebration 2.2s cubic-bezier(.2,.8,.25,1) both; }
      .finish-celebration b { display: grid; width: 58px; height: 58px; margin: 0 auto 8px; place-items: center; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; font-size: 30px; animation: finish-check .55s .12s cubic-bezier(.2,.9,.25,1.3) both; }
      .finish-celebration strong { font-size: 21px; }
      .finish-celebration small { margin-top: 3px; font-size: 10px; }
      .finish-celebration i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: finish-spark 1.4s ease-out both; }
      .finish-celebration i:nth-of-type(1) { top: 22%; left: 18%; }.finish-celebration i:nth-of-type(2) { top: 17%; right: 20%; animation-delay:.1s }.finish-celebration i:nth-of-type(3) { right: 14%; bottom: 21%; animation-delay:.18s }.finish-celebration i:nth-of-type(4) { bottom: 18%; left: 22%; animation-delay:.25s }
      @keyframes finish-celebration { 0% { opacity:0; transform:scale(.94) } 12%,82% { opacity:1; transform:none } 100% { opacity:0 } }
      @keyframes finish-check { from { opacity:0; transform:scale(.35) rotate(-25deg) } to { opacity:1; transform:none } }
      @keyframes finish-spark { 0% { opacity:0; transform:scale(0) } 35% { opacity:1; transform:scale(1.5) } 100% { opacity:0; transform:translateY(-18px) scale(.4) } }
      @keyframes holo-node-pulse { 50% { opacity:.3; transform:scale(.55); box-shadow:0 0 0 9px rgba(50,205,247,.05),0 0 8px #4dcaef } }
      @keyframes wash-soap-bubble { 0% { opacity:.78; transform:translate3d(0,0,0) scale(.62) } 16% { opacity:.95; transform:translate3d(4px,-28px,0) scale(.82) } 42% { opacity:.8; transform:translate3d(9px,-78px,0) scale(1.03) } 58% { opacity:.38; transform:translate3d(-5px,-112px,0) scale(.82) } 68% { opacity:0; transform:translate3d(2px,-132px,0) scale(.64) } 100% { opacity:0; transform:translate3d(4px,-145px,0) scale(.5) } }
      @keyframes worker-arm-wipe-motion { 0%,100% { transform:rotate(-2deg) translateY(.3%) } 50% { transform:rotate(2.5deg) translateY(-.4%) } }
      @keyframes vehicle-purple-backlight { 0%,100% { opacity:.58 } 50% { opacity:.88 } }
      @keyframes holo-vehicle-lock { 50% { transform:translateY(-3px) scale(1.025); border-color:rgba(50,202,240,.48); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 4px rgba(52,206,242,.09),0 15px 35px rgba(82,42,167,.22) } }
      @keyframes holo-photo-lock { 50% { transform:translateX(var(--vehicle-swipe-x,0%)) translateY(-3px) scale(var(--vehicle-photo-scale,1)); filter:drop-shadow(0 7px 5px rgba(52,206,242,.3)) } }
      @keyframes holo-art-lock { 50% { transform:translateX(var(--vehicle-swipe-x,0%)) translateY(-3px) scale(1.52); filter:drop-shadow(0 11px 12px rgba(52,206,242,.3)) } }
      @keyframes vehicle-emerge-from-lot { from { opacity:0; transform:translateX(110%) translateY(0) scale(var(--vehicle-photo-scale,1)) } to { opacity:1; transform:translateX(var(--vehicle-swipe-x,0%)) translateY(0) scale(var(--vehicle-photo-scale,1)) } }
      @keyframes vehicle-clean-flare-sweep { 0%,8% { opacity:0; transform:translateX(0) skewX(-17deg) } 18% { opacity:.86 } 58% { opacity:.92; transform:translateX(625%) skewX(-17deg) } 66%,100% { opacity:0; transform:translateX(625%) skewX(-17deg) } }
      @keyframes vehicle-clean-polish-glow { 0%,48%,100% { opacity:0 } 61% { opacity:.72 } 78% { opacity:.18 } }
      @keyframes vehicle-dirt-cleanup { 0%,51% { opacity:var(--vehicle-presence,0); clip-path:inset(0 0 0 0) } 58% { opacity:var(--vehicle-presence,0); clip-path:inset(0 0 0 12%) } 86% { opacity:var(--vehicle-presence,0); clip-path:inset(0 0 0 100%) } 87%,100% { opacity:0; clip-path:inset(0 0 0 100%) } }
      @keyframes dirt-demo-level-1 { 0%,4%,18%,68%,80%,100% { opacity:0 } 5%,17%,69%,79% { opacity:var(--vehicle-presence,0) } }
      @keyframes dirt-demo-level-2 { 0%,17%,31%,57%,69%,100% { opacity:0 } 18%,30%,58%,68% { opacity:var(--vehicle-presence,0) } }
      @keyframes dirt-demo-level-3 { 0%,30%,58%,100% { opacity:0 } 31%,57% { opacity:var(--vehicle-presence,0) } }
      @keyframes dirt-demo-worker { 0%,43%,81%,100% { opacity:0; transform:translateX(calc(var(--vehicle-swipe-x,0%) + 7%)) scale(.97) } 46%,79% { opacity:var(--vehicle-presence,0); transform:translateX(var(--vehicle-swipe-x,0%)) scale(1) } }
      @keyframes dirt-demo-worker-arm { 0%,43%,81%,100% { transform:rotate(0) } 44%,50%,56%,62%,68%,74%,80% { transform:rotate(-2deg) translateY(.3%) } 47%,53%,59%,65%,71%,77% { transform:rotate(2.5deg) translateY(-.4%) } }
      @keyframes dirt-demo-polish-sweep { 0%,80% { opacity:0; transform:translateX(0) skewX(-17deg) } 84% { opacity:.9 } 95% { opacity:.92; transform:translateX(625%) skewX(-17deg) } 98%,100% { opacity:0; transform:translateX(625%) skewX(-17deg) } }
      @keyframes dirt-demo-polish-glow { 0%,81%,100% { opacity:0 } 90% { opacity:.72 } 98% { opacity:.14 } }
      @keyframes dirt-demo-status-1 { 0%,4%,18%,100% { opacity:0 } 5%,17% { opacity:1 } }
      @keyframes dirt-demo-status-2 { 0%,17%,31%,100% { opacity:0 } 18%,30% { opacity:1 } }
      @keyframes dirt-demo-status-3 { 0%,30%,45%,100% { opacity:0 } 31%,44% { opacity:1 } }
      @keyframes dirt-demo-status-wash { 0%,44%,81%,100% { opacity:0 } 45%,80% { opacity:1 } }
      @keyframes dirt-demo-status-polish { 0%,80% { opacity:0 } 81%,100% { opacity:1 } }
      @keyframes vehicle-polish-sparkle { 0%,100% { opacity:0; transform:translate(-50%,-35%) scale(.2) rotate(-7deg) } 24% { opacity:.28 } 42% { opacity:.9; transform:translate(-50%,-58%) scale(1) rotate(0deg) } 65% { opacity:.58; transform:translate(-50%,-82%) scale(1.18) rotate(5deg) } 84% { opacity:.1; transform:translate(-50%,-118%) scale(.78) rotate(8deg) } }
      @keyframes dirt-build-level-1 { 0%,3%,36%,100% { opacity:0 } 4%,35% { opacity:var(--vehicle-presence,1) } }
      @keyframes dirt-build-level-2 { 0%,34%,69%,100% { opacity:0 } 35%,68% { opacity:var(--vehicle-presence,1) } }
      @keyframes dirt-build-level-3 { 0%,67% { opacity:0 } 68%,100% { opacity:var(--vehicle-presence,1) } }
      @keyframes dirt-build-status-1 { 0%,3%,36%,100% { opacity:0 } 4%,35% { opacity:1 } }
      @keyframes dirt-build-status-2 { 0%,34%,69%,100% { opacity:0 } 35%,68% { opacity:1 } }
      @keyframes dirt-build-status-3 { 0%,67% { opacity:0 } 68%,100% { opacity:1 } }
      @keyframes clean-demo-level-3 { 0%,27% { opacity:var(--vehicle-presence,1) } 28%,100% { opacity:0 } }
      @keyframes clean-demo-level-2 { 0%,27%,53%,100% { opacity:0 } 28%,52% { opacity:var(--vehicle-presence,1) } }
      @keyframes clean-demo-level-1 { 0%,52%,77%,100% { opacity:0 } 53%,76% { opacity:var(--vehicle-presence,1) } }
      @keyframes clean-demo-worker { 0% { opacity:0; transform:translateX(calc(var(--vehicle-swipe-x,0%) + 7%)) scale(.97) } 3%,73% { opacity:var(--vehicle-presence,1); transform:translateX(var(--vehicle-swipe-x,0%)) scale(1) } 77%,100% { opacity:0; transform:translateX(calc(var(--vehicle-swipe-x,0%) + 7%)) scale(.97) } }
      @keyframes clean-demo-polish-sweep { 0%,73% { opacity:0; transform:translateX(0) skewX(-17deg) } 77% { opacity:.92 } 94% { opacity:.96; transform:translateX(625%) skewX(-17deg) } 98%,100% { opacity:0; transform:translateX(625%) skewX(-17deg) } }
      @keyframes clean-demo-polish-glow { 0%,74% { opacity:0 } 86% { opacity:.68 } 100% { opacity:.16 } }
      @keyframes clean-demo-status-wash { 0%,74% { opacity:1 } 75%,100% { opacity:0 } }
      @keyframes clean-demo-status-polish { 0%,74% { opacity:0 } 75%,100% { opacity:1 } }
      @keyframes vehicle-art-emerge-from-lot { from { opacity:0; transform:translateX(110%) translateY(0) scale(1.48) } to { opacity:1; transform:translateX(var(--vehicle-swipe-x,0%)) translateY(0) scale(1.48) } }
      @keyframes energy-core-spin { to { transform:rotate(360deg); } }
      @keyframes energy-core-pulse { 50% { transform:scale(1.14); filter:hue-rotate(28deg); box-shadow:0 0 28px rgba(76,210,241,.85),0 0 56px rgba(102,39,189,.45) } }
      @keyframes circuit-packet { 0% { opacity:0; transform:translateX(-25px) } 20% { opacity:1 } 80% { opacity:1 } 100% { opacity:0; transform:translateX(120px) } }
      @keyframes energy-vehicle-hover { 50% { transform:translateY(-4px) scale(1.02); border-color:rgba(80,206,239,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 5px rgba(100,35,194,.06),0 17px 34px rgba(69,70,171,.2) } }
      @keyframes wash-progress-shine { from { transform:translateX(-120%) } to { transform:translateX(340%) } }

      .stats { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 13px 0; }
      .stat { padding: 10px 3px; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-align: center; }
      .stat b, .stat small, .stat i { display: block; }
      .stat i { height: 20px; color: var(--purple); font-style: normal; font-size: 17px; }
      .stat small { color: var(--ink-soft); font-size: 7px; }
      .stat b { margin-top: 2px; font-size: 9px; }

      .occupancy { position: relative; display: grid; min-height: 112px; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(46px,auto)); align-items: stretch; column-gap: 18px; row-gap: 0; margin: 0 0 13px; padding: 8px 14px; color: inherit; background: #fff; box-shadow: 0 10px 26px rgba(49,24,67,.08); text-decoration: none; -webkit-tap-highlight-color: transparent; }
      .occupancy::before { position: absolute; top: 50%; right: 14px; left: 14px; height: 1px; background: #eee8f2; content: ""; pointer-events: none; }
      .movement-card-loader { display: none; align-items: center; justify-content: center; gap: 10px; color: #5b1c91; font-size: 12px; font-weight: 850; letter-spacing: .02em; }
      .movement-card-loader i { width: 18px; height: 18px; border: 2px solid #ddd0e8; border-top-color: var(--purple); border-radius: 50%; animation: route-spin .72s linear infinite; }
      .occupancy.is-loading { grid-template-columns: 1fr; place-items: center; cursor: wait; }
      .occupancy.is-loading::before { display: none; }
      .occupancy.is-loading > :not(.movement-card-loader) { position: absolute; visibility: hidden; opacity: 0; pointer-events: none; }
      .occupancy.is-loading .movement-card-loader { display: flex; }
      .occupancy:not(.is-loading) .movement-card-loader { display: none; }
      .occupancy.lot-updated { animation: lot-live-update .55s ease; }
      @keyframes lot-live-update { 45% { box-shadow: 0 0 0 4px rgba(111,35,190,.2), 0 12px 28px rgba(51,13,78,.13); transform: scale(1.012); } }
      .occupancy > :is(.occupancy-main,.occupancy-wait,.occupancy-reminder,.occupancy-arrival) { min-width: 0; min-height: 46px; padding: 10px 4px; border: 0; border-radius: 0; background: transparent; text-align: left; }
      .occupancy span strong, .occupancy span small, .occupancy-reminder strong, .occupancy-reminder small { display: block; }
      .occupancy span small, .occupancy-reminder small { overflow: hidden; color: #95899c; font-size: 8px; font-weight: 850; letter-spacing: .055em; text-overflow: ellipsis; white-space: nowrap; }
      .occupancy-arrival strong, .occupancy-arrival small { display: block; }
      .occupancy-arrival small { color: #95899c; font-size: 8px; font-weight: 850; letter-spacing: .055em; white-space: nowrap; }
      .occupancy-live { display: inline-flex !important; align-items: center; margin-top: 5px; color: #b66a00; font-size: 13px; }
      .occupancy-live.quiet { color: #16874a; }
      .occupancy-live.normal { color: #286ac2; }
      .occupancy-live.moving, .occupancy-live.busy { color: #b66a00; }
      .occupancy-live.full { color: #c42d3a; }
      .occupancy-wait, .occupancy-reminder, .occupancy-arrival { min-width: 0; }
      .occupancy-arrival { display: block; width: 100%; }
      .occupancy-arrival-time { display: flex; width: 100%; max-width: 100%; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; padding: 0; border: 0; outline: 0; color: #4d185f; background: transparent; cursor: pointer; text-align: left; }
      .occupancy-arrival-time:active { transform: scale(.94); }
      .occupancy-arrival-time:focus-visible, .wait-reminder:focus-visible { outline: 2px solid var(--purple); outline-offset: -2px; }
      .occupancy-wait strong, .occupancy-arrival strong { margin-top: 5px; color: #38134e; font-size: 14px; }
      .wait-reminder { width: 100%; color: inherit; cursor: pointer; transition: opacity .2s ease,transform .2s ease; }
      .wait-reminder [data-reminder-value] { margin-top: 5px; color: #321044; font-size: 14px; line-height: 1.1; transition: color .2s ease; }
      .wait-reminder.armed [data-reminder-value] { color: #2578d5; }
      .wait-reminder.is-off [data-reminder-value] { color: #918b96; }
      .wait-reminder:disabled { opacity: .55; cursor: not-allowed; }
      .arrival-loading { display: inline-flex !important; width: 18px; height: 18px; align-items: center; justify-content: center; color: transparent !important; font-size: 0 !important; }
      .arrival-loading::before { width: 13px; height: 13px; border: 2px solid #ded4e8; border-top-color: var(--purple); border-radius: 50%; content: ""; animation: route-spin .75s linear infinite; }
      .arrival-ready { animation: route-pop 360ms cubic-bezier(.2,.85,.3,1.25); }
      @keyframes route-spin { to { transform: rotate(360deg); } }
      @keyframes route-pop { 0% { opacity: 0; transform: translateY(4px) scale(.85); } 100% { opacity: 1; transform: none; } }

      /* Movimento agora: painel horizontal inspirado na referência aprovada. */
      .occupancy:not(.is-loading) { min-height: 137px; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: 1fr; column-gap: 0; padding: 12px 8px; }
      .occupancy:not(.is-loading)::before { display: none; }
      .occupancy:not(.is-loading) > :is(.occupancy-main,.occupancy-wait,.occupancy-reminder,.occupancy-arrival) { display: flex; min-width: 0; min-height: 0; flex-direction: column; align-items: center; justify-content: center; padding: 2px 7px; text-align: center; }
      .occupancy:not(.is-loading) > :is(.occupancy-main,.occupancy-wait,.occupancy-arrival) { border-right: 1px solid #eee8f2; }
      .occupancy-icon { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; margin-bottom: 10px; border-radius: 50%; color: #7120bd; background: #f4edf9; box-shadow: 0 7px 16px rgba(96,27,157,.13); }
      .occupancy-icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
      .occupancy-main .occupancy-icon { color: #ef930b; background: #fff3cf; box-shadow: 0 7px 16px rgba(228,145,15,.16); }
      .occupancy:not(.is-loading) span small, .occupancy:not(.is-loading) .occupancy-arrival small, .occupancy:not(.is-loading) .occupancy-reminder small { display: flex; width: 100%; min-height: 17px; align-items: center; justify-content: center; overflow: visible; color: #96899d; font-size: 7px; line-height: 1.15; letter-spacing: .07em; text-align: center; text-overflow: clip; white-space: normal; }
      .occupancy:not(.is-loading) .occupancy-live { margin-top: 8px; color: #bb6b00; font-size: 12px; line-height: 1.05; text-align: center; }
      .occupancy:not(.is-loading) .occupancy-wait strong, .occupancy:not(.is-loading) .occupancy-arrival strong, .occupancy:not(.is-loading) .wait-reminder [data-reminder-value] { margin-top: 8px; color: #321044; font-size: 13px; line-height: 1.1; }
      .occupancy:not(.is-loading) .occupancy-arrival-time { width: auto; justify-content: center; margin-top: 0; text-align: center; }
      .occupancy:not(.is-loading) .wait-reminder:active:not(:disabled) { transform: scale(.95); }
      @media (max-height:650px) {
        [data-screen="inicio"] .occupancy:not(.is-loading) { min-height: 116px; padding: 8px 6px; }
        [data-screen="inicio"] .occupancy:not(.is-loading) > :is(.occupancy-main,.occupancy-wait,.occupancy-reminder,.occupancy-arrival) { min-height: 0; padding: 1px 5px; }
        [data-screen="inicio"] .occupancy-icon { width: 36px; height: 36px; flex-basis: 36px; margin-bottom: 7px; }
        [data-screen="inicio"] .occupancy-icon svg { width: 19px; height: 19px; }
        [data-screen="inicio"] .occupancy:not(.is-loading) .occupancy-live, [data-screen="inicio"] .occupancy:not(.is-loading) .occupancy-wait strong, [data-screen="inicio"] .occupancy:not(.is-loading) .occupancy-arrival strong { margin-top: 5px; font-size: 11px; }
      }

      .weather-card { margin: 0 0 6px; padding: 0; overflow: hidden; background: #fff; box-shadow: 0 10px 26px rgba(49,24,67,.08); }
      .weather-advice { display: grid; min-height: 62px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 12px 9px; }
      .weather-glyph svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
      .weather-advice-copy { min-width: 0; }
      .weather-advice-copy small, .weather-advice-copy strong, .weather-advice-copy em { display: block; }
      .weather-advice-copy small { color: #9a8ca1; font-size: 8px; font-weight: 900; letter-spacing: .09em; }
      .weather-advice-copy strong { overflow: hidden; margin-top: 3px; color: #331344; font-size: 13px; line-height: 1.12; text-overflow: ellipsis; white-space: nowrap; }
      .weather-advice-copy em { overflow: hidden; margin-top: 3px; color: #7d7183; font-size: 10px; font-style: normal; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
      .weather-source { align-self: start; padding-top: 2px; color: #9a8ca1; font-size: 7px; font-weight: 800; text-decoration: none; }
      .weather-days { display: grid; min-height: 68px; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid #eee8f2; }
      .weather-day { position: relative; display: grid; min-width: 0; place-items: center; align-content: center; gap: 3px; padding: 7px 2px 8px; color: #3a184c; text-align: center; }
      .weather-day + .weather-day { border-left: 1px solid #f1ecf4; }
      .weather-day > small { color: #8f8396; font-size: 10px; font-weight: 850; }
      .weather-glyph { display: grid; width: 27px; height: 27px; place-items: center; color: #7622bd; }
      .weather-day[data-wash-tone="good"] .weather-glyph { color: #20975a; }
      .weather-day[data-wash-tone="avoid"] .weather-glyph { color: #4d83bb; }
      .weather-temperature { font-size: 12px; line-height: 1; white-space: nowrap; }
      .weather-temperature b { font-size: 13px; }
      .weather-temperature span { color: #9a8fa0; font-size: 9px; }
      .weather-window { display: block; min-height: 13px; margin-top: 1px; color: #6f1db2; font-size: 8px; font-weight: 900; letter-spacing: .02em; line-height: 13px; }
      .weather-day-placeholder::before, .weather-day-placeholder::after { display: block; border-radius: 99px; background: #eee9f1; content: ""; }
      .weather-day-placeholder::before { width: 25px; height: 25px; }
      .weather-day-placeholder::after { width: 34px; height: 7px; margin-top: 8px; }
      .weather-card.is-error .weather-days { display: none; }
      .weather-card.is-error .weather-advice { min-height: 62px; }
      @media (max-height:650px) {
        [data-screen="inicio"] .weather-advice { min-height: 56px; padding-top: 7px; padding-bottom: 7px; }
        [data-screen="inicio"] .weather-days { min-height: 61px; }
        [data-screen="inicio"] .weather-day { padding-top: 5px; padding-bottom: 6px; }
        [data-screen="inicio"] .weather-glyph { width: 23px; height: 23px; }
      }

      .quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
      .quick { position: relative; min-height: 100px; padding: 16px; overflow: hidden; border-radius: 17px; color: #fff; text-decoration: none; }
      .quick-grid > .quick:first-of-type { background: linear-gradient(145deg,#087b8b,#0bb7ad); box-shadow: 0 12px 24px rgba(0,112,126,.24); }
      .quick-grid > .quick:last-of-type { background: linear-gradient(135deg,#d42a86,#ff6222); box-shadow: 0 12px 24px rgba(201,45,91,.2); }
      .quick strong, .quick small { display: block; max-width: 100px; }
      .quick strong { font-size: 11px; line-height: 1.2; }
      .quick small { margin-top: 7px; color: rgba(255,255,255,.78); font-size: 8px; }
      .quick i { position: absolute; right: 14px; bottom: 12px; font-style: normal; font-size: 27px; }

      .section-head { margin: 20px 0 10px; }
      .section-head h2 { margin: 0; font-size: 12px; }
      .section-head a { color: var(--purple); font-size: 9px; font-weight: 800; text-decoration: none; }
      .home-section-label { display: flex; min-height: 14px; grid-column: 1 / -1; align-items: center; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .06em; line-height: 1.2; }
      .home-live-heading { justify-content: space-between; gap: 12px; }
      .home-live-heading small { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.7); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
      .home-live-heading small::before { width: 6px; height: 6px; border-radius: 50%; background: #55e697; box-shadow: 0 0 0 4px rgba(85,230,151,.12); content: ""; }
      .home-fidelity-section { display: grid; min-height: 0; grid-template-rows: auto minmax(0,1fr); gap: 6px; }
      .loyalty { display: grid; grid-template-columns: 96px minmax(0,1fr); column-gap: 17px; row-gap: 12px; padding: 16px 14px 12px; }
      .loyalty-ring-column { position: relative; display: grid; align-items: center; justify-items: center; }
      .loyalty-ring-column::after { position: absolute; top: 5px; right: -9px; bottom: 5px; width: 1px; background: #eee8f3; content: ""; }
      .points-ring { --ring-progress: var(--loyalty-progress,0%); position: relative; display: grid; width: 88px; height: 88px; margin: auto; place-items: center; border-radius: 50%; background: conic-gradient(var(--purple) 0 var(--ring-progress), #eee8f3 var(--ring-progress)); }
      .screen.active .points-ring { animation: ring-grow 1100ms cubic-bezier(.2,.8,.25,1) both; }
      @keyframes ring-grow { from { --ring-progress: 0%; } to { --ring-progress: var(--loyalty-progress,0%); } }
      .points-ring::before { grid-area: 1/1; width: 72px; height: 72px; border-radius: 50%; background: #fff; content: ""; }
      .points-ring::after { position: absolute; top: 3px; left: 55%; width: 21px; height: 8px; border-radius: 99px; background: linear-gradient(90deg,#5c12b1,#9229d1); box-shadow: 0 2px 6px rgba(109,32,197,.22); content: ""; transform: rotate(17deg); transform-origin: center; }
      .points-ring span { z-index: 1; grid-area: 1/1; color: var(--ink-soft); font-size: 7px; text-align: center; }
      .points-ring b { display: block; color: var(--purple-dark); font-size: 22px; line-height: 1; }
      .tier { align-self: center; }
      .loyalty-tier-title { display: flex; align-items: center; gap: 8px; margin: 3px 0 9px; }
      .tier h3 { margin: 0; color: var(--purple); font-size: 24px; line-height: 1; }
      .tier small { color: var(--ink-soft); font-size: 11px; }
      .loyalty-medal { display: grid; width: 27px; height: 27px; place-items: center; color: #c47b2b; }
      .loyalty-medal svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
      .loyalty .progress { height: 9px; margin-bottom: 7px; }
      #homeLoyaltyGoal b { color: var(--purple); font-weight: 950; }
      .loyalty.loyalty-intro-running .points-ring, .loyalty.loyalty-intro-running .progress::before { animation: none !important; }
      .loyalty.loyalty-intro-peak .points-ring { animation: loyalty-peak-pulse 430ms cubic-bezier(.2,.8,.25,1) both !important; }
      .loyalty.loyalty-intro-peak .loyalty-medal { animation: loyalty-medal-pop 520ms cubic-bezier(.2,.9,.25,1.25) both; }
      @keyframes loyalty-peak-pulse { 50% { filter: drop-shadow(0 0 8px rgba(125,32,204,.4)); transform: scale(1.045); } }
      @keyframes loyalty-medal-pop { 45% { color: #e19738; transform: rotate(-10deg) scale(1.22); } }
      .loyalty-benefits { display: grid; min-height: 45px; grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; overflow: hidden; border: 1px solid #eee8f3; border-radius: 13px; background: #fff; }
      .loyalty-benefit { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 5px; align-items: center; padding: 5px 7px; }
      .loyalty-benefit + .loyalty-benefit::before { position: absolute; top: 9px; bottom: 9px; left: 0; width: 1px; background: #eee8f3; content: ""; }
      .loyalty-benefit svg { width: 22px; height: 22px; color: var(--purple); fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
      .loyalty-benefit small { color: #5f5865; font-size: 7px; font-weight: 750; line-height: 1.2; }
      .progress { height: 7px; overflow: hidden; border-radius: 99px; background: #eee9f2; }
      .progress::before { display: block; width: var(--loyalty-progress,62%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6719b7, #aa29d3); transform-origin: left center; content: ""; }
      .screen.active .progress::before { animation: progress-grow 1100ms cubic-bezier(.2,.8,.25,1) both; }
      @keyframes progress-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

      .vehicle-mini { justify-content: space-between; padding: 13px; }
      .vehicle-mini .plate { margin: 3px 0; border-width: 2px; font-size: 14px; }
      .vehicle-mini small { display: block; font-size: 8px; }
      .mini-car { width: 86px; height: 42px; border-radius: 55% 55% 18% 18%; background: linear-gradient(165deg, #eeeaf4, #747080 42%, #27232f 75%); }
      .link { color: var(--purple); font-size: 8px; font-weight: 800; text-decoration: none; }

      .option-list { display: grid; gap: 8px; }
      .option { position: relative; display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; padding: 12px; cursor: pointer; }
      .option input { position: absolute; opacity: 0; }
      .option-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: var(--purple-soft); color: var(--purple); }
      .option strong, .option small { display: block; }
      .option strong { font-size: 10px; }
      .option small { margin-top: 3px; color: var(--ink-soft); font-size: 7px; }
      .option-price { font-size: 9px; font-weight: 750; }
      .choice-dot { width: 18px; height: 18px; border: 2px solid #d8d0df; border-radius: 50%; }
      .option:has(input:checked) { border-color: #8c35d1; box-shadow: 0 0 0 2px #eee2f8; }
      .option:has(input:checked) .choice-dot { border: 5px solid var(--purple); }

      .date-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
      .date, .time { position: relative; display: grid; min-height: 51px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #4d4655; font-size: 8px; cursor: pointer; }
      .date input, .time input { position: absolute; opacity: 0; }
      .date b { display: block; font-size: 11px; }
      .date:has(input:checked), .time:has(input:checked) { border-color: var(--purple); background: var(--purple); color: #fff; box-shadow: 0 7px 16px rgba(108,31,194,.18); }
      .time-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
      .time { min-height: 38px; }

      .primary, .outline { display: flex; min-height: 46px; align-items: center; justify-content: center; margin-top: 17px; border-radius: 12px; font-size: 10px; font-weight: 850; text-decoration: none; }
      .primary { color: #fff; background: linear-gradient(90deg, #6819b9, #9422ce 60%, #ff5a25); box-shadow: 0 12px 25px rgba(102,24,180,.2); }
      .outline { border: 1px solid #7c2bc4; color: var(--purple); background: #fff; }

      .queue-position { padding: 22px; text-align: center; }
      .queue-position small { color: var(--ink-soft); font-size: 9px; }
      .queue-position strong { display: block; margin: 5px 0; color: var(--purple); font-size: 54px; line-height: 1; }
      .queue-position b { font-size: 9px; }
      .timeline { padding: 0 3px; }
      .step { position: relative; display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; min-height: 61px; align-items: start; }
      .step:not(:last-child)::after { position: absolute; top: 28px; bottom: -2px; left: 15px; width: 2px; background: #ddd5e5; content: ""; }
      .step-number { z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #e9e3ef; color: #4d4657; font-size: 10px; font-weight: 850; }
      .step.done .step-number { background: var(--green); color: #fff; }
      .step.current .step-number { background: var(--purple); color: #fff; }
      .step strong, .step small { display: block; }
      .step strong { margin-top: 2px; font-size: 10px; }
      .step small { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }
      .notice { display: flex; gap: 11px; align-items: center; margin-top: 10px; padding: 15px; border: 1px solid #e5d9f0; border-radius: 13px; background: #faf6fe; color: #52227a; font-size: 9px; }

      .tabs { display: flex; gap: 5px; padding: 4px; border-radius: 11px; background: #f1edf4; }
      .tab { display: grid; min-height: 38px; flex: 1; place-items: center; padding: 9px 4px; border-radius: 8px; color: #6f6876; font-size: 12px; font-weight: 750; text-align: center; text-decoration: none; }
      .tab.active { color: #fff; background: var(--purple); }
      .history-list { display: grid; gap: 8px; margin-top: 14px; }
      .history-row { gap: 10px; padding: 12px; text-decoration: none; }
      .history-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--purple-soft); color: var(--purple); }
      .history-copy { flex: 1; }
      .history-copy time, .history-copy strong, .history-copy small { display: block; }
      .history-copy time { color: var(--ink-soft); font-size: 7px; }
      .history-copy strong { margin: 3px 0; font-size: 9px; }
      .history-copy small { font-size: 8px; font-weight: 750; }
      .points { color: var(--purple); font-size: 8px; font-weight: 850; }

      .appointment-featured { position: relative; padding: 18px; overflow: hidden; border: 2px solid #8b35d1; box-shadow: 0 16px 38px rgba(41,12,72,.2); }
      .appointment-featured::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; background: linear-gradient(90deg,var(--purple),#bf2ac7,var(--orange)); content: ""; }
      .appointment-kicker { display: block; margin-bottom: 12px; color: var(--purple); font-size: 11px; font-weight: 950; letter-spacing: .1em; }
      .appointment-main { display: grid; grid-template-columns: 58px 1fr; gap: 10px 12px; align-items: center; }
      .appointment-date { display: grid; width: 58px; min-height: 58px; place-content: center; border-radius: 15px; color: #fff; background: var(--purple); text-align: center; }
      .appointment-date small, .appointment-date strong { display: block; }
      .appointment-date small { font-size: 8px; font-weight: 850; }
      .appointment-date strong { font-size: 22px; line-height: 1; }
      .appointment-info { min-width: 0; }
      .appointment-info strong, .appointment-info small { display: block; }
      .appointment-info strong { font-size: 12px; }
      .appointment-info small { margin-top: 4px; color: var(--ink-soft); font-size: 8px; }
      .appointment-status { align-self: start; padding: 6px 8px; border-radius: 99px; color: #207b3a; background: #e4f7e9; font-size: 11px; font-weight: 950; white-space: nowrap; }
      .appointment-status.requested { color: #8a5600; background: #fff0cf; }
      .appointment-status.cancelled, .appointment-status.completed { color: #6f6875; background: #e5e1e7; }
      .appointment-featured .appointment-status { grid-column: 2; justify-self: start; }
      .agenda-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 20px; }
      .agenda-choice-grid.single-action { grid-template-columns: 1fr; }
      .agenda-choice-grid.single-action .agenda-choice { min-height: 78px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 13px; padding: 14px 16px; }
      .agenda-choice-grid.single-action .agenda-choice-mark { display: grid; width: 38px; height: 38px; min-height: 38px; flex: 0 0 38px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #fff; background: #7020bf; font-size: 25px; font-weight: 500; }
      .agenda-choice-grid.single-action .agenda-choice-copy { padding-right: 30px; }
      .agenda-choice-grid.has-pickup .agenda-choice.pickup { grid-column: 1 / -1; min-height: 108px; }
      .agenda-choice { position: relative; display: flex; min-height: 126px; flex-direction: column; justify-content: space-between; gap: 15px; padding: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.34); border-radius: 20px; color: #fff; background: rgba(255,255,255,.14); box-shadow: 0 14px 28px rgba(31,7,58,.17); text-decoration: none; }
      button.agenda-choice { width: 100%; font-family: inherit; text-align: left; cursor: pointer; }
      .agenda-choice::after { position: absolute; right: -25px; bottom: -37px; width: 92px; height: 92px; border-radius: 50%; background: rgba(255,255,255,.1); content: ""; }
      .agenda-choice.selected { border-color: rgba(255,255,255,.76); background: linear-gradient(145deg,#fff,#f8f2fc); color: #4d176f; box-shadow: 0 17px 35px rgba(27,5,52,.24); }
      button.agenda-choice:disabled { cursor: not-allowed; opacity: .52; }
      .agenda-choice-mark { display: inline-flex; width: fit-content; min-height: 27px; align-items: center; padding: 6px 9px; border: 1px solid currentColor; border-radius: 99px; font-size: 11px; font-weight: 950; letter-spacing: .07em; opacity: .84; }
      .agenda-choice-copy { position: relative; z-index: 1; }
      .agenda-choice strong, .agenda-choice small { display: block; }
      .agenda-choice strong { font-size: 14px; line-height: 1.15; }
      .agenda-choice small { margin-top: 6px; color: inherit; font-size: 12px; line-height: 1.35; opacity: .76; }
      .agenda-choice-arrow { position: absolute; top: 14px; right: 14px; z-index: 1; font-size: 20px; font-weight: 400; }
      .agenda-choice[hidden] { display: none !important; }
      .appointment-form-shell { display: grid; }
      .appointment-loading, .appointment-empty { display: grid; min-height: 124px; place-content: center; justify-items: center; padding: 20px; color: #6c6173; text-align: center; }
      .appointment-loading[hidden], .appointment-empty[hidden], #appointmentForm[hidden] { display: none !important; }
      .appointment-loading i { width: 27px; height: 27px; margin-bottom: 12px; border: 3px solid #eadff2; border-top-color: var(--purple); border-radius: 50%; animation: auth-spin .75s linear infinite; }
      .appointment-loading strong, .appointment-loading small, .appointment-empty strong, .appointment-empty small { display: block; }
      .appointment-loading small, .appointment-empty small { max-width: 260px; margin-top: 5px; color: #83788a; line-height: 1.4; }
      .appointment-empty .primary { width: 100%; margin-top: 13px; }
      .appointment-field { display: grid; gap: 7px; }
      .appointment-field > span { color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .025em; }
      .appointment-select { width: 100%; min-height: 52px; padding: 0 43px 0 14px; border: 1px solid #ded4e5; border-radius: 14px; color: #2d2532; background: #fff; box-shadow: 0 8px 21px rgba(35,13,56,.08); font-size: 16px; outline: 0; }
      .appointment-select:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(109,32,197,.13); }
      .appointment-editing { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; padding: 12px 13px; border: 1px solid #e5d3f1; border-radius: 13px; color: #5c237f; background: #faf4fe; }
      .appointment-editing[hidden] { display: none !important; }
      .appointment-editing strong, .appointment-editing small { display: block; }
      .appointment-editing small { margin-top: 2px; color: #806b8e; }
      .appointment-editing button { flex: 0 0 auto; padding: 7px 9px; border-radius: 9px; color: #672299; background: #eadcf4; font-weight: 900; cursor: pointer; }
      .appointment-note { margin: 14px 0 0 !important; padding: 12px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; color: rgba(255,255,255,.84); background: rgba(255,255,255,.1); font-size: 12px !important; line-height: 1.45; }
      .pickup-panel { display: grid; gap: 14px; margin: 18px 0 4px; padding: 16px; border: 1px solid rgba(255,255,255,.34); border-radius: 20px; background: rgba(255,255,255,.12); box-shadow: 0 14px 30px rgba(34,10,58,.12); }
      .pickup-panel[hidden], .pickup-saved-address[hidden], .pickup-new-address[hidden], .pickup-quote[hidden] { display: none !important; }
      .pickup-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
      .pickup-panel-head span, .pickup-panel-head strong, .pickup-panel-head small { display: block; }
      .pickup-panel-head > span { flex: 1; }
      .pickup-panel-head strong { color: #fff; font-size: 15px; line-height: 1.25; }
      .pickup-panel-head small { margin-top: 5px; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.4; }
      .pickup-panel-head > b { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #632090; background: #fff; font-size: 18px; }
      .pickup-address-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 4px; border-radius: 14px; background: rgba(36,9,57,.18); }
      .pickup-address-switch button { min-height: 44px; padding: 9px; border-radius: 11px; color: rgba(255,255,255,.78); background: transparent; font-size: 12px; font-weight: 900; cursor: pointer; }
      .pickup-address-switch button.active { color: #522076; background: #fff; box-shadow: 0 5px 15px rgba(30,8,48,.16); }
      .pickup-address-fields, .pickup-saved-address, .pickup-new-address { display: grid; gap: 12px; }
      .pickup-saved-label { color:rgba(255,255,255,.66); font-size:9px; font-weight:950; letter-spacing:.13em; }
      .pickup-address-current { display:grid; width:100%; min-height:72px; grid-template-columns:38px minmax(0,1fr) 22px; gap:11px; align-items:center; padding:10px 12px; border:1px solid rgba(255,255,255,.38); border-radius:16px; color:#34223f; background:linear-gradient(145deg,#fff,#faf6fc); box-shadow:0 10px 24px rgba(31,8,49,.14); text-align:left; cursor:pointer; }
      .pickup-address-current > b { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,#7220b3,#9a2bc8); font-size:17px; }
      .pickup-address-current span { min-width:0; }
      .pickup-address-current strong,.pickup-address-current small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
      .pickup-address-current strong { color:#3b204b; font-size:13px; font-weight:950; }
      .pickup-address-current small { margin-top:4px; color:#7b6d82; font-size:10px; font-weight:650; }
      .pickup-address-current > i { color:#7622ad; font-size:17px; font-style:normal; font-weight:950; transition:transform .16s ease; }
      .pickup-address-current[aria-expanded="true"] > i { transform:rotate(180deg); }
      .pickup-address-list { display:grid; gap:7px; padding:7px; border:1px solid rgba(255,255,255,.28); border-radius:17px; background:rgba(34,9,52,.2); box-shadow:inset 0 1px rgba(255,255,255,.08); }
      .pickup-address-list[hidden] { display:none !important; }
      .pickup-address-option { display:grid; width:100%; min-height:58px; grid-template-columns:minmax(0,1fr) 24px; gap:9px; align-items:center; padding:9px 10px 9px 12px; border:1px solid transparent; border-radius:12px; color:#fff; background:rgba(255,255,255,.09); text-align:left; cursor:pointer; }
      .pickup-address-option strong,.pickup-address-option small { display:block; }
      .pickup-address-option strong { font-size:12px; font-weight:950; }
      .pickup-address-option small { margin-top:3px; color:rgba(255,255,255,.68); font-size:9px; line-height:1.3; }
      .pickup-address-option i { display:grid; width:22px; height:22px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:transparent; font-size:10px; font-style:normal; font-weight:950; }
      .pickup-address-option.selected { border-color:rgba(255,255,255,.7); background:#fff; color:#54206f; }
      .pickup-address-option.selected small { color:#806d89; }
      .pickup-address-option.selected i { border-color:#7821ae; color:#fff; background:#7821ae; }
      .pickup-saved-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:-2px; }
      .pickup-saved-actions button { min-height:39px; border:1px solid rgba(255,255,255,.28); border-radius:11px; color:#fff; background:rgba(255,255,255,.1); font-size:9px; font-weight:950; letter-spacing:.05em; cursor:pointer; }
      .pickup-saved-actions button.danger { color:#ffe5e9; }
      .pickup-saved-actions button.confirming { border-color:#ffd1d8; color:#8f1f36; background:#fff1f3; }
      .pickup-saved-actions button:disabled { cursor:wait; opacity:.55; }
      .pickup-save-address { min-height: 48px; border-radius: 13px; color: #5c237f; background: #fff; font-size: 12px; font-weight: 950; cursor: pointer; }
      .pickup-save-address:disabled { cursor: wait; opacity: .62; }
      .pickup-address-form-actions { display:grid; grid-template-columns:auto 1fr; gap:8px; }
      .pickup-address-form-actions > :only-child { grid-column:1/-1; }
      .pickup-cancel-address-edit { min-height:48px; padding:0 13px; border:1px solid rgba(255,255,255,.28); border-radius:13px; color:#fff; background:rgba(255,255,255,.1); font-size:10px; font-weight:950; cursor:pointer; }
      .pickup-cancel-address-edit[hidden] { display:none; }
      .pickup-field { display: grid; gap: 7px; color: #fff; font-size: 12px; font-weight: 900; }
      .pickup-field input, .pickup-field select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid #ded4e5; border-radius: 14px; color: #2d2532; background: #fff; box-shadow: 0 8px 21px rgba(35,13,56,.08); font: 600 16px/1.25 inherit; outline: 0; }
      .pickup-field input:focus, .pickup-field select:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(255,255,255,.24); }
      .pickup-field input[readonly] { color: #514a56; background: #f4f1f5; }
      .pickup-field small, .pickup-address-helper { color: rgba(255,255,255,.76); font-size: 12px; font-weight: 600; line-height: 1.4; }
      .pickup-cep-wrap { position: relative; }
      .pickup-cep-wrap input { padding-right: 46px; }
      .pickup-cep-loader { position: absolute; top: 50%; right: 15px; width: 18px; height: 18px; margin-top: -9px; border: 2px solid #e2d8e8; border-top-color: var(--purple); border-radius: 50%; animation: auth-spin .75s linear infinite; }
      .pickup-cep-loader[hidden] { display: none; }
      .pickup-inline-feedback { min-height: 0; margin: 0; padding: 10px 12px; border-radius: 11px; color: #5a276f; background: #f7effb; font-size: 12px; font-weight: 750; line-height: 1.4; }
      .pickup-inline-feedback[hidden] { display: none; }
      .pickup-inline-feedback.error { color: #9a263d; background: #fff0f2; }
      .pickup-quote { display: grid; gap: 10px; padding: 14px; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(31,8,51,.14); }
      .pickup-quote.is-loading { min-height: 104px; place-content: center; justify-items: center; color: #6b5f72; text-align: center; }
      .pickup-quote.is-loading > :not(.pickup-quote-loader) { display: none; }
      .pickup-quote-loader { width: 24px; height: 24px; border: 3px solid #e9dff0; border-top-color: var(--purple); border-radius: 50%; animation: auth-spin .75s linear infinite; }
      .pickup-quote-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #5c237f; font-size: 12px; font-weight: 950; letter-spacing: .06em; }
      .pickup-price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: #706676; font-size: 13px; }
      .pickup-price-row strong { color: #2f2834; font-size: 14px; }
      .pickup-price-row.total { margin-top: 2px; padding-top: 11px; border-top: 1px solid #e7dfe9; color: #41155f; font-weight: 950; }
      .pickup-price-row.total strong { color: var(--purple); font-size: 19px; }
      .pickup-price-row.loyalty { align-items:center; padding-top:8px; border-top:1px solid #eee7f0; color:#4d3659; font-size:11px; font-weight:850; }
      .pickup-price-row.loyalty > strong { display:flex; }
      .pickup-route-summary { display: grid; gap: 4px; padding: 10px 11px; border-radius: 11px; color: #5d5264; background: #f4f0f6; font-size: 12px; line-height: 1.35; }
      .pickup-route-summary strong { color: #3d3144; }
      .pickup-server-note { color: #7c7182; font-size: 12px; line-height: 1.4; }
      .appointment-feedback { min-height: 0; margin: 11px 0 0 !important; padding: 11px 12px; border-radius: 12px; color: #4d176f; background: #f6ecfb; font-size: 12px !important; font-weight: 800; line-height: 1.4; text-align: center; }
      .appointment-feedback[hidden] { display: none; }
      .appointment-feedback.error { color: #a32139; background: #fff0f2; }
      .appointment-feedback.success { color: #167443; background: #e7f7ed; }
      #appointmentSubmit:disabled { cursor: wait; opacity: .66; }
      .date-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
      .date { min-height: 65px; padding: 7px 3px; line-height: 1.1; text-align: center; }
      .date span, .date small, .date b { display: block; }
      .date small { margin-top: 2px; color: inherit; font-size: 8px; opacity: .72; }
      .date b { margin: 2px 0; font-size: 18px; }
      .date input:disabled + span, .time input:disabled + span { opacity: .42; }
      .date:has(input:disabled), .time:has(input:disabled) { cursor: not-allowed; background: rgba(255,255,255,.7); }
      .time span { font-weight: 850; }
      .appointment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 15px; }
      .appointment-actions :is(a,button) { display: grid; min-height: 42px; place-items: center; padding: 7px; border-radius: 10px; font-size: 12px; font-weight: 900; text-decoration: none; cursor: pointer; }
      .appointment-actions :only-child { grid-column: 1 / -1; }
      .appointment-actions .change { color: #fff; background: var(--purple); }
      .appointment-actions .cancel { color: #8d2840; background: #fce9ed; }
      .appointment-actions .pay { grid-column: 1 / -1; color: #fff; background: linear-gradient(100deg,var(--purple),#a724c3,#ff5a32); }
      .appointment-actions .cancel.confirming { color: #fff; background: #b42f49; }
      .appointment-actions button:disabled { cursor: wait; opacity: .64; }
      .appointment-mode { display: block; margin-top: 5px; color: #6e5b79; font-size: 12px; font-weight: 850; }
      .appointment-pickup-detail { display: grid; gap: 3px; margin-top: 9px; padding: 9px 10px; overflow-wrap: anywhere; border-radius: 11px; color: #67576f; background: #f5eff8; font-size: 12px; line-height: 1.35; }
      .appointment-pickup-detail strong { color: #4f216c; font-size: 12px; }
      .appointment-pickup-detail small { color: #74687a; font-size: 12px; }
      .appointment-pickup-detail b { margin-top: 3px; color: #3e164f; font-size: 12px; }
      .appointment-hub-label { margin: 3px 0 10px; color: rgba(255,255,255,.78); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
      .past-appointments { display: grid; gap: 9px; margin-top: 10px; }
      .appointment-past { display: grid; grid-template-columns: 48px 1fr auto; gap: 11px; align-items: center; padding: 12px; border-color: rgba(62,52,69,.08); background: #efedf0; box-shadow: none; }
      .appointment-past .appointment-date { width: 48px; min-height: 48px; border-radius: 12px; color: #6f6875; background: #dfdce1; }
      .appointment-past .appointment-date strong { font-size: 17px; }
      .appointment-past .appointment-info strong { color: #625c66; font-size: 10px; }
      .appointment-past .appointment-info small { color: #8b858e; }
      .appointment-past .appointment-pickup-detail strong,
      .appointment-past .appointment-pickup-detail small,
      .appointment-past .appointment-pickup-detail b { font-size: 12px; }
      .appointment-past .appointment-status { color: #77717b; background: #e2dfe4; }
      .appointment-past .appointment-actions { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
      .appointment-past.cancelled { opacity: .7; }
      .appointment-past.cancelled .appointment-info strong { text-decoration: line-through; }

      /* Reversible vehicle workspace experiment. Set VEHICLE_WORKSPACE_EXPERIMENT=false in app.js to restore the legacy Agenda screen. */
      .vehicle-workspace-agenda-panel, .vehicle-workspace-plans-panel, .vehicle-workspace-history-panel { display: none; }
      body.vehicle-workspace-enabled .vehicle-workspace,
      body.vehicle-workspace-enabled .vehicle-workspace-track,
      body.vehicle-workspace-enabled .vehicle-workspace-panel { width: 100%; min-width: 0; }
      body.vehicle-workspace-enabled .vehicle-workspace { overflow: visible; }
      body.vehicle-workspace-enabled .vehicle-workspace-home-panel { display: block; }
      body.vehicle-workspace-enabled .vehicle-workspace-agenda-panel,
      body.vehicle-workspace-enabled .vehicle-workspace-plans-panel,
      body.vehicle-workspace-enabled .vehicle-workspace-history-panel { display: none; padding: 5px 0 20px; }
      body.vehicle-workspace-enabled:is(.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) .vehicle-workspace-home-panel { display: none; }
      body.vehicle-workspace-enabled.vehicle-workspace-agenda .vehicle-workspace-agenda-panel { display: block; animation: workspace-panel-in 220ms cubic-bezier(.16,1,.3,1) both; }
      body.vehicle-workspace-enabled.vehicle-workspace-plans .vehicle-workspace-plans-panel { display: block; animation: workspace-panel-in 220ms cubic-bezier(.16,1,.3,1) both; }
      body.vehicle-workspace-enabled.vehicle-workspace-history .vehicle-workspace-history-panel { display: block; animation: workspace-panel-in 220ms cubic-bezier(.16,1,.3,1) both; }
      body.vehicle-workspace-enabled:not(.vehicle-workspace-agenda):not(.vehicle-workspace-plans):not(.vehicle-workspace-history) .vehicle-workspace-home-panel { animation: workspace-panel-back 220ms cubic-bezier(.16,1,.3,1) both; }
      @keyframes workspace-panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
      @keyframes workspace-panel-back { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
      @media (prefers-reduced-motion: reduce) {
        .route-load-indicator.visible i { animation: none; transform: none; }
        body.vehicle-workspace-enabled.vehicle-workspace-agenda .vehicle-workspace-agenda-panel,
        body.vehicle-workspace-enabled.vehicle-workspace-plans .vehicle-workspace-plans-panel,
        body.vehicle-workspace-enabled.vehicle-workspace-history .vehicle-workspace-history-panel,
        body.vehicle-workspace-enabled:not(.vehicle-workspace-agenda):not(.vehicle-workspace-plans):not(.vehicle-workspace-history) .vehicle-workspace-home-panel { animation: none; }
      }
      .workspace-agenda-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 12px; color: #fff; }
      .workspace-agenda-head span, .workspace-agenda-head small, .workspace-agenda-head strong { display: block; }
      .workspace-agenda-head small { color: rgba(255,255,255,.66); font-size: 10px !important; font-weight: 900; letter-spacing: .11em; }
      .workspace-agenda-head strong { margin-top: 3px; font-size: 16px; line-height: 1.15; }
      .workspace-agenda-head > b { padding: 5px 8px; border: 1px solid rgba(255,255,255,.34); border-radius: 8px; color: #fff; background: rgba(255,255,255,.1); font-size: 11px; letter-spacing: .08em; }
      .workspace-agenda-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 13px; }
      .workspace-agenda-actions[hidden] { display: none !important; }
      [data-appointment-open-mode="pickup_return"] { display: none !important; }
      .workspace-agenda-action { display: grid; min-height: 54px; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.62); border-radius: 14px; color: #4f176f; background: #fff; text-decoration: none; box-shadow: 0 8px 18px rgba(31,7,58,.12); }
      .workspace-agenda-action strong, .workspace-agenda-action small { display: block; }
      .workspace-agenda-action strong { font-size: 13px; line-height: 1.1; }
      .workspace-agenda-action small { margin-top: 2px; color: #806c8b; font-size: 10px !important; }
      .workspace-agenda-action b { font-size: 18px; font-weight: 500; }
      .workspace-agenda-plus { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: #7020bf; font-size: 24px; font-weight: 400; font-style: normal; line-height: 1; }
      .workspace-agenda-action.pickup { color: #4f176f; background: #fff; }
      .workspace-agenda-action.pickup small { color: #7e6e88; }
      .workspace-agenda-list { display: grid; gap: 7px; }
      .workspace-appointment { display: grid; grid-template-columns: 47px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 66px; padding: 9px 10px; border: 1px solid rgba(42,25,52,.08); border-radius: 14px; color: #312838; background: rgba(255,255,255,.96); box-shadow: 0 8px 18px rgba(28,8,45,.1); }
      .workspace-appointment time { display: grid; min-height: 45px; place-content: center; border-radius: 11px; color: #fff; background: #6c1db9; text-align: center; }
      .workspace-appointment time strong, .workspace-appointment time small { display: block; }
      .workspace-appointment time strong { font-size: 12px; line-height: 1; }
      .workspace-appointment time small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: 10px !important; }
      .workspace-appointment-copy { min-width: 0; }
      .workspace-appointment-copy strong, .workspace-appointment-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .workspace-appointment-copy strong { font-size: 12px; }
      .workspace-appointment-copy small { margin-top: 3px; color: #786c7e; font-size: 10px !important; }
      .workspace-appointment-status { padding: 5px 7px; border-radius: 99px; color: #207b3a; background: #e4f7e9; font-size: 9px; font-weight: 950; white-space: nowrap; }
      .workspace-appointment-status.requested { color: #8a5600; background: #fff0cf; }
      .workspace-appointment-status.cancelled, .workspace-appointment-status.completed { color: #6f6875; background: #e5e1e7; }
      .workspace-agenda-empty { min-height: 82px; padding: 17px; border: 1px dashed rgba(255,255,255,.32); border-radius: 14px; color: rgba(255,255,255,.74); text-align: center; }
      .workspace-agenda-empty strong, .workspace-agenda-empty small { display: block; }
      .workspace-agenda-empty strong { color: #fff; font-size: 13px; }
      .workspace-agenda-empty small { margin-top: 4px; font-size: 11px !important; }
      .workspace-plans-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: #fff; }
      .workspace-plans-head span, .workspace-plans-head small, .workspace-plans-head strong { display: block; }
      .workspace-plans-head small { color: rgba(255,255,255,.66); font-size: 10px !important; font-weight: 900; letter-spacing: .11em; }
      .workspace-plans-head strong { margin-top: 2px; font-size: 16px; }
      .workspace-plan-manage { padding: 7px 10px; border: 1px solid rgba(255,255,255,.32); border-radius: 10px; color: #fff; background: rgba(255,255,255,.1); font-size: 10px; font-weight: 850; text-decoration: none; }
      .workspace-current-plan { padding: 13px 14px; border-radius: 16px; color: #2f2436; background: #fff; box-shadow: 0 9px 24px rgba(28,8,45,.14); }
      .workspace-current-plan-main { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
      .workspace-current-plan-main strong { font-size: 14px; }
      .workspace-current-plan-main b { color: var(--purple); font-size: 17px; }
      .workspace-current-plan p { margin: 7px 0 0; color: #756a7b; font-size: 10px !important; }
      .workspace-current-plan.empty { background: rgba(255,255,255,.92); }
      .workspace-plan-segments { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; margin-top: 9px; }
      .workspace-plan-segments i { height: 5px; border-radius: 99px; background: #e8e2eb; }
      .workspace-plan-segments i.available { background: linear-gradient(90deg,#6f1bc1,#a334cd); }
      .workspace-plan-charges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee8f1; }
      .workspace-plan-charges[hidden] { display: none; }
      .workspace-plan-charges span, .workspace-plan-charges small, .workspace-plan-charges strong { display: block; min-width: 0; }
      .workspace-plan-charges small { color: #95899c; font-size: 8px !important; font-weight: 850; letter-spacing: .055em; }
      .workspace-plan-charges strong { overflow: hidden; margin-top: 4px; color: #3b174f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
      .workspace-plan-promotions-title { margin: 14px 0 8px; color: rgba(255,255,255,.68); font-size: 10px; font-weight: 900; letter-spacing: .11em; }
      .workspace-plan-promotions { display: grid; gap: 12px; }
      .workspace-plan-promo { position: relative; display: grid; min-height: 128px; grid-template-columns: 52px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 17px 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 20px; color: #312838; background: linear-gradient(145deg,#fff 52%,#fff1e9); box-shadow: 0 14px 28px rgba(28,8,45,.16); }
      .workspace-plan-promo[role="button"],.promo-package[role="button"] { cursor:pointer; }
      .workspace-plan-promo:focus-visible,.promo-package:focus-visible { outline:3px solid rgba(255,255,255,.92); outline-offset:3px; }
      .workspace-plan-promo::after { position: absolute; right: -40px; bottom: -54px; width: 120px; height: 120px; border: 1px solid rgba(109,32,197,.12); border-radius: 50%; background: radial-gradient(circle,rgba(109,32,197,.09),transparent 68%); content: ""; pointer-events: none; }
      .workspace-plan-promo-mark { z-index: 1; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--purple),#a92ab3); box-shadow: 0 9px 20px rgba(109,32,197,.24); font-size: 18px; font-weight: 950; }
      .workspace-plan-promo.uber { border-color: #222; color: #fff; background: linear-gradient(145deg,#050505,#171717); box-shadow: 0 16px 30px rgba(0,0,0,.3); }
      .workspace-plan-promo.uber::after { border-color: rgba(255,255,255,.12); background: radial-gradient(circle,rgba(255,255,255,.08),transparent 68%); }
      .workspace-plan-promo.uber .workspace-plan-promo-mark { color: #050505; background: #fff; box-shadow: 0 9px 22px rgba(0,0,0,.32); font-size: 13px; letter-spacing: -.06em; }
      .workspace-plan-promo-copy small, .workspace-plan-promo-copy strong, .workspace-plan-promo-copy em { display: block; }
      .workspace-plan-promo-copy { z-index: 1; align-self: center; }
      .workspace-plan-promo-copy small { color: #8c7e93; font-size: 9px !important; font-weight: 900; letter-spacing: .07em; }
      .workspace-plan-promo-copy strong { margin-top: 4px; font-size: 15px; line-height: 1.2; }
      .workspace-plan-promo-copy em { margin-top: 7px; color: #7a6e81; font-size: 11px; line-height: 1.35; font-style: normal; }
      .workspace-plan-promo-price { z-index: 1; display: grid; justify-items: end; gap: 10px; }
      .workspace-plan-promo-price > strong { color: var(--purple); font-size: 16px; white-space: nowrap; }
      .workspace-plan-promo-arrow { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); box-shadow: 0 8px 16px rgba(109,32,197,.25); font-size: 23px; line-height: 1; }
      .workspace-plan-promo.uber .workspace-plan-promo-copy small, .workspace-plan-promo.uber .workspace-plan-promo-copy em { color: #aaa; }
      .workspace-plan-promo.uber .workspace-plan-promo-copy strong, .workspace-plan-promo.uber .workspace-plan-promo-price > strong { color: #fff; }
      .workspace-plan-promo.uber .workspace-plan-promo-arrow { color: #050505; background: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.35); }
      .promotion-loyalty { display:inline-flex; align-items:center; gap:4px; margin-top:7px; color:#7621b8; font-size:10px; font-style:normal; font-weight:900; }
      .promotion-loyalty i { color:#f0a321; font-size:12px; font-style:normal; }
      .promotion-loyalty small { color:#88768f; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
      .workspace-plan-promo.uber .promotion-loyalty,.promo-package.uber .promotion-loyalty { color:#fff; }
      .workspace-plan-promo.uber .promotion-loyalty small,.promo-package.uber .promotion-loyalty small { color:#aaa; }
      .workspace-history-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 12px; color: #fff; }
      .workspace-history-head span, .workspace-history-head small, .workspace-history-head strong { display: block; }
      .workspace-history-head small { color: rgba(255,255,255,.66); font-size: 10px !important; font-weight: 900; letter-spacing: .11em; }
      .workspace-history-head strong { margin-top: 3px; font-size: 16px; line-height: 1.15; }
      .workspace-history-head > b { padding: 5px 8px; border: 1px solid rgba(255,255,255,.34); border-radius: 8px; color: #fff; background: rgba(255,255,255,.1); font-size: 11px; letter-spacing: .08em; }
      .workspace-history-list { display: grid; gap: 7px; }
      .workspace-history-row { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 66px; padding: 9px 10px; border-radius: 14px; color: #312838; background: rgba(255,255,255,.96); box-shadow: 0 8px 18px rgba(28,8,45,.1); }
      .workspace-history-row > i { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; color: var(--purple); background: #f0e7f8; font-size: 19px; font-style: normal; }
      .workspace-history-row span :is(small,strong,em) { display: block; }
      .workspace-history-row span small { color: #887d8e; font-size: 9px !important; }
      .workspace-history-row span strong { margin-top: 1px; font-size: 11px; }
      .workspace-history-row span em { margin-top: 2px; color: #746a79; font-size: 9px; font-style: normal; }
      .workspace-history-row > b { color: var(--purple); font-size: 10px; white-space: nowrap; }

      /* A Frota reutiliza o cabeçalho normal da Home e ocupa o lugar do carrossel. */
      .vehicle-fleet-inline { display: none; min-width: 0; }
      body.vehicle-workspace-fleet [data-screen="inicio"].active {
        display: block;
        grid-template-rows: none;
        gap: 0;
      }
      body.vehicle-workspace-fleet [data-screen="inicio"] > .home-sticky-header {
        grid-template-rows: var(--home-topbar-height) auto;
        row-gap: 26px;
      }
      body.vehicle-workspace-fleet [data-screen="inicio"] .vehicle-area,
      body.vehicle-workspace-fleet [data-screen="inicio"] > .vehicle-workspace { display: none; }
      body.vehicle-workspace-fleet [data-screen="inicio"] .vehicle-fleet-inline { display: block; }
      .vehicle-fleet-inline-head { display: flex; min-height: 30px; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 9px; color: #fff; }
      .vehicle-fleet-inline-head strong { display: block; font-size: 22px; font-weight: 950; line-height: 1; letter-spacing: -.025em; }
      .vehicle-fleet-inline-head b { padding: 6px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; color: #fff; background: rgba(255,255,255,.1); font-size: 9px; font-weight: 900; line-height: 1; letter-spacing: .05em; white-space: nowrap; }
      .vehicle-fleet-inline .vehicle-manager-intro { margin-bottom: 12px; }
      .vehicle-fleet-inline .vehicle-manager-list { padding-bottom: 82px; }
      [data-screen="agendar"] .agenda-choice-grid { gap: 7px; margin-bottom: 13px; }
      [data-screen="agendar"] .agenda-choice { min-height: 76px; gap: 5px; padding: 11px 12px; border-radius: 15px; }
      [data-screen="agendar"] .agenda-choice-mark { min-height: 20px; padding: 3px 7px; font-size: 9px; }
      [data-screen="agendar"] .agenda-choice strong { padding-right: 16px; font-size: 12px; }
      [data-screen="agendar"] .agenda-choice small { display: none; }
      [data-screen="agendar"] .agenda-choice-arrow { top: 10px; right: 11px; font-size: 16px; }
      [data-screen="agendar"] .appointment-select { min-height: 46px; }
      [data-screen="agendar"] .date { min-height: 57px; padding: 5px 2px; }
      [data-screen="agendar"] .date b { font-size: 16px; }
      [data-screen="agendar"] .time-grid { gap: 7px; }
      [data-screen="agendar"] .time { min-height: 42px; padding: 7px 4px; }
      .history-vehicle { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding: 13px; }
      .history-vehicle .plate { flex: 0 0 auto; margin: 0; }
      .history-vehicle strong, .history-vehicle small { display: block; }
      .history-vehicle strong { font-size: 11px; }
      .history-vehicle small { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }

      .vehicle-manager-intro { margin: 0 0 15px; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.45; }
      .vehicle-manager-order-help { display: flex; min-height: 24px; align-items: center; gap: 7px; margin: -5px 0 12px; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 750; line-height: 1.25; }
      .vehicle-manager-order-help i { display: grid; width: 24px; height: 20px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 7px; color: #fff; background: rgba(255,255,255,.1); font-size: 11px; font-style: normal; letter-spacing: -2px; }
      .vehicle-manager-order-help.saving { color: #fff; }
      .vehicle-manager-order-help.saved { color: #86f2b3; }
      .vehicle-manager-order-help.error { color: #ffd0d0; }
      .vehicle-manager-list { display: grid; gap: 10px; padding: 2px 0 82px; }
      .managed-vehicle { position: relative; display: block; width: 100%; min-height: 178px; padding: 15px 14px 58px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--fleet-paint,#747c87) 38%,#fff); border-radius: 18px; color: #27202c; background: linear-gradient(135deg,color-mix(in srgb,var(--fleet-paint,#747c87) 18%,#fff) 0%,color-mix(in srgb,var(--fleet-paint,#747c87) 12%,#fff) 38%,color-mix(in srgb,var(--fleet-paint,#747c87) 48%,#fff) 100%); box-shadow: 0 9px 24px rgba(31,13,45,.13); text-align: left; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease; touch-action: manipulation; }
      .managed-vehicle::before { position: absolute; top: -48px; right: -42px; z-index: 1; width: 260px; height: 210px; border-radius: 50%; background: radial-gradient(circle,color-mix(in srgb,var(--fleet-paint,#747c87) 52%,transparent) 0%,color-mix(in srgb,var(--fleet-paint,#747c87) 24%,transparent) 48%,transparent 72%); content: ""; pointer-events: none; }
      .managed-vehicle:active { transform: scale(.985); box-shadow: 0 5px 14px rgba(31,13,45,.12); }
      .fleet-order-controls { position: absolute; top: 9px; right: 9px; z-index: 7; display: flex; gap: 5px; }
      .fleet-order-button { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 1px solid rgba(109,32,197,.16); border-radius: 10px; color: #7623c5; background: rgba(255,255,255,.92); box-shadow: 0 3px 10px rgba(45,26,56,.1); font-size: 17px; font-weight: 950; line-height: 1; cursor: pointer; touch-action: manipulation; }
      .fleet-order-button:active:not(:disabled) { color: #fff; background: #7623c5; transform: scale(.94); }
      .fleet-order-button:disabled { color: #bbb2bf; border-color: rgba(100,90,110,.1); background: rgba(255,255,255,.66); box-shadow: none; cursor: default; opacity: .62; }
      .vehicle-manager-list[aria-busy="true"] .fleet-order-button { pointer-events: none; }
      .wallet-card-top { position: relative; z-index: 4; display: flex; min-height: 18px; align-items: center; gap: 7px; padding-right: 46%; }
      .wallet-card-top small { color: #817687; font-size: 8px !important; font-weight: 900; letter-spacing: .12em; }
      .wallet-primary { padding: 3px 6px; border-radius: 99px; color: #6d20c5; background: #eee4f7; font-size: 7px; font-weight: 950; white-space: nowrap; }
      .wallet-card-name { position: relative; z-index: 4; display: block; max-width: 51%; margin-top: 3px; overflow: hidden; color: #27202c; font-size: 15px; font-weight: 950; line-height: 1.16; text-overflow: ellipsis; white-space: nowrap; }
      .managed-vehicle .plate { position: relative; z-index: 4; min-width: 103px; width: fit-content; margin: 9px 0 0; border-width: 1px; box-shadow: 0 4px 11px rgba(25,22,29,.12); font-size: 14px; }
      .fleet-chevron { position: absolute; top: 50px; right: 9px; z-index: 5; display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #7623c5; background: rgba(255,255,255,.88); box-shadow: 0 3px 9px rgba(45,26,56,.12); font-size: 21px; font-weight: 600; line-height: 1; }
      .fleet-vehicle-visual { position: absolute; top: 2px; right: 15px; z-index: 2; display: grid; width: 49%; height: 119px; place-items: end center; pointer-events: none; }
      .fleet-vehicle-photo { position: absolute; right: -4%; bottom: -2px; width: 114%; height: 112px; object-fit: contain; object-position: right bottom; filter: drop-shadow(0 8px 7px rgba(34,25,40,.2)); opacity: 0; transition: opacity .2s ease; }
      .fleet-vehicle-visual.is-photo-ready .fleet-vehicle-photo { opacity: 1; }
      .fleet-vehicle-visual.is-photo-ready .fleet-vehicle-fallback, .fleet-vehicle-visual.is-photo-error .fleet-vehicle-photo { display: none; }
      .fleet-vehicle-visual.type-moto .fleet-vehicle-photo { right: -1%; width: 108%; height: 116px; }
      .fleet-vehicle-fallback { transform: scale(.9); transform-origin: center bottom; }
      .fleet-vehicle-placeholder.vehicle-image-processing { inset: 0; z-index: 3; overflow: hidden; contain: layout paint; transform: none; }
      .fleet-vehicle-placeholder .vehicle-processing-mascot { right: -8px; bottom: 0; transform: translateZ(0) scale(.68); transform-origin: right bottom; }
      .fleet-vehicle-visual.type-moto .fleet-vehicle-placeholder .vehicle-processing-mascot { right: -5px; transform: translateZ(0) scale(.7); transform-origin: right bottom; }
      .fleet-vehicle-stats { position: absolute; right: 10px; bottom: 10px; left: 10px; z-index: 4; display: grid; min-height: 40px; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; overflow: hidden; border: 1px solid #eee9f1; border-radius: 11px; background: #faf8fb; }
      .fleet-vehicle-stat { min-width: 0; padding: 5px 7px; text-align: center; }
      .fleet-vehicle-stat + .fleet-vehicle-stat { border-left: 1px solid #e9e3ec; }
      .fleet-vehicle-stat small, .fleet-vehicle-stat strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .fleet-vehicle-stat small { color: #998f9f; font-size: 7px !important; font-weight: 900; letter-spacing: .06em; }
      .fleet-vehicle-stat strong { margin-top: 2px; color: #4d4353; font-size: 9px; font-weight: 900; }
      .vehicle-paint-art { --vehicle-paint:#747c87; position: relative; width: 118px; height: 58px; filter: drop-shadow(0 8px 8px rgba(0,0,0,.22)); }
      .wallet-vehicle-art { position: absolute; right: 16px; bottom: 38px; z-index: 2; transform: scale(.78); transform-origin: right bottom; }
      .vehicle-art-body { position: absolute; right: 3px; bottom: 13px; left: 3px; z-index: 2; height: 25px; border: 1px solid rgba(0,0,0,.2); border-radius: 14px 24px 8px 8px; background: var(--vehicle-paint); box-shadow: inset 0 3px 0 rgba(255,255,255,.25); }
      .vehicle-art-cabin { position: absolute; bottom: 33px; left: 29px; z-index: 1; width: 65px; height: 22px; border: 1px solid rgba(0,0,0,.18); background: var(--vehicle-paint); clip-path: polygon(17% 0,72% 0,100% 100%,0 100%); }
      .vehicle-art-cabin::after { position: absolute; inset: 4px 8px 3px; background: linear-gradient(135deg,rgba(229,245,255,.9),rgba(82,110,135,.8)); clip-path: polygon(15% 0,72% 0,100% 100%,0 100%); content: ""; }
      .vehicle-art-wheel { position: absolute; bottom: 5px; z-index: 3; width: 20px; height: 20px; border: 4px solid #17151b; border-radius: 50%; background: #aab0b8; box-shadow: inset 0 0 0 2px #44434a; }
      .vehicle-art-wheel.front { right: 15px; }.vehicle-art-wheel.rear { left: 16px; }
      .vehicle-paint-art.pequeno .vehicle-art-cabin { left: 25px; width: 64px; height: 24px; }
      .vehicle-paint-art.pequeno .vehicle-art-body { border-radius: 18px 26px 9px 9px; }
      .vehicle-paint-art.pickup .vehicle-art-cabin { left: 18px; width: 48px; clip-path: polygon(20% 0,78% 0,100% 100%,0 100%); }
      .vehicle-paint-art.pickup .vehicle-art-body { border-radius: 12px 9px 8px 8px; }
      .vehicle-paint-art.moto::before { position: absolute; bottom: 18px; left: 29px; width: 61px; height: 22px; border-right: 5px solid var(--vehicle-paint); border-bottom: 5px solid var(--vehicle-paint); transform: skewX(-24deg); content: ""; }
      .vehicle-paint-art.moto .vehicle-art-body { right: 36px; bottom: 26px; left: 39px; height: 13px; border-radius: 70% 40% 45% 60%; }
      .vehicle-paint-art.moto .vehicle-art-cabin { bottom: 38px; left: 48px; width: 28px; height: 6px; border: 0; border-radius: 8px; clip-path: none; }
      .vehicle-paint-art.moto .vehicle-art-cabin::after { display: none; }
      .vehicle-paint-art.moto .vehicle-art-wheel { bottom: 4px; width: 24px; height: 24px; border-width: 4px; background: transparent; }
      .vehicle-paint-art.moto .vehicle-art-wheel.front { right: 9px; }.vehicle-paint-art.moto .vehicle-art-wheel.rear { left: 11px; }
      .vehicle-manager-empty { padding: 26px 18px; color: #625969; text-align: center; }
      .vehicle-manager-empty strong, .vehicle-manager-empty small { display: block; }
      .vehicle-manager-empty strong { font-size: 14px; }
      .vehicle-manager-empty small { margin-top: 7px; font-size: 9px; }
      .vehicle-manager-loading { padding: 24px; color: rgba(255,255,255,.8); font-size: 10px; text-align: center; }
      .vehicle-manager-add { position: fixed; right: max(calc((100vw - 430px) / 2 + 18px),18px); bottom: calc(78px + env(safe-area-inset-bottom)); z-index: 35; display: grid; width: 58px; height: 58px; place-items: center; border: 0; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#6d20c5,#a525d0); box-shadow: 0 12px 28px rgba(76,18,126,.38); font-size: 30px !important; font-weight: 400; line-height: 1; cursor: pointer; }
      .vehicle-manager-add:active { transform: scale(.94); }

      body.vehicle-modal-open { overflow: hidden; }
      .vehicle-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: end center; padding: 18px 14px calc(18px + env(safe-area-inset-bottom)); background: rgba(25,12,40,.62); backdrop-filter: blur(5px); }
      .vehicle-modal[hidden] { display: none; }
      .vehicle-form-panel { position: relative; width: min(100%,402px); max-height: min(760px,calc(100dvh - 36px)); padding: 24px 18px 18px; overflow-y: auto; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(25,8,45,.4); }
      .vehicle-form-panel h2 { margin: 0; color: #2b2032; font-size: 20px; }
      .vehicle-form-panel > p { margin: 5px 0 16px; color: var(--ink-soft); font-size: 10px; }
      .vehicle-form-close { position: absolute; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #62596a; background: #f2edf5; font-size: 20px; cursor: pointer; }
      .vehicle-form-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
      .vehicle-field { display: grid; gap: 6px; color: #4a4051; font-size: 12px; font-weight: 850; }
      .vehicle-field[hidden] { display: none; }
      .vehicle-field.full, .vehicle-type-field { grid-column: 1 / -1; }
      .vehicle-field input, .vehicle-field select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #ddd5e3; border-radius: 11px; color: #251e29; background: #fff; font-size: 16px; outline: none; touch-action: manipulation; }
      .vehicle-field input:focus, .vehicle-field select:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,32,197,.1); }
      .vehicle-field input:disabled { color: #837a88; background: #f4f1f5; }
      .vehicle-color-field { position: relative; display: grid; gap: 6px; color: #4a4051; font-size: 12px; font-weight: 850; }
      .vehicle-color-button { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 11px; padding: 10px 13px; border: 1px solid #ddd5e3; border-radius: 11px; color: #251e29; background: #fff; font-size: 16px; font-weight: 750; text-align: left; cursor: pointer; touch-action: manipulation; }
      .vehicle-color-button::after { content: "⌄"; margin-left: auto; color: #786d7e; font-size: 19px; line-height: 1; }
      .vehicle-color-button[aria-expanded="true"] { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,32,197,.1); }
      .vehicle-color-swatch { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; border: 1px solid rgba(35,27,41,.18); border-radius: 7px; background: var(--swatch,#777); box-shadow: inset 0 1px 0 rgba(255,255,255,.5),0 2px 5px rgba(31,20,38,.12); }
      .vehicle-color-swatch[data-color="Prata"] { background: linear-gradient(135deg,#f8fafb 0%,#aab2bc 48%,#e9edf0 100%); }
      .vehicle-color-swatch[data-color="Outra cor"] { background: conic-gradient(from 35deg,#7a23c4,#277bd8,#29a971,#e8bc31,#dc3e48,#7a23c4); }
      .vehicle-color-menu { position: absolute; top: calc(100% + 6px); right: 0; left: 0; z-index: 16; display: grid; gap: 3px; max-height: 270px; padding: 6px; overflow-y: auto; border: 1px solid #ded5e4; border-radius: 14px; background: #fff; box-shadow: 0 18px 38px rgba(36,18,48,.2); }
      .vehicle-color-menu[hidden] { display: none; }
      .vehicle-color-menu button { display: flex; width: 100%; min-height: 45px; align-items: center; gap: 11px; padding: 8px 9px; border-radius: 10px; color: #342a3a; background: transparent; font-size: 14px; font-weight: 800; text-align: left; cursor: pointer; }
      .vehicle-color-menu button[aria-selected="true"], .vehicle-color-menu button:active { color: var(--purple); background: #f4ebfb; }
      .vehicle-custom-color { grid-column: 1 / -1; }
      .vehicle-custom-color small { color: #817687; font-size: 11px; font-weight: 650; line-height: 1.35; }
      .vehicle-plate-field { display: grid; gap: 6px; }
      .vehicle-plate-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
      .vehicle-plate-head label { color: #4a4051; font-size: 12px; font-weight: 850; }
      .vehicle-plate-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
      .vehicle-lookup-progress { display: grid; grid-column: 1 / -1; gap: 8px; padding: 13px 14px; border: 1px solid #e6ddef; border-radius: 14px; color: #5c4e65; background: #faf7fc; }
      .vehicle-lookup-progress[hidden], .vehicle-lookup-result[hidden], .vehicle-manual-fields[hidden] { display: none; }
      .vehicle-lookup-progress strong { color: #392743; font-size: 12px; }
      .vehicle-lookup-progress small { color: #83768b; font-size: 10px; line-height: 1.35; }
      .vehicle-lookup-track { height: 7px; overflow: hidden; border-radius: 99px; background: #e9e0ef; }
      .vehicle-lookup-track i { display: block; width: 48%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6d20c5,#b632c5); animation: vehicle-lookup-progress 1s cubic-bezier(.45,0,.55,1) infinite alternate; }
      @keyframes vehicle-lookup-progress { from { transform: translateX(-14%); } to { transform: translateX(122%); } }
      .vehicle-lookup-result { position: relative; display: grid; grid-column: 1 / -1; gap: 10px; padding: 15px; overflow: hidden; border: 1px solid #ded3e8; border-radius: 17px; background: linear-gradient(145deg,#fff 30%,#f2e9f9); box-shadow: 0 8px 22px rgba(54,24,76,.09); }
      .vehicle-lookup-result::after { position: absolute; top: -55px; right: -45px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle,rgba(109,32,197,.14),transparent 68%); content: ""; pointer-events: none; }
      .vehicle-lookup-result > small { z-index: 1; color: #7a6d82; font-size: 8px; font-weight: 950; letter-spacing: .11em; }
      .vehicle-lookup-result > strong { z-index: 1; padding-right: 18px; color: #2d2133; font-size: 17px; line-height: 1.18; }
      .vehicle-lookup-facts { z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; }
      .vehicle-lookup-facts span { padding: 6px 8px; border-radius: 9px; color: #5e267f; background: rgba(255,255,255,.86); box-shadow: 0 2px 8px rgba(56,25,76,.06); font-size: 9px; font-weight: 850; }
      .vehicle-lookup-manual { z-index: 1; width: fit-content; padding: 3px 0; color: #75677d; background: transparent; font-size: 9px; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
      .vehicle-manual-fields { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr; gap: 12px; padding-top: 2px; }
      .vehicle-manual-note { margin: 0; color: #766a7d; font-size: 10px; line-height: 1.4; }
      .autocomplete-field { position: relative; z-index: 3; }
      .autocomplete-field:focus-within { z-index: 8; }
      .vehicle-suggestions { position: absolute; top: calc(100% + 5px); right: 0; left: 0; z-index: 20; max-height: 220px; padding: 5px; overflow-y: auto; border: 1px solid #d9cee1; border-radius: 13px; background: #fff; box-shadow: 0 16px 38px rgba(38,17,53,.24); overscroll-behavior: contain; }
      .vehicle-suggestions[hidden] { display: none; }
      .vehicle-suggestions button { display: block; width: 100%; min-height: 43px; padding: 10px 11px; border-radius: 9px; color: #342a3a; background: transparent; font-size: 14px; font-weight: 750; text-align: left; touch-action: manipulation; }
      .vehicle-suggestions button + button { border-top: 1px solid #eee8f1; border-radius: 0 0 9px 9px; }
      .vehicle-suggestions button:active, .vehicle-suggestions button:focus { color: var(--purple); background: #f4ebfb; outline: none; }
      .vehicle-type-field { display: grid; gap: 6px; color: #4a4051; font-size: 12px; font-weight: 850; }
      .vehicle-type-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 4px; border-radius: 13px; background: #f1ecf5; }
      .vehicle-type-switch label { position: relative; cursor: pointer; }
      .vehicle-type-switch input { position: absolute; opacity: 0; pointer-events: none; }
      .vehicle-type-switch span { display: grid; min-height: 39px; place-items: center; border-radius: 10px; color: #6e6474; font-size: 12px; font-weight: 900; }
      .vehicle-type-switch input:checked + span { color: var(--purple); background: #fff; box-shadow: 0 4px 13px rgba(56,24,80,.12); }
      .catalog-hint { color: #827789; font-size: 10px; font-weight: 650; }
      .vehicle-image-preview { position: relative; display: grid; grid-column: 1 / -1; min-height: 178px; place-items: center; overflow: hidden; border: 1px solid #dfd4e7; border-radius: 18px; background: radial-gradient(circle at 72% 45%,rgba(118,42,206,.2),transparent 34%),linear-gradient(145deg,#f8f4fb,#eee5f5); }
      .vehicle-image-preview[hidden] { display: none; }
      .vehicle-image-preview img { position: relative; z-index: 1; display: block; width: 100%; height: 178px; object-fit: contain; filter: drop-shadow(0 12px 9px rgba(55,21,86,.22)); }
      .vehicle-preview-loader { position: absolute; inset: 0; z-index: 2; display: grid; place-content: center; justify-items: center; color: var(--purple); background: rgba(248,244,251,.82); backdrop-filter: blur(4px); }
      .vehicle-preview-loader[hidden] { display: none; }
      .vehicle-preview-loader i { border-color: rgba(109,32,197,.18); border-top-color: var(--purple); }
      .vehicle-preview-loader strong { margin-top: 10px; font-size: 12px; }
      .vehicle-image-preview figcaption { position: absolute; right: 10px; bottom: 9px; left: 10px; z-index: 3; padding: 7px 9px; border-radius: 10px; color: #fff; background: rgba(36,18,48,.72); font-size: 10px; font-weight: 800; text-align: center; backdrop-filter: blur(7px); }
      .vehicle-image-preview.is-error { min-height: 92px; }
      .vehicle-image-preview.is-error img { display: none; }
      @keyframes vehicle-image-spin { to { transform: rotate(360deg); } }
      .managed-vehicle-category { display: inline-flex !important; width: fit-content; margin-top: 6px !important; padding: 4px 7px; border-radius: 99px; color: #6d20c5 !important; background: #f1e8fa; font-size: 8px !important; font-weight: 900; }
      .vehicle-primary-toggle { display: flex; grid-column: 1 / -1; align-items: center; gap: 9px; margin-top: 2px; color: #514758; font-size: 10px; font-weight: 800; }
      .vehicle-primary-toggle input { width: 18px; height: 18px; accent-color: var(--purple); }
      .vehicle-form-feedback { min-height: 16px; margin: 10px 0 0; color: #b52d41; font-size: 9px; font-weight: 750; }
      .vehicle-form-submit { width: 100%; margin-top: 8px; border: 0; cursor: pointer; }
      .vehicle-form-submit:disabled { opacity: .65; cursor: wait; }
      .vehicle-detail-panel { position: relative; width: min(100%,402px); max-height: min(780px,calc(100dvh - 36px)); padding: 0 0 18px; overflow-y: auto; border-radius: 25px; background: #fff; box-shadow: 0 24px 70px rgba(25,8,45,.4); }
      .vehicle-detail-panel .vehicle-form-close { z-index: 4; color: #fff; background: rgba(255,255,255,.18); }
      .vehicle-detail-hero { position: relative; min-height: 175px; padding: 22px 19px; overflow: hidden; color: #fff; background: linear-gradient(145deg,#5b16b1,#9224c7 68%,#cc3c83); }
      .vehicle-detail-hero.wallet-theme-1 { background: linear-gradient(145deg,#1e2430,#3e4756 60%,#685b76); }
      .vehicle-detail-hero.wallet-theme-2 { background: linear-gradient(145deg,#075d68,#078b8d 60%,#22a97c); }
      .vehicle-detail-hero::after { position: absolute; top: -70px; right: -50px; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.16),transparent 68%); content: ""; }
      .vehicle-detail-hero > * { position: relative; z-index: 2; }
      .vehicle-detail-hero > small { display: block; font-size: 8px; font-weight: 900; letter-spacing: .15em; opacity: .8; }
      .vehicle-detail-hero h2 { margin: 15px 0 12px; font-size: 24px; }
      .vehicle-detail-hero .plate { margin: 0; }
      .vehicle-detail-hero p { margin: 10px 0 0; font-size: 10px; opacity: .82; }
      .vehicle-detail-art { position: absolute !important; right: 17px; bottom: 19px; z-index: 2 !important; transform: scale(.92); transform-origin: right bottom; }
      .vehicle-detail-body { padding: 16px 18px 0; }
      .vehicle-detail-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
      .vehicle-detail-stat { padding: 12px 7px; border-radius: 13px; background: #f5f1f7; text-align: center; }
      .vehicle-detail-stat strong, .vehicle-detail-stat small { display: block; }
      .vehicle-detail-stat strong { color: #3b2c43; font-size: 14px; }
      .vehicle-detail-stat small { margin-top: 4px; color: #7c7281; font-size: 8px; }
      .vehicle-detail-section { margin-top: 14px; padding: 14px; border: 1px solid #e8e0eb; border-radius: 15px; }
      .vehicle-detail-section > small { display: block; color: #837889; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
      .vehicle-detail-last { display: flex; margin-top: 9px; align-items: flex-start; justify-content: space-between; gap: 12px; }
      .vehicle-detail-last strong, .vehicle-detail-last span { display: block; }
      .vehicle-detail-last strong { font-size: 12px; }
      .vehicle-detail-last span { margin-top: 4px; color: #786e7e; font-size: 9px; }
      .vehicle-detail-last b { flex: 0 0 auto; color: var(--purple); font-size: 13px; }
      .vehicle-detail-facts { display: grid; gap: 9px; margin-top: 14px; }
      .vehicle-detail-fact { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 9px; border-bottom: 1px solid #eee8f0; font-size: 10px; }
      .vehicle-detail-fact span { color: #7c7282; }
      .vehicle-detail-fact strong { color: #33273a; text-align: right; }
      .vehicle-detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
      .vehicle-detail-actions button { min-height: 43px; border-radius: 12px; font-size: 10px; font-weight: 900; cursor: pointer; }
      .vehicle-detail-edit { color: #fff; background: var(--purple); }
      .vehicle-detail-delete { color: #b62e43; background: #f9e9ed; }

      .wash-art { position: relative; height: 210px; margin: 10px 0 18px; overflow: hidden; border-radius: 22px; background: radial-gradient(circle, #f0e5fb 0 18%, transparent 19%), linear-gradient(#fff, #faf7fd); }
      .wash-arch { position: absolute; right: 45px; bottom: 42px; left: 45px; height: 130px; border: 16px solid #d8bbf2; border-bottom: 0; border-radius: 80px 80px 0 0; box-shadow: inset 0 0 0 8px #f1e5fb; }
      .wash-brand-visual { position: absolute; right: 50%; bottom: 40px; display: grid; width: 112px; height: 86px; place-content: center; border: 1px solid rgba(109,32,197,.14); border-radius: 26px; color: var(--purple); background: rgba(255,255,255,.92); box-shadow: 0 15px 35px rgba(77,25,126,.16); text-align: center; transform: translateX(50%); }
      .wash-brand-visual strong { font-size: 29px; font-style: italic; font-weight: 950; letter-spacing: -.08em; }
      .wash-brand-visual small { margin-top: 2px; color: #817789; font-size: 7px; font-weight: 900; letter-spacing: .15em; }
      .benefit-list { display: grid; gap: 15px; }
      .benefit { display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: center; }
      .benefit i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--purple-soft); color: var(--purple); font-style: normal; }
      .benefit strong, .benefit small { display: block; }
      .benefit strong { font-size: 10px; }
      .benefit small { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }

      .diamond-card { padding: 24px 18px; text-align: center; }
      .diamond-card .diamond { font-size: 34px; }
      .diamond-card h2 { margin: 5px 0; font-size: 18px; }
      .diamond-card p { margin: 0; color: rgba(255,255,255,.78); font-size: 8px; }
      .diamond-card strong { display: block; margin: 12px 0 6px; font-size: 24px; }
      .diamond-card .progress { background: rgba(255,255,255,.22); }
      .diamond-card .progress::before { background: #fff; }
      .bullet-list { display: grid; gap: 12px; padding: 0; list-style: none; }
      .bullet-list li { position: relative; padding-left: 26px; font-size: 9px; }
      .bullet-list li::before { position: absolute; left: 0; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--purple-soft); color: var(--purple); content: "✓"; font-size: 9px; font-weight: 900; }

      .plan-card { margin-top: 12px; padding: 16px; }
      .plan-card.featured { border-color: #8a36ce; box-shadow: 0 12px 30px rgba(106,28,185,.12); }
      .badge { display: inline-block; margin-bottom: 6px; padding: 4px 8px; border-radius: 99px; background: var(--purple); color: #fff; font-size: 7px; font-weight: 850; }
      .plan-card h2 { margin: 2px 0 6px; color: #4f167d; font-size: 15px; }
      .price { color: var(--purple); font-size: 21px; font-weight: 900; }
      .price small { font-size: 9px; }
      .current-plan-section { margin-top: 18px; }
      .current-plan-section[hidden] { display: none; }
      .current-plan-heading { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 12px; }
      .current-plan-heading h2 { margin: 0; color: #d9bdf4; font-size: 11px; letter-spacing: .2em; }
      .current-plan-heading button { padding: 4px 0; color: #fff; background: transparent; font-size: 11px; font-weight: 750; cursor: pointer; }
      .current-plan-card { margin-top: 8px; padding: 20px 18px 18px; border-radius: 24px; color: #211a29; background: #fff; }
      .current-plan-main { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
      .current-plan-main h3 { margin: 0; font-size: 18px; line-height: 1.2; }
      .current-plan-main strong { flex: 0 0 auto; color: var(--purple); font-size: 20px; letter-spacing: .08em; }
      .current-plan-segments { display: grid; grid-auto-columns: minmax(0,1fr); grid-auto-flow: column; gap: 7px; margin-top: 16px; }
      .current-plan-segments i { height: 8px; border-radius: 99px; background: #ebe7ef; }
      .current-plan-segments i.available { background: linear-gradient(90deg,#5914bc,#7823d5); box-shadow: 0 2px 7px rgba(102,29,198,.18); }
      .current-plan-copy { margin: 14px 0 0; color: #6f6675; font-size: 12px; line-height: 1.4; }
      .billing-screen { padding-top: max(22px, calc(env(safe-area-inset-top) + 12px)); color: #241c2b; }
      .billing-screen [hidden], .billing-modal[hidden] { display: none !important; }
      .billing-stack { display: grid; gap: 13px; }
      .billing-panel { padding: 17px; border: 1px solid rgba(65,30,91,.08); border-radius: 19px; background: #fff; box-shadow: 0 13px 30px rgba(39,15,63,.12); }
      .billing-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
      .billing-panel-head h2, .billing-panel-head h3 { margin: 0; color: #271d2e; font-size: 16px; line-height: 1.25; }
      .billing-panel-head p { margin: 4px 0 0; color: #756c7b; font-size: 12px; line-height: 1.45; }
      .billing-kicker { display: block; margin-bottom: 6px; color: var(--purple); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
      .billing-state { display: grid; min-height: 150px; place-content: center; justify-items: center; padding: 25px 19px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; color: #fff; background: rgba(255,255,255,.12); text-align: center; backdrop-filter: blur(8px); }
      .billing-state strong { font-size: 17px; }
      .billing-state p { max-width: 300px; margin: 8px 0 0; color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.5; }
      .billing-subscription-demo { display: block; min-height: 0; padding: 20px 16px 16px; text-align: left; }
      .billing-demo-intro { text-align: center; }
      .billing-demo-intro strong { display: block; }
      .billing-demo-intro p { margin-right: auto; margin-left: auto; }
      .billing-demo-plan { margin-top: 17px; padding: 17px; border: 1px solid rgba(106,38,159,.1); border-radius: 18px; color: #2b2230; background: linear-gradient(145deg,#fff 0%,#fbf8fd 58%,#f5edfb 100%); box-shadow: 0 14px 30px rgba(51,15,79,.13); }
      .billing-demo-plan-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
      .billing-demo-plan-head small { display: block; margin-bottom: 5px; color: var(--purple); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
      .billing-demo-plan-head h2 { margin: 0; font-size: 19px; line-height: 1.15; }
      .billing-demo-status { display: inline-flex; min-height: 27px; align-items: center; gap: 5px; padding: 5px 9px; border: 1px solid #bfe8cf; border-radius: 99px; color: #177846; background: #edf9f1; font-size: 10px; font-weight: 900; white-space: nowrap; }
      .billing-demo-status::before { display: grid; width: 14px; height: 14px; place-items: center; border-radius: 50%; color: #fff; background: #25a75e; content: "✓"; font-size: 9px; }
      .billing-demo-copy { margin: 5px 0 0 !important; color: #766c7b !important; font-size: 11px !important; }
      .billing-demo-balance { margin-top: 15px; }
      .billing-demo-balance strong { display: flex; align-items: baseline; gap: 5px; color: var(--purple); font-size: 24px; }
      .billing-demo-balance strong span { color: #605767; font-size: 11px; font-weight: 800; }
      .billing-demo-progress { height: 7px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #e8e1ed; }
      .billing-demo-progress i { display: block; width: 75%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5c14b4,#8c25d0); }
      .billing-demo-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
      .billing-demo-fact { min-width: 0; padding: 10px; border: 1px solid #e8e0ec; border-radius: 12px; background: rgba(255,255,255,.78); }
      .billing-demo-fact span, .billing-demo-fact strong { display: block; }
      .billing-demo-fact span { color: #8a7f90; font-size: 9px; font-weight: 850; letter-spacing: .04em; }
      .billing-demo-fact strong { margin-top: 4px; color: #34293a; font-size: 11px; line-height: 1.3; }
      .billing-demo-vehicle { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding: 10px; border: 1px solid #e8e0ec; border-radius: 12px; color: #63596a; background: rgba(255,255,255,.78); font-size: 10px; }
      .billing-demo-vehicle strong { color: #34293a; font-size: 11px; }
      .billing-submit.billing-plan-discover { margin-top: 13px; border: 1px solid rgba(255,255,255,.9); color: #5d16ae; text-decoration: none; background: linear-gradient(135deg,#fff 0%,#fbf7fe 58%,#f1e6fa 100%); box-shadow: 0 12px 25px rgba(47,13,74,.18),inset 0 0 0 1px rgba(107,32,183,.08); }
      .billing-demo-note { display: block; margin-top: 10px; color: rgba(255,255,255,.7); font-size: 9px; text-align: center; }
      .billing-loader { width: 30px; height: 30px; margin-bottom: 13px; border: 3px solid rgba(255,255,255,.28); border-top-color: #fff; border-radius: 50%; animation: billing-spin .75s linear infinite; }
      @keyframes billing-spin { to { transform: rotate(360deg); } }
      .billing-status-chip { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 10px; border-radius: 99px; color: #6b5f72; background: #eeeaf1; font-size: 12px; font-weight: 900; white-space: nowrap; }
      .billing-status-chip.active, .billing-status-chip.approved, .billing-status-chip.authorized { color: #167743; background: #def5e8; }
      .billing-status-chip.pending, .billing-status-chip.in_process, .billing-status-chip.cancel-scheduled { color: #895a08; background: #fff0ce; }
      .billing-status-chip.rejected, .billing-status-chip.cancelled, .billing-status-chip.failed, .billing-status-chip.past_due { color: #a72d40; background: #fde4e9; }
      .billing-product-summary { position: relative; overflow: hidden; color: #fff; background: linear-gradient(140deg,#5010a0,#7720c8 60%,#bd2a93); box-shadow: 0 17px 40px rgba(48,12,82,.25); }
      .billing-product-summary::after { position: absolute; top: -80px; right: -70px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.18),transparent 67%); content: ""; }
      .billing-product-summary > * { position: relative; z-index: 1; }
      .billing-product-summary .billing-kicker { color: rgba(255,255,255,.72); }
      .billing-product-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 13px; }
      .billing-product-title h2 { margin: 0; font-size: 20px; line-height: 1.2; }
      .billing-product-price { flex: 0 0 auto; font-size: 21px; font-weight: 950; }
      .billing-product-description { margin: 9px 0 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.45; }
      .billing-product-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
      .billing-product-meta span { padding: 5px 8px; border-radius: 99px; background: rgba(255,255,255,.14); font-size: 12px; font-weight: 800; }
      .billing-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; border-radius: 14px; background: #eee9f2; }
      .billing-tabs button { min-height: 43px; border-radius: 10px; color: #6e6574; background: transparent; font-size: 13px; font-weight: 900; cursor: pointer; }
      .billing-tabs button.active { color: #fff; background: var(--purple); box-shadow: 0 7px 17px rgba(87,22,166,.22); }
      .billing-tabs button:disabled { opacity: .42; cursor: default; }
      .billing-form { display: grid; gap: 11px; }
      .billing-screen .billing-field { display: grid; gap: 7px; color: #4d4353; font-size: 13px; font-weight: 820; }
      .billing-field input, .billing-field select { width: 100%; min-height: 50px; padding: 12px 13px; border: 1px solid #dcd3e2; border-radius: 12px; color: #261e2b; background: #fff; font-size: 16px; outline: 0; }
      .billing-field input:focus, .billing-field select:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,32,197,.11); }
      .billing-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
      .billing-field-row.saved-card { grid-template-columns: 1fr; }
      .billing-secure-field { position: relative; display: flex; width: 100%; height: 52px; min-height: 52px; align-items: center; overflow: hidden; padding: 0 13px; border: 1px solid #dcd3e2; border-radius: 12px; background: #fff; transition: border-color .16s ease,box-shadow .16s ease; }
      .billing-secure-field iframe { display: block !important; width: 100% !important; height: 50px !important; min-height: 0 !important; max-height: 50px !important; border: 0 !important; }
      .billing-secure-field:focus-within { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,32,197,.11); }
      .billing-security-note { display: flex; gap: 9px; align-items: flex-start; margin: 0; padding: 10px 11px; border-radius: 12px; color: #716778; background: #f8f5fa; font-size: 12px; line-height: 1.4; }
      .billing-security-note i { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); font-size: 11px; font-style: normal; font-weight: 950; }
      .billing-choice-list { display: grid; gap: 8px; }
      .billing-choice { position: relative; display: grid; min-height: 58px; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #ddd5e3; border-radius: 13px; background: #fff; cursor: pointer; }
      .billing-vehicle-list { display: grid; gap: 8px; margin-top: 13px; }
      .billing-vehicle-option { display: grid; min-height: 64px; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid #e3dce8; border-radius: 15px; background: #fbf9fc; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
      .billing-vehicle-option:has(input:checked) { border-color: rgba(109,32,197,.46); background: #f5edfb; box-shadow: 0 8px 20px rgba(91,28,137,.09); }
      .billing-vehicle-option input { width: 19px; height: 19px; margin: 0; accent-color: var(--purple); }
      .billing-vehicle-copy { min-width: 0; }
      .billing-vehicle-copy strong, .billing-vehicle-copy small { display: block; }
      .billing-vehicle-copy strong { overflow: hidden; color: #2b2230; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
      .billing-vehicle-copy small { margin-top: 3px; color: #786d7e; font-size: 12px; }
      .billing-vehicle-option .plate { min-width: 86px; margin: 0; padding: 10px 6px 4px; font-size: 13px; }
      .billing-vehicle-actions { display: flex; gap: 9px; align-items: center; margin-top: 12px; }
      .billing-vehicle-actions .billing-secondary-button { flex: 1; margin: 0; }
      .billing-vehicle-actions .billing-submit { width: auto; flex: 1.08; margin: 0; }
      .billing-choice:has(input:checked) { border-color: var(--purple); background: #f8f2fd; box-shadow: 0 0 0 2px rgba(109,32,197,.08); }
      .billing-choice input { width: 18px; height: 18px; margin: 0; accent-color: var(--purple); }
      .billing-choice strong, .billing-choice small { display: block; }
      .billing-choice strong { font-size: 13px; }
      .billing-choice small { margin-top: 3px; color: #7c7282; font-size: 12px; }
      .billing-choice b { color: var(--purple); font-size: 12px; }
      .billing-check { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 11px 12px; border: 1px solid #e5dce9; border-radius: 12px; color: #514758; background: #fbf9fc; font-size: 12px; line-height: 1.4; }
      .billing-check input { width: 19px; height: 19px; margin: 0; accent-color: var(--purple); }
      .billing-submit, .billing-secondary-button, .billing-danger-button { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; padding: 11px 14px; border-radius: 13px; font-size: 13px; font-weight: 950; text-align: center; cursor: pointer; }
      .billing-submit { color: #fff; background: linear-gradient(90deg,#6016b2,#8c23d0 62%,#f1592c); box-shadow: 0 12px 25px rgba(99,24,177,.2); }
      .billing-secondary-button { border: 1px solid #7d2bc5; color: var(--purple); background: #fff; }
      .billing-danger-button { border: 1px solid #e5b8c0; color: #ad3044; background: #fff4f6; }
      .billing-submit:disabled, .billing-secondary-button:disabled, .billing-danger-button:disabled { opacity: .55; cursor: wait; }
      .billing-inline-feedback { min-height: 18px; margin: 0; color: #a72d40; font-size: 12px; font-weight: 750; line-height: 1.45; }
      .billing-inline-feedback.success { color: #157a43; }
      .billing-checkout-result { display: grid; min-height: 250px; place-content: center; justify-items: center; padding: 25px 18px; text-align: center; }
      .billing-result-icon { display: grid; width: 66px; height: 66px; place-items: center; border-radius: 22px; color: #fff; background: linear-gradient(145deg,#168f51,#35bf72); box-shadow: 0 12px 28px rgba(27,143,82,.24); font-size: 31px; font-weight: 950; }
      .billing-checkout-result.error .billing-result-icon { background: linear-gradient(145deg,#bd3247,#eb634d); }
      .billing-checkout-result.pending .billing-result-icon { background: linear-gradient(145deg,#c47b12,#efae36); }
      .billing-checkout-result h2 { margin: 16px 0 7px; font-size: 19px; }
      .billing-checkout-result p { max-width: 290px; margin: 0; color: #746b79; font-size: 12px; line-height: 1.5; }
      .billing-result-actions { display: grid; width: 100%; gap: 8px; margin-top: 18px; }
      .billing-pix-wrap { display: grid; justify-items: center; text-align: center; }
      .billing-pix-wrap > p { margin: 0 0 14px; color: #6e6574; font-size: 12px; line-height: 1.5; }
      .billing-pix-qr { width: 208px; min-height: 208px; padding: 10px; border: 1px solid #e4dce9; border-radius: 18px; background: #fff; object-fit: contain; }
      .billing-pix-code { width: 100%; min-height: 78px; margin-top: 13px; padding: 11px; overflow-wrap: anywhere; border: 1px dashed #ccbadd; border-radius: 12px; color: #5d5263; background: #faf7fc; font-size: 12px; line-height: 1.4; }
      .billing-pix-status { margin-top: 12px; color: #7a4e08; font-size: 12px; font-weight: 850; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) { height: 100dvh; min-height: 0; overflow: hidden; padding-top: max(10px,calc(env(safe-area-inset-top) + 7px)); padding-bottom: max(72px,calc(62px + env(safe-area-inset-bottom))); }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .page-head { min-height: 42px; margin-bottom: 10px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .page-head .back { width: 34px; height: 34px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .page-head h1 { font-size: 18px; line-height: 1.15; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .page-head p { margin-top: 2px; font-size: 11px; line-height: 1.25; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-stack { gap: 8px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingProductSummary { padding: 11px 14px; border-radius: 16px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingProductSummary .billing-kicker { margin-bottom: 3px; font-size: 10px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-title h2 { font-size: 17px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-price { font-size: 18px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-description { margin-top: 5px; overflow: hidden; font-size: 11px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-meta { gap: 5px; margin-top: 7px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-meta span { padding: 3px 7px; font-size: 10px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixPanel { padding: 11px 14px 10px; border-radius: 17px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixPanel .billing-kicker { margin-bottom: 2px; font-size: 10px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixPanel .billing-panel-head h2 { font-size: 15px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixPanel .billing-panel-head p { margin-top: 2px; font-size: 11px; line-height: 1.25; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixResult { gap: 0; margin-top: 5px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-pix-qr { width: clamp(142px,20dvh,170px); min-height: 0; aspect-ratio: 1; padding: 7px; border-radius: 14px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-pix-code { display: -webkit-box; min-height: 0; max-height: 38px; margin-top: 6px; padding: 6px 8px; overflow: hidden; border-radius: 10px; font-size: 10px; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixCopy { min-height: 40px; margin-top: 6px; padding: 8px 12px; border-radius: 11px; font-size: 12px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-pix-status { margin-top: 6px; font-size: 11px; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-pix-status.expired { color: #a72d40; }
      [data-screen="checkout"]:has(#billingPixResult:not([hidden])) #billingPixFeedback:empty { display: none; }
      @media (max-height:700px) {
        [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .page-head p,
        [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-product-description { display: none; }
        [data-screen="checkout"]:has(#billingPixResult:not([hidden])) .billing-pix-qr { width: 132px; }
      }
      .billing-plan-hero { color: #fff; background: linear-gradient(140deg,#4e0d9d,#7020c4 57%,#af288f); box-shadow: 0 17px 40px rgba(43,10,76,.25); }
      .billing-plan-hero .billing-panel-head h2, .billing-plan-hero .billing-panel-head p { color: #fff; }
      .billing-plan-hero .billing-panel-head p { opacity: .75; }
      .billing-plan-balance { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 20px; }
      .billing-plan-balance strong { font-size: 30px; line-height: 1; }
      .billing-plan-balance small { font-size: 12px; opacity: .76; }
      .billing-plan-progress { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 6px; margin-top: 12px; }
      .billing-plan-progress i { height: 8px; border-radius: 99px; background: rgba(255,255,255,.22); }
      .billing-plan-progress i.available { background: #fff; box-shadow: 0 0 11px rgba(255,255,255,.35); }
      .billing-facts { display: grid; gap: 0; margin-top: 8px; }
      .billing-fact { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eee9f1; }
      .billing-fact:last-child { border-bottom: 0; }
      .billing-fact span { color: #776d7d; font-size: 12px; }
      .billing-fact strong { max-width: 58%; font-size: 13px; text-align: right; }
      .billing-method-list, .billing-history-list { display: grid; gap: 9px; margin-top: 13px; }
      .billing-method, .billing-payment-row { display: grid; min-height: 68px; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; padding: 11px 12px; border: 1px solid #e5dfe8; border-radius: 14px; background: #fff; }
      .billing-card-brand, .billing-payment-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#4f129e,#8b24c8); font-size: 12px; font-weight: 950; text-transform: uppercase; }
      .billing-method-copy strong, .billing-method-copy small, .billing-payment-copy strong, .billing-payment-copy small { display: block; }
      .billing-method-copy strong, .billing-payment-copy strong { font-size: 13px; }
      .billing-method-copy small, .billing-payment-copy small { margin-top: 3px; color: #7e7484; font-size: 12px; }
      .billing-method-actions { display: grid; justify-items: end; gap: 5px; }
      .billing-method-actions button { padding: 5px 7px; border-radius: 8px; color: var(--purple); background: #f3eafa; font-size: 12px; font-weight: 850; cursor: pointer; }
      .billing-method-actions button.remove { color: #a82f42; background: #fff0f3; }
      .billing-payment-amount { font-size: 13px; font-weight: 900; text-align: right; }
      .billing-payment-amount small { display: block; margin-top: 4px; font-size: 12px; font-weight: 750; }
      .billing-empty { padding: 18px 10px; color: #776e7c; font-size: 12px; line-height: 1.5; text-align: center; }
      .billing-wallets { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
      .billing-wallet-button { min-height: 47px; border: 1px solid #ddd6e2; border-radius: 12px; color: #2c2430; background: #fff; font-size: 13px; font-weight: 900; }
      .billing-discreet-note { margin: 11px 0 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.45; text-align: center; }
      .billing-modal { position: fixed; inset: 0; z-index: 95; display: grid; place-items: end center; padding: 18px 14px calc(18px + env(safe-area-inset-bottom)); background: rgba(25,12,40,.64); backdrop-filter: blur(6px); }
      .billing-modal-panel { position: relative; width: min(100%,402px); padding: 23px 18px 18px; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(25,8,45,.4); }
      .billing-modal-panel h2 { margin: 0; color: #2b2032; font-size: 19px; }
      .billing-modal-panel p { margin: 8px 0 17px; color: #706677; font-size: 12px; line-height: 1.55; }
      .billing-modal-actions { display: grid; grid-template-columns: .9fr 1.4fr; gap: 8px; }
      .billing-modal-actions button { min-height: 48px; border-radius: 12px; font-size: 12px; font-weight: 900; }
      .billing-modal-actions .keep { color: #62576a; background: #f1edf3; }
.billing-modal-actions .cancel { color: #fff; background: linear-gradient(135deg,#b62f45,#e45d48); }
body.billing-modal-open { overflow: hidden; }
.appointment-detail-panel { width: min(100%,430px); padding: 0; overflow: hidden; }
.appointment-detail-head { position: relative; padding: 22px 54px 19px 19px; color: #fff; background: linear-gradient(135deg,#461087,#7b1dc4); }
.appointment-detail-head small { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 900; letter-spacing: .16em; opacity: .76; }
.appointment-detail-head h2 { color: inherit; font-size: 21px; }
.appointment-detail-head p { margin: 6px 0 0; color: rgba(255,255,255,.82); }
.appointment-detail-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; color: #5f1a9d; background: #fff; font-size: 21px; }
.appointment-detail-body { display: grid; gap: 11px; padding: 17px 18px 20px; }
.appointment-detail-status { justify-self: start; padding: 7px 10px; border-radius: 999px; color: #176e3a; background: #e2f6e9; font-size: 11px; font-weight: 900; }
.appointment-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.appointment-detail-item { min-width: 0; padding: 12px; border: 1px solid #eee7f2; border-radius: 14px; background: #fbf9fc; }
.appointment-detail-item.wide { grid-column: 1/-1; }
.appointment-detail-item span { display: block; margin-bottom: 4px; color: #918797; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.appointment-detail-item strong { display: block; color: #302638; font-size: 13px; line-height: 1.35; }
.appointment-detail-pricing { display: grid; gap: 7px; padding: 13px; border-radius: 15px; color: #fff; background: linear-gradient(135deg,#2c173d,#55206f); }
.appointment-detail-pricing div { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; }
.appointment-detail-pricing div:last-child { padding-top: 8px; border-top: 1px solid rgba(255,255,255,.2); font-size: 14px; font-weight: 900; }
.appointment-detail-pix { min-height: 49px; border-radius: 14px; color: #fff; background: linear-gradient(135deg,#6c12bf,#ff5a35); font-size: 13px; font-weight: 950; }
      @media (max-width:360px) {
        .billing-panel { padding: 14px; }
        .billing-field-row { gap: 7px; }
        .billing-product-title { align-items: flex-start; flex-direction: column; gap: 7px; }
        .billing-product-price { font-size: 19px; }
        .billing-method, .billing-payment-row { grid-template-columns: 40px 1fr auto; padding: 10px; }
        .billing-card-brand, .billing-payment-icon { width: 40px; height: 40px; }
      }
      .promo-title { margin: 18px 0 9px; color: #fff; font-size: 10px; letter-spacing: .08em; }
      .promo-packages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
      .promo-package { display: flex; min-height: 258px; flex-direction: column; padding: 15px; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(43,12,76,.18); }
      .promo-package.uber { color: #fff; background: #050505; }
      .promo-package.private { background: linear-gradient(150deg, #fff 55%, #fff0e7); }
      .uber-logo { display: inline-block; align-self: flex-start; color: #fff; font-size: 22px; font-weight: 950; letter-spacing: -.08em; line-height: 1; }
      .package-label { display: block; margin: 10px 0 6px; color: #9a8fa3; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
      .promo-package.uber .package-label { color: #aaa; }
      .private-mark { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg, var(--purple), var(--orange)); font-size: 17px; }
      .promo-package h2 { margin: 0; color: inherit; font-size: 12px; line-height: 1.25; }
      .promo-package .package-price { margin-top: 10px; color: var(--purple); font-size: 25px; font-weight: 950; letter-spacing: -.04em; }
      .promo-package.uber .package-price { color: #fff; }
      .promo-package .package-price small { font-size: 8px; font-weight: 750; letter-spacing: 0; }
      .package-includes { display: block; margin: 6px 0 3px; color: var(--purple); font-size: 8px; font-weight: 900; }
      .promo-package.uber .package-includes { color: #fff; }
      .package-time { display: block; margin: 3px 0 12px; color: #776e7d; font-size: 8px; font-weight: 750; line-height: 1.35; }
      .promo-package.uber .package-time { color: #bbb; }
      .promo-cta { display: grid; min-height: 34px; margin-top: auto; place-items: center; border-radius: 10px; color: #fff; background: var(--purple); font-size: 8px; font-weight: 900; text-align: center; text-decoration: none; }
      .promo-package.uber .promo-cta { color: #050505; background: #fff; }
      .regular-plans-title { margin: 20px 0 2px; color: #fff; font-size: 10px; letter-spacing: .08em; }

      .services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
      .service-card { min-height: 132px; padding: 17px 10px; text-align: center; text-decoration: none; }
      .service-card i { display: block; color: var(--purple); font-style: normal; font-size: 30px; }
      .service-card strong { display: block; margin: 12px 0 5px; font-size: 10px; }
      .service-card small { display: block; color: var(--ink-soft); font-size: 8px; }
      .promo { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; padding: 16px; border-radius: 14px; color: #fff; background: linear-gradient(90deg, #6b1bbd, #d12a91); font-size: 9px; text-decoration: none; }

      .profile-card { display: flex; width: 100%; gap: 13px; align-items: center; padding: 15px; color: #fff; text-align: left; cursor: pointer; }
      .profile-card > span:not(.customer-avatar) { min-width: 0; flex: 1; }
      .profile-card::after { content: "›"; margin-left: auto; font-size: 24px; opacity: .72; }
      .profile-card strong, .profile-card small { display: block; }
      .profile-card strong { font-size: 13px; }
      .profile-card small { margin-top: 4px; color: rgba(255,255,255,.75); font-size: 8px; }
      .profile-list { margin-top: 13px; overflow: hidden; }
      .profile-row { min-height: 51px; gap: 11px; padding: 0 14px; border-bottom: 1px solid var(--line); font-size: 9px; text-decoration: none; }
      .profile-row:last-child { border-bottom: 0; }
      .profile-row i { width: 25px; color: var(--purple); font-style: normal; text-align: center; }
      .profile-row span { flex: 1; }
      .profile-row-button { width: 100%; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
      .profile-editor { position: fixed; inset: 0; z-index: 95; display: grid; place-items: end center; padding: 18px 14px calc(18px + env(safe-area-inset-bottom)); background: rgba(25,12,40,.64); backdrop-filter: blur(5px); }
      .profile-editor[hidden], .profile-phone-confirm[hidden] { display: none; }
      .profile-editor-panel { position: relative; width: min(100%,402px); max-height: min(760px,calc(100dvh - 36px)); padding: 24px 18px 18px; overflow-y: auto; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(25,8,45,.4); }
      .profile-editor-panel h2 { margin: 0; color: #2b2032; font-size: 20px; }
      .profile-editor-panel > p { margin: 5px 38px 18px 0; color: var(--ink-soft); font-size: 11px; line-height: 1.4; }
      .profile-editor-close { position: absolute; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #62596a; background: #f2edf5; font-size: 20px; cursor: pointer; }
      .profile-photo-picker { display: grid; justify-items: center; gap: 9px; margin: 4px 0 19px; cursor: pointer; }
      .profile-photo-picker .customer-avatar { width: 88px; height: 88px; border: 4px solid #f1e7f8; box-shadow: 0 8px 24px rgba(76,23,113,.14); }
      .profile-photo-picker > span:last-child { color: var(--purple); font-size: 11px; font-weight: 900; }
      .profile-photo-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
      .profile-editor-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
      .profile-editor-field { display: grid; gap: 6px; color: #4a4051; font-size: 12px; font-weight: 850; }
      .profile-editor-field.full { grid-column: 1 / -1; }
      .profile-editor-field input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #ddd5e3; border-radius: 11px; color: #251e29; background: #fff; font-size: 16px; outline: none; }
      .profile-editor-field input:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(109,32,197,.1); }
      .profile-editor-hint { grid-column: 1 / -1; margin: -3px 0 2px; color: #817687; font-size: 10px; line-height: 1.4; }
      .profile-editor-feedback { margin: 13px 0 0; color: #a7273b; font-size: 11px; font-weight: 750; line-height: 1.4; }
      .profile-editor-feedback.success { color: #167a45; }
      .profile-editor-save { width: 100%; margin-top: 15px; }
      .profile-phone-confirm { display: grid; gap: 11px; margin-top: 15px; padding: 14px; border-radius: 15px; background: #f5eef9; }
      .profile-phone-confirm strong { color: #4d1b73; font-size: 13px; }
      .profile-phone-confirm small { color: #776c7d; font-size: 10px; line-height: 1.4; }
      .profile-phone-confirm-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
      .profile-phone-confirm input { min-width: 0; min-height: 46px; padding: 10px 13px; border: 1px solid #d9cbe3; border-radius: 11px; background: #fff; font-size: 18px; font-weight: 900; letter-spacing: .28em; text-align: center; outline: none; }
      .profile-phone-confirm button { padding: 0 15px; border-radius: 11px; color: #fff; background: var(--purple); font-size: 11px; font-weight: 900; cursor: pointer; }
      .profile-whatsapp-consent { display:grid; gap:9px; grid-column:1/-1; margin-top:3px; padding:13px; border:1px solid #e0d4e8; border-radius:14px; background:#faf7fc; }
      .profile-whatsapp-consent > strong { color:#4d1b73; font-size:12px; }
      .profile-whatsapp-consent > small { color:#776c7d; font-size:9px; line-height:1.45; }
      .profile-consent-option { display:grid; grid-template-columns:19px minmax(0,1fr); gap:9px; align-items:start; color:#4f4454; font-size:10px; font-weight:750; line-height:1.4; cursor:pointer; }
      .profile-consent-option input { width:18px; height:18px; margin:0; accent-color:#7621c5; }

      .qr-wrap { padding: 30px 20px; text-align: center; }
      .qr-halo { display: grid; width: 190px; height: 190px; margin: 10px auto 28px; place-items: center; border-radius: 50%; background: radial-gradient(circle, #fff 0 28%, #b26dde 29% 42%, #dbc1ef 43% 55%, #f0e5f8 56%); }
      .qr { display: grid; width: 98px; height: 98px; grid-template-columns: repeat(5, 1fr); gap: 4px; padding: 13px; border-radius: 18px; background: var(--purple); }
      .qr b { border-radius: 2px; background: #fff; }
      .qr b:nth-child(2n) { opacity: .25; }
      .coming-location { display: grid; width: 100px; height: 100px; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); box-shadow: 0 12px 30px rgba(91,22,179,.28); font-size: 50px; font-weight: 900; }
      .qr-wrap h2 { margin: 0 0 8px; font-size: 15px; }
      .qr-wrap p { margin: 0 auto; max-width: 230px; color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
      .coming-status { min-height: 38px; margin: 14px auto 0 !important; padding: 9px 12px; border-radius: 10px; color: #fff !important; background: rgba(255,255,255,.12); }
      #comingButton.sent { background: linear-gradient(135deg,#179452,#2aba67); }

      .bottom-nav-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 20; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 -10px 30px rgba(48,30,67,.06); backdrop-filter: blur(14px); }
      .bottom-nav { display: grid; grid-template-columns: repeat(5, 1fr); width: min(100%,430px); min-height: 68px; margin: 0 auto; padding: 4px max(8px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
      .nav-item { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; color: #817988; font-size: 9px; font-weight: 750; text-decoration: none; }
      .nav-item i { font-style: normal; font-size: 20px; }
      .nav-item.active { color: var(--purple); }
      .nav-item.checkin { position: relative; z-index: 1; color: #fff; }
      .nav-item.checkin::before { position: absolute; z-index: -1; width: 58px; height: 58px; border: 2px solid rgba(255,255,255,.88); border-radius: 50%; background: linear-gradient(145deg,#7420c4,#b526d2); box-shadow: 0 7px 18px rgba(92,24,157,.27), inset 0 1px 0 rgba(255,255,255,.3); content: ""; }
      .nav-item.checkin i { font-size: 18px; filter: drop-shadow(0 1px 2px rgba(55,10,91,.25)); }
      .nav-item.checkin.cancel-trip::before { background: linear-gradient(145deg,#d73b4b,#f06b32); }
      .nav-item.checkin [data-coming-label] { max-width: 64px; text-align: center; }

      .notification-sheet { position: fixed; right: auto; bottom: 78px; left: 50%; z-index: 30; display: none; width: min(calc(100% - 28px),402px); grid-template-columns: auto 1fr auto auto; gap: 8px; align-items: center; padding: 14px; border: 1px solid #e5dbef; border-radius: 16px; background: rgba(255,255,255,.98); box-shadow: 0 18px 45px rgba(54,27,83,.2); transform: translateX(-50%); }
      .notification-sheet.visible { display: grid; }
      .notification-sheet i { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--purple-soft); color: var(--purple); font-style: normal; }
      .notification-sheet strong, .notification-sheet span { display: block; }
      .notification-sheet strong { font-size: 10px; }
      .notification-sheet span { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }
      .notification-sheet button { padding: 8px; border-radius: 9px; color: #fff; background: var(--purple); font-size: 8px; font-weight: 850; }
      .notification-sheet .close { width: 25px; padding: 6px; color: #6f6876; background: #f1edf4; }
      .notification-live-actions { display: flex !important; grid-column: 1 / -1; gap: 8px; margin-top: 4px !important; }
      .notification-live-actions[hidden] { display: none !important; }
      .notification-live-actions button { min-height: 36px; flex: 1; }
      .notification-live-actions .notification-live-stop { color: var(--purple); background: var(--purple-soft); }

      .route-chooser { position: fixed; inset: 0; z-index: 50; display: flex; align-items: flex-end; justify-content: center; padding: 18px 14px calc(18px + env(safe-area-inset-bottom)); background: rgba(25, 12, 40, .48); backdrop-filter: blur(3px); }
      .route-chooser[hidden] { display: none; }
      .route-panel { width: min(100%, 402px); padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(25, 8, 45, .34); animation: route-sheet-in 260ms cubic-bezier(.2,.85,.3,1); }
      .route-panel h2 { margin: 0; font-size: 15px; }
      .route-panel > p { margin: 5px 0 15px; color: var(--ink-soft); font-size: 9px; }
      .route-option { display: flex; width: 100%; align-items: center; gap: 11px; margin-top: 8px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: #251d2d; text-align: left; cursor: pointer; }
      .route-option[hidden] { display: none; }
      .route-option:active { background: #f7f2fb; transform: scale(.985); }
      .route-option i { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 10px; color: #fff; background: #4285f4; font-style: normal; font-weight: 900; }
      .route-option[data-map-app="apple"] i { background: #17171a; }
      .route-option[data-map-app="waze"] i { background: #27b9df; }
      .route-option span { font-size: 11px; font-weight: 800; }
      .route-cancel { width: 100%; margin-top: 11px; padding: 11px; border-radius: 12px; background: var(--purple-soft); color: var(--purple); font-size: 10px; font-weight: 850; cursor: pointer; }
      @keyframes route-sheet-in { from { opacity: 0; transform: translateY(35px) scale(.97); } to { opacity: 1; transform: none; } }

      body.coming-modal-open { overflow: hidden; }
      .coming-modal { position: fixed; inset: 0; z-index: 70; display: grid; place-items: end center; padding: 0; background: rgba(22,9,36,.62); backdrop-filter: blur(15px) saturate(.72); -webkit-backdrop-filter: blur(15px) saturate(.72); }
      .coming-modal[hidden] { display: none; }
      .coming-panel { position: relative; width: min(100%,430px); padding: 58px 24px calc(26px + env(safe-area-inset-bottom)); overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-bottom: 0; border-radius: 29px 29px 0 0; background: linear-gradient(155deg,#fff 0%,#fdfcfe 72%,#f8f3fc 100%); box-shadow: 0 -18px 58px rgba(22,6,38,.34); text-align: left; animation: route-sheet-in 260ms cubic-bezier(.2,.85,.3,1); }
      .coming-panel::before { position: absolute; top: 16px; left: 50%; width: 38px; height: 4px; border-radius: 99px; background: #b9b1bf; content: ""; transform: translateX(-50%); }
      .coming-modal-close { position: absolute; top: 17px; right: 18px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(77,58,89,.06); border-radius: 50%; color: #766d7c; background: #f4f1f6; box-shadow: inset 0 1px 0 rgba(255,255,255,.92); font-size: 21px; font-weight: 400; cursor: pointer; }
      .coming-modal-heading { display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 13px; align-items: center; padding-right: 40px; }
      .coming-modal-icon { display: grid; width: 39px; height: 39px; place-items: center; color: #7221a8; }
      .coming-modal-icon svg { display: block; width: 31px; height: 31px; overflow: visible; stroke: currentColor; stroke-width: 1.9; fill: none; stroke-linecap: round; stroke-linejoin: round; }
      .coming-panel h2 { margin: 0; color: #24182e; font-size: 19px; font-weight: 950; line-height: 1.15; letter-spacing: -.02em; }
      .coming-panel > p { max-width: none; margin: 13px 3px 24px 52px; color: #706776; font-size: 12px; font-weight: 600; line-height: 1.55; }
      .coming-estimate { display: grid; grid-template-columns: auto auto; width: fit-content; align-items: baseline; justify-content: center; column-gap: 7px; margin: 4px auto 20px; padding: 14px 24px; border-radius: 18px; color: var(--purple); background: var(--purple-soft); }
      .coming-estimate[hidden] { display: none; }
      .coming-estimate strong { font-size: 38px; line-height: 1; }
      .coming-estimate span { font-size: 13px; font-weight: 850; }
      .coming-estimate small { grid-column: 1 / -1; margin-top: 7px; color: #746a7e; font-size: 11px; }
      .coming-modal-actions { display: grid; grid-template-columns: .72fr 1.48fr; gap: 10px; align-items: stretch; }
      .coming-modal-actions button { min-height: 55px; padding: 11px 15px; border-radius: 12px; font-size: 12px; font-weight: 900; cursor: pointer; }
      .coming-modal-actions .secondary { color: #726979; background: transparent; }
      .coming-modal-actions .confirm { display: inline-flex; align-items: center; justify-content: center; gap: 14px; color: #fff; background: linear-gradient(135deg,#5d17a5,#7c20c2); box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px rgba(86,23,139,.22); }
      .coming-modal-actions .confirm:not(:disabled)::after { content: "→"; font-size: 23px; font-weight: 400; line-height: 1; }
      .coming-modal-actions .confirm:disabled { opacity: .7; }
      .coming-modal.success .coming-modal-icon { color: #249550; }
      .coming-modal.success .coming-modal-actions { grid-template-columns: 1fr; }
      .coming-modal.cancel-mode .coming-modal-icon { color: #a43d51; }
      .coming-modal.cancel-mode .confirm { background: linear-gradient(135deg,#a83a51,#8f293f); }
      .coming-modal.cancelled .coming-modal-icon { color: #77707d; }
      @media (max-width:370px) { .coming-panel { padding-right: 18px; padding-left: 18px; } .coming-panel > p { margin-left: 48px; } .coming-modal-actions { grid-template-columns: .65fr 1.55fr; } }

      @media (prefers-reduced-motion: reduce) {
        .temp-refresh-button.loading { animation: none; }
        .vehicle-processing-mascot-arm { animation: none; }
        .vehicle-hero::before { animation: none; }
        .vehicle-hero.vehicle-emerging :is(.vehicle-photo,.vehicle-home-art) { animation: none; }
        .screen.active .points-ring, .screen.active .progress::before { animation: none; }
        .vehicle-hero.celebrating .finish-celebration, .finish-celebration b, .finish-celebration i, .wash-live-effect span, .wash-preview-effect::before, .wash-preview-effect::after, .wash-preview-effect span, .vehicle-hero.washing-active :is(.vehicle-visual,.vehicle-photo,.vehicle-home-art,.vehicle-washing-worker,.vehicle-washing-worker-arm), .vehicle-hero.secondary .vehicle-visual, .vehicle-hero.washing-active .vehicle-progress-track i::after { animation: none; }
        .vehicle-photo, .vehicle-home-art { transition: none; }
        .vehicle-dirt-layer.vehicle-dirt-preview, .vehicle-hero.finished .vehicle-clean-shine::before, .vehicle-hero.finished .vehicle-clean-shine::after { animation: none; opacity: 0; }
        .vehicle-dirt-demo-card .vehicle-photo-dirt, .vehicle-dirt-demo-card .vehicle-washing-worker, .vehicle-dirt-demo-card .vehicle-washing-worker-arm, .vehicle-dirt-demo-card .vehicle-clean-shine::before, .vehicle-dirt-demo-card .vehicle-clean-shine::after, .vehicle-dirt-demo-status span, .vehicle-polish-sparkles, .vehicle-polish-sparkles i { animation: none !important; opacity: 0; }
        .vehicle-dirt-demo-status { display: none; }
      }
      html[data-cp-performance="equilibrado"] .vehicle-hero::before { animation-duration: 5.5s; }
      html[data-cp-performance="leve"] .vehicle-hero::before { animation: none; opacity: .62; }
      html[data-cp-performance="leve"] .vehicle-dirt-layer.vehicle-dirt-preview,
      html[data-cp-performance="leve"] .vehicle-hero.finished .vehicle-clean-shine::before,
      html[data-cp-performance="leve"] .vehicle-hero.finished .vehicle-clean-shine::after { animation: none !important; opacity: 0 !important; }
      html[data-cp-performance="leve"] .vehicle-hero.vehicle-emerging .vehicle-photo,
      html[data-cp-performance="leve"] .vehicle-hero.vehicle-emerging .vehicle-home-art,
      html[data-cp-performance="leve"] .vehicle-hero.washing-active .vehicle-washing-worker-arm,
      html[data-cp-performance="leve"] .vehicle-hero.washing-active .vehicle-photo,
      html[data-cp-performance="leve"] .vehicle-hero.washing-active .vehicle-home-art,
      html[data-cp-performance="leve"] .vehicle-hero.washing-active .vehicle-progress-track i::after,
      html[data-cp-performance="leve"] .wash-live-effect span,
      html[data-cp-performance="leve"] .wash-test-effect span { animation: none !important; }

      .brand-mark { border: 1px solid rgba(255,255,255,.72); }
      .brand-copy strong, .brand-copy span, .page-head h1, .section-title, .section-head h2 { color: #fff; }
      .page-head p { color: rgba(255,255,255,.72); }
      .section-head a { color: #eadbfb; }
      .back, .top-actions .icon-button { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.14); color: #fff; box-shadow: none; }
      .timeline .step strong, .benefit strong, [data-screen="checkin"] .qr-wrap h2 { color: #fff; }
      .timeline .step small, .benefit small, [data-screen="checkin"] .qr-wrap p { color: rgba(255,255,255,.72); }
      [data-screen="fidelidade"] .bullet-list li { color: #fff; }
      .step:not(:last-child)::after { background: rgba(255,255,255,.3); }
      [data-screen="inicio"] .vehicle-hero { color: #fff; background: transparent; box-shadow: none; }
      [data-screen="inicio"] .vehicle-hero .vehicle-label { color: #817789; }
      [data-screen="inicio"] .vehicle-hero .plate { border: 2px solid #28242b; }
      [data-screen="inicio"] .vehicle-hero > .plate { margin: 0; }

      [data-screen="inicio"].active {
        --home-topbar-height: 40px;
        --home-card-height: 235px;
        --home-header-gap: 20px;
        display: grid;
        height: 100dvh;
        min-height: 0;
        grid-template-rows: calc(var(--home-topbar-height) + var(--home-header-gap) + var(--home-card-height)) auto;
        transition: grid-template-rows 580ms cubic-bezier(.16,1,.3,1);
        gap: 9px;
        align-content: start;
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: none;
        padding: max(38px, calc(env(safe-area-inset-top, 0px) + 10px)) max(18px, calc(env(safe-area-inset-right, 0px) + 12px)) max(83px, calc(76px + env(safe-area-inset-bottom))) max(18px, calc(env(safe-area-inset-left, 0px) + 12px));
      }
      [data-screen="inicio"].active::-webkit-scrollbar { display: none; }
      [data-screen="inicio"] :is(.topbar, .stats, .occupancy, .section-head) { margin: 0; }
      [data-screen="inicio"] .topbar + .vehicle-area { margin-top: 0; }
      [data-screen="inicio"] .vehicle-area { width: 100%; margin-left: 0; }
      [data-screen="inicio"] .stats.home-labeled-section { margin-top: 6px; margin-bottom: 9px; }
      [data-screen="inicio"] .stats .home-fidelity-section { margin-top: 14px; }
      [data-screen="inicio"] .quick-grid.home-labeled-section { margin-top: 20px; }
      [data-screen="inicio"] .home-weather-section.home-labeled-section { margin-top: 16px; }
      [data-screen="inicio"] .vehicle-hero { min-height: 0; height: 100%; }
      [data-screen="inicio"] .vehicle-area, [data-screen="inicio"] .vehicle-carousel-shell, [data-screen="inicio"] .vehicle-carousel { min-height: 0; height: 100%; }
      [data-screen="inicio"] .stats { grid-template-rows: repeat(3,auto); row-gap: 6px; }
      [data-screen="inicio"] .quick-grid { min-height: 0; grid-template-rows: auto minmax(0,1fr); column-gap: 10px; row-gap: 6px; max-height: 120px; }
      [data-screen="inicio"] .quick { height: 100%; min-height: 0; max-height: none; padding: 13px; }
      [data-screen="inicio"] .section-head { min-height: 14px; }
      [data-screen="inicio"] .loyalty { padding: 16px 14px 12px; }

      @media (max-height: 650px) {
        [data-screen="inicio"].active { --home-topbar-height:34px; --home-card-height:200px; --home-header-gap:20px; gap: 5px; align-content: start; padding: max(34px, calc(env(safe-area-inset-top, 0px) + 8px)) max(12px, calc(env(safe-area-inset-right, 0px) + 10px)) max(83px, calc(76px + env(safe-area-inset-bottom))) max(12px, calc(env(safe-area-inset-left, 0px) + 10px)); }
        [data-screen="inicio"] .topbar { min-height: 34px; }
        [data-screen="inicio"] .brand-mark { width: 32px; height: 32px; border-radius: 10px; }
        [data-screen="inicio"] .brand-mark::before { width: 24px; height: 16px; }
        [data-screen="inicio"] .icon-button { width: 34px; height: 34px; }
        [data-screen="inicio"] .vehicle-area { width: 100%; gap: 12px; margin-bottom: 0; margin-left: 0; }
        [data-screen="inicio"] .topbar + .vehicle-area { margin-top: 0; }
        [data-screen="inicio"] .stats.home-labeled-section { margin-top: 10px; }
        [data-screen="inicio"] .stats .home-fidelity-section { margin-top: 10px; }
        [data-screen="inicio"] .quick-grid.home-labeled-section { margin-top: 16px; }
        [data-screen="inicio"] .home-weather-section.home-labeled-section { margin-top: 12px; }
        [data-screen="inicio"] .home-greeting small { font-size: 8px; }
        [data-screen="inicio"] .home-greeting strong { font-size: 16px; }
        [data-screen="inicio"] .manage-vehicles-link { min-height: 27px; padding: 6px 8px; font-size: 7px; }
        [data-screen="inicio"] .vehicle-hero { padding: 11px 13px 23px; }
        [data-screen="inicio"] .vehicle-hero .vehicle-label { display: none; }
        [data-screen="inicio"] .vehicle-hero > .plate { top: 11px; right: auto; left: 11px; min-width: 88px; padding: 10px 7px 4px; font-size: 14px; }
        [data-screen="inicio"] .vehicle-live-status { top: 48px; right: auto; left: 11px; max-width: 47%; padding: 4px 7px; font-size: 7px !important; }
        [data-screen="inicio"] .vehicle-name { display: block; top: 53px; right: auto; left: 11px; width: 45%; font-size: 9px !important; }
        [data-screen="inicio"] .vehicle-last-wash { top: 78px; right: auto; left: 11px; width: 45%; }
        [data-screen="inicio"] .vehicle-hero.secondary .vehicle-name { top: 53px; }
        [data-screen="inicio"] .vehicle-hero.secondary .vehicle-last-wash { top: 73px; }
        [data-screen="inicio"] .vehicle-photo { right: -16%; left: auto; width: 77.7%; height: 80%; }
        [data-screen="inicio"] .vehicle-progress { right: auto; bottom: 58px; left: 11px; width: 45%; }
        [data-screen="inicio"] .occupancy { min-height: 96px; column-gap: 12px; padding: 6px 11px; }
        [data-screen="inicio"] .occupancy::before { right: 11px; left: 11px; }
        [data-screen="inicio"] .occupancy > :is(.occupancy-main,.occupancy-wait,.occupancy-reminder,.occupancy-arrival) { min-height: 40px; padding: 7px 3px; }
        [data-screen="inicio"] .quick { padding: 9px 12px; }
        [data-screen="inicio"] .quick small { margin-top: 3px; }
        [data-screen="inicio"] .home-section-label { font-size: 8px; }
        [data-screen="inicio"] .loyalty { grid-template-columns: 72px minmax(0,1fr); column-gap: 12px; row-gap: 8px; padding: 10px; }
        [data-screen="inicio"] .loyalty-ring-column::after { right: -6px; }
        [data-screen="inicio"] .points-ring { width: 62px; height: 62px; }
        [data-screen="inicio"] .points-ring::before { width: 50px; height: 50px; }
        [data-screen="inicio"] .points-ring::after { top: 2px; width: 16px; height: 6px; }
        [data-screen="inicio"] .points-ring b { font-size: 15px; }
        [data-screen="inicio"] .loyalty-tier-title { margin: 1px 0 5px; }
        [data-screen="inicio"] .tier h3 { font-size: 17px; }
        [data-screen="inicio"] .tier small { font-size: 9px; }
        [data-screen="inicio"] .loyalty-medal { width: 21px; height: 21px; }
        [data-screen="inicio"] .loyalty .progress { height: 7px; margin-bottom: 4px; }
        [data-screen="inicio"] .loyalty-benefits { min-height: 40px; }
        [data-screen="inicio"] .loyalty-benefit { grid-template-columns: 20px minmax(0,1fr); gap: 4px; padding: 4px 5px; }
        [data-screen="inicio"] .loyalty-benefit svg { width: 19px; height: 19px; }
        [data-screen="inicio"] .loyalty-benefit small { font-size: 6.5px; }
      }

      /* Experimento reversível: cartão compacto também na Home, igual às páginas do workspace. */
      body:is(.vehicle-home-compact,.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"].active { --home-card-height:192px; --home-header-gap:20px; }
      body:is(.vehicle-home-compact,.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"] .vehicle-hero { --vehicle-compact-out:-10px; --vehicle-compact-forward:0px; --vehicle-compact-lift:4px; }
      body:is(.vehicle-home-compact,.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"] .vehicle-hero :is(.vehicle-photo,.vehicle-dirt-layer,.vehicle-clean-shine) { right:-10%; }
      body.vehicle-home-compact [data-screen="inicio"] .vehicle-hero:not(.vehicle-size-moto) { --vehicle-photo-scale:1; }
      body.vehicle-home-compact [data-screen="inicio"] .vehicle-hero.vehicle-position-dolphin-mini :is(.vehicle-photo,.vehicle-dirt-layer,.vehicle-clean-shine) { bottom:calc(10px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); }
      body.vehicle-home-compact [data-screen="inicio"] .vehicle-hero.vehicle-position-mini-cooper { --vehicle-photo-scale:.88; }
      body.vehicle-home-compact [data-screen="inicio"] .vehicle-hero.vehicle-position-mini-cooper :is(.vehicle-photo,.vehicle-dirt-layer,.vehicle-clean-shine,.vehicle-polish-sparkles) { right:-3%; bottom:calc(13px + var(--vehicle-compact-out,0px) + var(--vehicle-compact-lift,0px)); }
      @media (max-height:650px) { body:is(.vehicle-home-compact,.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"].active { --home-card-height:163px; } }

      /* Topbar e cartão formam um único bloco e rolam normalmente com a página. */
      [data-screen="inicio"] > .home-sticky-header { display: grid; min-height: 0; grid-template-rows: var(--home-topbar-height) var(--home-card-height); row-gap: var(--home-header-gap); transition: grid-template-rows 580ms cubic-bezier(.16,1,.3,1),row-gap 580ms cubic-bezier(.16,1,.3,1); }
      @media (prefers-reduced-motion:reduce) {
        [data-screen="inicio"] > .home-sticky-header { transition: none; }
      }

      /* Experimento reversível: cenário do pátio ocupa todo o cabeçalho e cartão encosta nas bordas. */
      body.vehicle-header-full-bleed [data-screen="inicio"].active { position: relative; isolation: isolate; }
      body.vehicle-header-full-bleed [data-screen="inicio"].active::before { position: absolute; top: 0; right: 0; left: 0; z-index: 0; height: 316px; background: linear-gradient(180deg,#4b1196 0%,rgba(75,17,150,.9) 10%,rgba(72,16,143,.56) 24%,rgba(48,10,91,.16) 43%,transparent 58%),linear-gradient(180deg,rgba(38,8,79,.2) 0,rgba(26,8,49,.14) 38%,rgba(16,8,29,.14) 68%,rgba(16,8,29,.42) 100%),url("./assets/lot/custodio-lot-pavers.webp") center 48% / cover no-repeat; content: ""; pointer-events: none; }
      body.vehicle-header-full-bleed [data-screen="inicio"].active > :is(.home-sticky-header,.vehicle-workspace) { position: relative; z-index: 1; }
      body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-area { width: calc(100% + 36px); margin-left: -18px; }
      body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-carousel-shell,
      body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-carousel,
      body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-carousel-shell::before,
      body.vehicle-header-full-bleed [data-screen="inicio"] .wash-live-effect { border-radius: 0; }
      body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-carousel-shell::before { background: linear-gradient(90deg,rgba(19,10,39,.78) 0,rgba(20,11,38,.42) 39%,rgba(17,9,28,.02) 66%); }
      body.vehicle-header-full-bleed [data-screen="inicio"] .topbar { color: #fff; text-shadow: 0 2px 10px rgba(16,7,30,.5); }
      body.vehicle-header-full-bleed [data-screen="inicio"] .top-actions .icon-button { border-color: rgba(255,255,255,.78); color: var(--purple); background: #fff; text-shadow: none; box-shadow: 0 7px 18px rgba(20,7,35,.2); }
      body.vehicle-header-full-bleed [data-screen="inicio"] .demo-tools { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.94); box-shadow: 0 7px 18px rgba(20,7,35,.18); }
      body.vehicle-header-full-bleed [data-screen="inicio"] .demo-tools .temp-refresh-button { border-color: #eee5f5; color: var(--purple); background: #fff; }
      [data-screen="inicio"] .top-actions .icon-button { border-color: #fff; color: var(--purple); background: #fff; text-shadow: none; box-shadow: 0 7px 18px rgba(20,7,35,.18); }
      [data-screen="inicio"] .demo-tools { border-color: #fff; background: #fff; box-shadow: 0 7px 18px rgba(20,7,35,.16); }
      [data-screen="inicio"] .demo-tools .temp-refresh-button:not(.failed) { border-color: #eee5f5; color: var(--purple); background: #fff; }
      /* The native WKWebView runs edge-to-edge. Keep the real header clear of the
         iOS status bar/notch and expose the two vehicle-demo controls in TestFlight. */
      html.custodio-native-ios [data-screen="inicio"] .demo-tools { display: flex !important; }
      [data-screen="inicio"] .topbar .brand { min-width: 0; }
      [data-screen="inicio"] .topbar:has(.demo-tools) .brand-copy .brand-customer { max-width: 150px; }
      html.custodio-native-ios:is(.custodio-native-shell-17,.custodio-native-shell-18) body:is(.auth-pending,.custodio-native-startup-loading) #authGate { visibility:hidden!important; opacity:0!important; pointer-events:none!important; }
      html.custodio-native-ios:is(.custodio-native-shell-17,.custodio-native-shell-18).custodio-native-handoff-frozen *,
      html.custodio-native-ios:is(.custodio-native-shell-17,.custodio-native-shell-18).custodio-native-handoff-frozen *::before,
      html.custodio-native-ios:is(.custodio-native-shell-17,.custodio-native-shell-18).custodio-native-handoff-frozen *::after { animation-play-state:paused!important; transition:none!important; }
      html.custodio-native-ios [data-screen="inicio"] :is(.topbar,.brand,.brand-copy) { min-width: 0; }
      html.custodio-native-ios [data-screen="inicio"] .brand-customer { max-width: min(52vw,190px); }
      html.custodio-native-ios [data-screen="inicio"] .top-actions { flex: 0 0 auto; }
      /* Build 4 lets UIKit reserve the bottom safe area but its document-start
         fallback overrides the correct Home padding. Compensate only that
         installed shell; build 5 owns safe areas entirely in CSS. */
      html.custodio-native-ios.custodio-native-shell-4 .screen.active {
        padding-top: max(22px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
      }
      html.custodio-native-ios.custodio-native-shell-4 [data-screen="inicio"].active {
        padding-top: max(38px, calc(env(safe-area-inset-top, 0px) + 10px)) !important;
      }
      html.custodio-native-ios.custodio-native-shell-4 .bottom-nav-bar {
        bottom: calc(0px - env(safe-area-inset-bottom, 0px)) !important;
      }
      body.vehicle-header-full-bleed:is(.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"].active::before { height: 258px; }
      @media (max-height:650px) {
        html.custodio-native-ios.custodio-native-shell-4 [data-screen="inicio"].active {
          padding-top: max(34px, calc(env(safe-area-inset-top, 0px) + 8px)) !important;
        }
        body.vehicle-header-full-bleed [data-screen="inicio"] .vehicle-area { width: calc(100% + 24px); margin-left: -12px; }
        body.vehicle-header-full-bleed [data-screen="inicio"].active::before { height: 254px; }
        body.vehicle-header-full-bleed:is(.vehicle-workspace-agenda,.vehicle-workspace-plans,.vehicle-workspace-history) [data-screen="inicio"].active::before { height: 209px; }
      }

      /* Escala tipográfica legível para celular */
      .app-shell { font-size: 15px; line-height: 1.42; }
      .app-shell p, .app-shell li { font-size: 14px; }
      .app-shell small { font-size: 12px; line-height: 1.4; }
      .app-shell label { font-size: 14px; }
      .app-shell button, .app-shell .primary, .app-shell .outline { font-size: 14px; }
      .brand-copy strong { font-size: 15px; }
      .brand-copy span { font-size: 9px; }
      .page-head h1 { font-size: 20px; }
      .section-title, .section-head h2 { font-size: 15px; }
      .section-head a, .home-section-label { font-size: 12px; }
      .home-fidelity-section .section-head h2 { font-size: 12px; font-weight: 900; letter-spacing: .06em; line-height: 1.2; }
      [data-screen="inicio"] .home-greeting small { font-size: 12px; }
      [data-screen="inicio"] .home-greeting strong { font-size: 20px; }
      [data-screen="inicio"] .manage-vehicles-link { font-size: 11px; }
      [data-screen="inicio"] .vehicle-live-status { font-size: 12px !important; }
      [data-screen="inicio"] .vehicle-name { font-size: 13px !important; }
      .vehicle-finished-time, .vehicle-history-hint { font-size: 12px; }
      .vehicle-last-wash small { font-size: 11px; }
      .vehicle-last-wash strong { font-size: 12px; }
      .vehicle-progress-copy strong, .vehicle-progress-copy small { font-size: 10px; }
      .stat small { font-size: 11px; }
      .stat b { font-size: 12px; }
      .occupancy-live, .occupancy-wait strong, .occupancy-arrival strong { font-size: 13px; }
      .wait-reminder { font-size: 12px; }
      .quick strong, .option strong, .history-copy strong, .appointment-info strong,
      .benefit strong, .service-card strong, .profile-card strong { font-size: 14px; }
      .option-price, .primary, .outline, .notice, .profile-row, .promo { font-size: 13px; }
      .nav-item { font-size: 10px; }
      .vehicle-field input, .vehicle-field select, .vehicle-suggestions button { font-size: 16px; }
      .notification-sheet strong { font-size: 14px; }
      .notification-sheet span { font-size: 12px; }
      .coming-modal-close { font-size: 20px !important; }
      .plate::before { font-size: 5px; }
      .wash-brand-visual small { font-size: 9px; }
      .app-shell .loyalty-benefit small { font-size: 7px; line-height: 1.2; }
      [data-screen="inicio"] .occupancy.is-loading { min-height: 137px; grid-template-columns: 1fr; grid-template-rows: 1fr; padding: 12px 8px; }
      [data-screen="inicio"] .occupancy.is-loading .movement-card-loader { width: 100%; height: 100%; align-self: stretch; justify-self: stretch; text-align: center; }
      @media (max-height:650px) {
        [data-screen="inicio"] .occupancy.is-loading { min-height: 116px; padding: 8px 6px; }
      }

      body:is(.auth-pending,.auth-required) { overflow: hidden; }
      body:is(.auth-pending,.auth-required) > :is(.app-shell,.temp-refresh-button) { visibility: hidden; pointer-events: none; }
      .auth-gate { position: fixed; inset: 0; z-index: 500; overflow-x: hidden; overflow-y: auto; color: #21172c; background: #5313a5; }
      .auth-gate[hidden], .auth-step[hidden], .auth-feedback[hidden] { display: none !important; }
      .auth-shell { display: flex; width: min(100%,430px); min-height: 100%; margin: 0 auto; flex-direction: column; justify-content: center; padding: max(30px,calc(18px + env(safe-area-inset-top))) 20px max(30px,calc(20px + env(safe-area-inset-bottom))); background: radial-gradient(circle at 84% 16%,rgba(202,100,255,.28),transparent 34%),radial-gradient(circle at 8% 88%,rgba(255,90,37,.16),transparent 34%),linear-gradient(165deg,#46108f,#6818bd 62%,#7c1fc0); }
      .auth-brand { display: flex; align-items: center; justify-content: center; gap: 11px; margin: 0 auto 26px; color: #fff; }
      .auth-brand img { width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.32); border-radius: 17px; box-shadow: 0 13px 30px rgba(31,5,58,.28); }
      .auth-brand strong, .auth-brand small { display: block; }
      .auth-brand strong { font-size: 16px; font-weight: 950; letter-spacing: .035em; }
      .auth-brand small { margin-top: 3px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
      .auth-card { position: relative; width: 100%; padding: 27px 21px 22px; border: 1px solid rgba(255,255,255,.65); border-radius: 28px; background: #fff; box-shadow: 0 28px 70px rgba(28,4,53,.33); }
      .auth-step { animation: auth-step-in .32s cubic-bezier(.2,.75,.28,1) both; }
      .auth-eyebrow { display: block; margin-bottom: 9px; color: #741fc3; font-size: 10px; font-weight: 950; letter-spacing: .14em; }
      .auth-step h1 { margin: 0; color: #261c2e; font-size: 25px; line-height: 1.12; letter-spacing: -.025em; }
      .auth-step > p { margin: 9px 0 21px; color: #786e7f; font-size: 13px; line-height: 1.5; }
      .auth-form { display: grid; gap: 13px; }
      .auth-field { display: grid; gap: 7px; color: #493f50; font-size: 12px; font-weight: 850; }
      .auth-field input, .auth-phone-control { width: 100%; min-height: 54px; border: 1px solid #dcd3e2; border-radius: 14px; color: #251d2b; background: #fff; outline: none; }
      .auth-field input { padding: 12px 14px; font-size: 16px; }
      .auth-field input:focus, .auth-phone-control:focus-within { border-color: #7621c5; box-shadow: 0 0 0 4px rgba(109,32,197,.1); }
      .auth-phone-control { display: grid; grid-template-columns: auto 1fr; align-items: center; overflow: hidden; }
      .auth-phone-prefix { display: grid; min-height: 52px; place-items: center; padding: 0 13px; border-right: 1px solid #e5dfe9; color: #6c6173; background: #f7f3f9; font-size: 15px; font-weight: 900; }
      .auth-phone-control input { min-width: 0; min-height: 52px; border: 0; border-radius: 0; box-shadow: none !important; }
      .auth-primary { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; margin-top: 3px; padding: 12px 16px; border-radius: 14px; color: #fff; background: linear-gradient(105deg,#6517b8,#9724cf 62%,#f4512d); box-shadow: 0 12px 25px rgba(107,25,184,.22); font-size: 13px; font-weight: 950; letter-spacing: .025em; cursor: pointer; }
      .auth-primary:disabled { cursor: wait; opacity: .68; }
      .auth-primary.loading::after { width: 15px; height: 15px; margin-left: 8px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: auth-spin .7s linear infinite; content: ""; }
      .auth-helper { margin: 0 !important; color: #8a818f !important; font-size: 11px !important; line-height: 1.45 !important; text-align: center; }
      .auth-phone-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 16px; padding: 11px 12px; border-radius: 12px; color: #55495e; background: #f5eff9; font-size: 13px; font-weight: 900; }
      .auth-consent-list { display:grid; gap:10px; margin-top:2px; padding:12px; border:1px solid #e4d9e9; border-radius:14px; background:#faf7fc; }
      .auth-consent-option { display:grid; grid-template-columns:19px minmax(0,1fr); gap:9px; align-items:start; color:#55495e; font-size:10px; font-weight:760; line-height:1.4; cursor:pointer; }
      .auth-consent-option input { width:18px; height:18px; margin:0; accent-color:#7621c5; }
      .auth-consent-option small { display:block; margin-top:2px; color:#8a7d90; font-size:8px; font-weight:650; }
      .auth-consent-privacy { margin:0; color:#8a7d90; font-size:8px; line-height:1.4; text-align:left; }
      .auth-consent-privacy a { color:#7621c5; font-weight:850; }
      .auth-login-privacy { margin:0 !important; color:#8a7d90 !important; font-size:9px !important; line-height:1.45 !important; text-align:center; }
      .auth-login-privacy a { color:#7621c5; font-weight:850; }
      .auth-link { padding: 5px 0; color: #7120bd; background: transparent; font-size: 11px; font-weight: 900; cursor: pointer; }
      .auth-code-input { height: 64px; padding-left: 18px !important; color: #4f138f !important; font-size: 28px !important; font-weight: 950; letter-spacing: .32em; text-align: center; }
      .auth-code-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #857a8b; font-size: 11px; }
      .auth-code-meta button { color: #6d20c5; background: transparent; font-size: 11px; font-weight: 900; cursor: pointer; }
      .auth-code-meta button:disabled { color: #a59ca9; cursor: default; }
      .auth-feedback { margin: 14px 0 0; padding: 10px 11px; border-radius: 11px; color: #a32139; background: #fff0f2; font-size: 11px; font-weight: 800; line-height: 1.4; text-align: center; }
      .auth-feedback.success { color: #167443; background: #e7f7ed; }
      .auth-loading { display: grid; min-height: 210px; place-content: center; justify-items: center; text-align: center; }
      .auth-loader { width: 43px; height: 43px; margin-bottom: 18px; border: 4px solid #eadcf5; border-top-color: #7420c3; border-radius: 50%; animation: auth-spin .75s linear infinite; }
      .auth-loading h1 { font-size: 20px; }
      .auth-loading > p { max-width: 260px; margin-bottom: 0; }
      .auth-error-mark { display: grid; width: 54px; height: 54px; margin-bottom: 16px; place-items: center; border-radius: 17px; color: #fff; background: #b83349; box-shadow: 0 11px 24px rgba(184,51,73,.22); font-size: 25px; font-weight: 950; }
      .profile-logout { width: 100%; cursor: pointer; }
      .profile-logout:disabled { cursor: wait; opacity: .65; }
      @keyframes auth-spin { to { transform: rotate(360deg); } }
      @keyframes auth-step-in { from { opacity: 0; transform: translateY(7px) } to { opacity: 1; transform: translateY(0) } }

      @media (min-width:700px) {
        body { padding: 0; }
        .app-shell { min-height: 100dvh; border: 0; border-radius: 0; }
        .temp-refresh-button { right: calc((100vw - 430px)/2 + 7px); }
        .temp-animation-button { right: calc((100vw - 430px)/2 + 49px); }
        .temp-clean-button { right: calc((100vw - 430px)/2 + 91px); }
        .temp-status-button { right: calc((100vw - 430px)/2 + 133px); }
        .bottom-nav { width: 430px; }
        .notification-sheet { bottom: 78px; }
      }
      .appointment-extras { margin: 17px 0 15px; padding: 15px; border: 1px solid rgba(117,35,160,.15); border-radius: 19px; background: linear-gradient(145deg,#fff,#faf5fc); box-shadow: 0 10px 25px rgba(58,17,82,.07); }
      .appointment-extras-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
      .appointment-extras-head small { display:block; color:#8b6f98; font-size:9px; font-weight:900; letter-spacing:.13em; }
      .appointment-extras-head h2 { margin:3px 0 0; color:#28182e; font-size:18px; }
      .appointment-extras-head > b { padding:5px 8px; border-radius:8px; color:#7424a2; background:#f0e3f7; font-size:9px; letter-spacing:.08em; }
      .appointment-extras-list { display:grid; gap:8px; }
      .appointment-extra { position:relative; display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; min-height:65px; padding:11px 12px; border:1px solid #e7dde9; border-radius:14px; background:#fff; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
      .appointment-extra:has(input:checked) { border-color:#9a45c4; box-shadow:0 7px 18px rgba(113,31,153,.12); transform:translateY(-1px); }
      .appointment-extra input { position:absolute; opacity:0; pointer-events:none; }
      .appointment-extra-copy strong,.appointment-extra-copy small { display:block; }
      .appointment-extra-copy strong { color:#33263a; font-size:13px; }
      .appointment-extra-copy small { margin-top:3px; color:#817486; font-size:11px; line-height:1.35; }
      .appointment-extra-price { display:grid; justify-items:end; gap:5px; color:#6f1da0; font-size:12px; font-weight:900; white-space:nowrap; }
      .appointment-extra-price small { color:#88758f; font-size:9px; font-weight:850; }
      .appointment-extra-price i { display:grid; place-items:center; width:22px; height:22px; border:2px solid #d8c9dd; border-radius:50%; color:transparent; font-style:normal; }
      .appointment-extra input:checked ~ .appointment-extra-price i { color:#fff; border-color:#842ab2; background:#842ab2; }
      .appointment-extra.quote .appointment-extra-price { color:#bd6d08; }
      .appointment-order-summary { display:grid; gap:6px; margin-top:11px; padding:11px 12px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#331445,#702597); }
      .appointment-order-summary:empty { display:none; }
      .appointment-order-summary div { display:flex; justify-content:space-between; gap:12px; font-size:11px; }
      .appointment-order-summary div.duration { margin-top:3px; padding:8px 9px; border-radius:9px; color:#47225a; background:rgba(255,255,255,.92); font-weight:850; }
      .appointment-order-summary div.total { padding-top:7px; border-top:1px solid rgba(255,255,255,.2); font-size:13px; font-weight:900; }
      .appointment-order-summary small { color:rgba(255,255,255,.72); font-size:9px; line-height:1.4; }
      .appointment-loyalty-points { display:inline-flex; align-items:center; gap:4px; width:max-content; min-height:24px; padding:4px 7px; border-radius:999px; color:#7424a2; background:#f5eafb; font-size:9px; font-style:normal; font-weight:900; line-height:1; white-space:nowrap; }
      .appointment-loyalty-points i { color:#f1a326; font-size:12px; font-style:normal; }
      .appointment-loyalty-points b { font-size:10px; }
      .appointment-loyalty-points small { color:#9d5e11; font-size:8px; font-weight:900; }
      .appointment-loyalty-points em { color:#876f92; font-size:7px; font-style:normal; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
      .appointment-package > .appointment-loyalty-points { margin-top:auto; }
      .appointment-extra-copy .appointment-loyalty-points { margin-top:7px; }
      .appointment-order-summary .loyalty-total { align-items:center; margin-top:2px; padding-top:7px; border-top:1px solid rgba(255,255,255,.2); }
      .appointment-order-summary .loyalty-total > span:first-child { align-self:center; font-weight:850; }
      .appointment-order-summary .loyalty-total .appointment-loyalty-points { flex:0 0 auto; }
      /* Agenda compacta: o veículo e a modalidade vêm do contexto anterior. */
      [data-screen="agendar"] .page-head { margin-bottom: 15px; }
      [data-screen="agendar"] .appointment-form-shell,
      [data-screen="agendar"] #appointmentForm { width:100%; min-width:0; gap:0; }
      .appointment-booking-context { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:8px; margin-bottom:18px; }
      .appointment-booking-context > span { position:relative; display:grid; min-height:68px; align-content:center; padding:11px 13px; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:16px; color:#35213f; background:linear-gradient(145deg,#fff,#f8f1fb); box-shadow:0 10px 25px rgba(39,8,67,.16); }
      .appointment-booking-context small { margin-bottom:4px; color:#8a6999; font-size:8px; font-weight:950; letter-spacing:.12em; }
      .appointment-booking-context strong { overflow:hidden; font-size:13px; font-weight:950; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
      .appointment-context-vehicle em { margin-top:3px; color:#743099; font-size:10px; font-style:normal; font-weight:850; letter-spacing:.05em; }
      .appointment-context-mode { min-width:116px; padding-right:36px !important; }
      .appointment-context-mode i { position:absolute; top:50%; right:12px; display:grid; width:25px; height:25px; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(145deg,#7621b8,#a52dc5); box-shadow:0 6px 13px rgba(94,25,137,.2); font-size:14px; font-style:normal; font-weight:950; transform:translateY(-50%); }
      .appointment-section-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:21px 1px 10px; color:#fff; }
      .appointment-section-head small { display:block; color:rgba(255,255,255,.62); font-size:8px; font-weight:950; letter-spacing:.14em; }
      .appointment-section-head h2 { margin:4px 0 0; font-size:18px; font-weight:950; line-height:1.12; letter-spacing:-.02em; }
      .appointment-section-head > b { flex:0 0 auto; padding:5px 8px; border:1px solid rgba(255,255,255,.22); border-radius:99px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.1); font-size:8px; font-weight:900; letter-spacing:.04em; }
      [data-screen="agendar"] .option-list { gap:11px; }
      .appointment-package { --package-accent:#7723bb; position:relative; display:grid; gap:10px; min-height:132px; padding:14px; overflow:hidden; border:1px solid rgba(114,31,166,.13); border-radius:20px; color:#302437; background:linear-gradient(145deg,#fff 0%,#fcf9fd 73%,#f3e8fa 100%); box-shadow:0 11px 27px rgba(45,10,70,.09); cursor:pointer; isolation:isolate; }
      .appointment-package::after { position:absolute; right:-42px; bottom:-58px; z-index:-1; width:135px; height:135px; border-radius:50%; background:color-mix(in srgb,var(--package-accent) 12%,transparent); content:""; }
      .appointment-package.package-complete { --package-accent:#9252d4; background:linear-gradient(145deg,#fff 0%,#fbf7ff 64%,#f0e4fb 100%); }
      .appointment-package.package-premium { --package-accent:#f45b32; background:linear-gradient(145deg,#fff 0%,#fff8f3 64%,#ffe9de 100%); }
      .appointment-package input { position:absolute; opacity:0; pointer-events:none; }
      .appointment-package-top { display:grid; grid-template-columns:36px minmax(0,1fr) auto 24px; gap:10px; align-items:center; }
      .appointment-package-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:12px; color:var(--package-accent); background:color-mix(in srgb,var(--package-accent) 11%,white); font-size:15px; font-weight:950; }
      .appointment-package-title small,.appointment-package-title strong { display:block; }
      .appointment-package-title small { margin-bottom:2px; color:var(--package-accent); font-size:8px; font-weight:950; letter-spacing:.11em; }
      .appointment-package-title strong { color:#2c2131; font-size:14px; font-weight:950; line-height:1.15; }
      .appointment-package-price { color:#2f2534; font-size:14px; font-weight:950; white-space:nowrap; }
      .appointment-package-price small { display:block; margin-top:3px; color:#8a7b8e; font-size:8px; font-weight:850; text-align:right; }
      .appointment-package-check { display:grid; width:23px; height:23px; place-items:center; border:2px solid #d8ccdd; border-radius:50%; color:transparent; background:#fff; font-size:11px; font-style:normal; font-weight:950; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
      .appointment-package-description { margin:0; color:#756a7a; font-size:10px; line-height:1.35; }
      .appointment-package-features { display:flex; flex-wrap:wrap; gap:5px 11px; margin:0; padding:0; list-style:none; }
      .appointment-package-features li { position:relative; padding-left:13px; color:#53485a; font-size:9px; font-weight:780; line-height:1.3; }
      .appointment-package-features li::before { position:absolute; top:0; left:0; color:var(--package-accent); content:"✓"; font-weight:950; }
      .appointment-package:has(input:checked) { border-color:var(--package-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--package-accent) 18%,transparent),0 14px 30px rgba(52,13,76,.14); transform:translateY(-1px); }
      .appointment-package input:checked ~ .appointment-package-top .appointment-package-check { border-color:var(--package-accent); color:#fff; background:var(--package-accent); transform:scale(1.04); }
      .appointment-extras { margin-top:19px; border-radius:20px; }
      .appointment-extra { min-height:62px; padding:10px 11px; }
      .appointment-extra-price i { width:24px; height:24px; }
      .appointment-extra:has(input:checked) .appointment-extra-copy strong { color:#661b91; }
      .appointment-extra.included { cursor:default; border-color:#d8bee3; background:linear-gradient(145deg,#fff,#f8effb); }
      .appointment-extra.included .appointment-extra-copy strong { color:#5f2577; }
      .appointment-extra.included .appointment-extra-price { grid-template-columns:auto auto; align-items:center; column-gap:6px; }
      .appointment-extra.included .appointment-extra-price del { color:#a59aa9; font-size:10px; font-weight:800; text-decoration-color:#8a5c9d; text-decoration-thickness:2px; }
      .appointment-extra.included .appointment-extra-price > b { padding:4px 6px; border-radius:7px; color:#fff; background:#7726a3; font-size:8px; letter-spacing:.04em; }
      .appointment-extra.included .appointment-extra-price i { grid-column:1/-1; justify-self:end; border-color:#7726a3; color:#fff; background:#7726a3; }
      .appointment-schedule-head { margin-top:22px; }
      [data-screen="agendar"] .date-grid { display:grid; width:100%; min-width:0; max-width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:0; padding:1px 0 7px; overflow:visible; }
      [data-screen="agendar"] .date-grid::-webkit-scrollbar { display:none; }
      [data-screen="agendar"] .date { width:100%; min-width:0; min-height:70px; padding:7px 2px; border:1px solid rgba(255,255,255,.25); border-radius:15px; color:#514755; background:#fff; box-shadow:0 8px 20px rgba(39,10,61,.08); }
      [data-screen="agendar"] .date > span > span { font-size:9px; font-weight:900; letter-spacing:.04em; }
      [data-screen="agendar"] .date b { margin:3px 0 2px; font-size:18px; }
      [data-screen="agendar"] .date small { font-size:8px; font-weight:800; }
      [data-screen="agendar"] .date:has(input:checked) { border-color:#fff; color:#fff; background:linear-gradient(145deg,#7020bd,#9d28d2); box-shadow:0 9px 22px rgba(66,12,108,.25); }
      .appointment-time-label { margin:10px 1px 7px; color:rgba(255,255,255,.65); font-size:8px; font-weight:950; letter-spacing:.13em; }
      [data-screen="agendar"] .time-grid { gap:7px; }
      [data-screen="agendar"] .time { min-height:39px; padding:5px 2px; border:1px solid rgba(255,255,255,.2); border-radius:12px; color:#514755; background:#fff; box-shadow:0 7px 17px rgba(39,10,61,.07); font-size:11px; }
      [data-screen="agendar"] .time:has(input:checked) { border-color:#fff; color:#fff; background:linear-gradient(145deg,#7020bd,#9326cb); box-shadow:0 8px 20px rgba(63,12,102,.24); }
      [data-screen="agendar"] .appointment-note { margin-top:12px !important; }
      [data-screen="agendar"] #appointmentSubmit { width:100%; min-height:50px; margin:13px 0 22px; border:0; border-radius:15px; font-size:12px; letter-spacing:.02em; }
      @media (max-width:360px) {
        [data-screen="agendar"] .date-grid { gap:4px; }
        [data-screen="agendar"] .date { min-height:66px; padding-right:1px; padding-left:1px; }
        [data-screen="agendar"] .date > span > span { font-size:8px; }
        [data-screen="agendar"] .date b { font-size:16px; }
        .appointment-booking-context { grid-template-columns:1fr; }
        .appointment-context-mode { min-height:50px !important; }
        .appointment-package-top { grid-template-columns:32px minmax(0,1fr) auto 22px; gap:7px; }
        .appointment-package-icon { width:32px; height:32px; }
        .appointment-package-price { font-size:12px; }
      }
      .appointment-detail-quote { display:grid; gap:10px; padding:13px; border:1px solid #edd7aa; border-radius:15px; background:linear-gradient(145deg,#fff9ec,#fff); }
      .appointment-detail-quote[hidden] { display:none; }
      .appointment-detail-quote header { display:flex; justify-content:space-between; gap:10px; }
      .appointment-detail-quote header small { color:#9a7441; font-size:8px; font-weight:950; letter-spacing:.11em; }
      .appointment-detail-quote header strong { display:block; margin-top:3px; color:#3a2820; font-size:13px; }
      .appointment-detail-quote header b { align-self:start; padding:5px 7px; border-radius:7px; color:#9b5b06; background:#ffebc8; font-size:8px; }
      .appointment-detail-quote p { margin:0; color:#74666a; font-size:11px; line-height:1.45; }
      .appointment-detail-quote .quote-value { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #efe1c7; border-bottom:1px solid #efe1c7; }
      .appointment-detail-quote .quote-value span { color:#826f70; font-size:10px; font-weight:800; }
      .appointment-detail-quote .quote-value strong { color:#662487; font-size:20px; }
      .appointment-detail-quote .quote-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
      .appointment-detail-quote button { min-height:42px; padding:0 9px; border:0; border-radius:11px; color:#fff; background:#6f1c9b; font-size:10px; font-weight:950; }
      .appointment-detail-quote button.decline { color:#8b4750; border:1px solid #e8cfd2; background:#fff; }
      @media (max-width:390px) { .appointment-extras { padding:12px; } .appointment-extra { min-height:61px; } }
      /* Clube Custodio */
      [data-screen="fidelidade"] { padding-bottom: 110px; }
      .club-cycle-note { display:flex;align-items:center;gap:11px;margin-top:10px;padding:13px 14px; }
      .club-cycle-note>span { display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:#f1e6fb;color:var(--purple);font-size:17px; }
      .club-cycle-note>div { display:grid;flex:1;gap:2px; }.club-cycle-note strong{font-size:10px}.club-cycle-note small,.club-cycle-note time{color:var(--ink-soft);font-size:7px}.club-cycle-note time{font-weight:800;text-align:right}
      .club-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.club-benefits article{display:flex;align-items:center;gap:9px;padding:12px}.club-benefits i{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#f0e4fb;color:var(--purple);font-style:normal}.club-benefits span{display:grid;gap:2px}.club-benefits strong{font-size:8px}.club-benefits small{font-size:6.5px;color:var(--ink-soft)}
      .club-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:19px 2px 9px;color:#fff}.club-section-head span{display:grid;gap:3px}.club-section-head small{font-size:6px;font-weight:900;letter-spacing:.14em;opacity:.72}.club-section-head h2{margin:0;font-size:14px}.club-section-head>b{padding:5px 8px;border:1px solid rgba(255,255,255,.3);border-radius:99px;font-size:6px;letter-spacing:.05em}
      .club-catalog,.club-vouchers{display:grid;gap:8px}.club-reward{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;overflow:hidden}.club-reward>i{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:linear-gradient(145deg,#6f17bd,#b72bd2);color:#fff;font-style:normal;font-size:17px}.club-reward>span{display:grid;gap:3px}.club-reward strong{font-size:9px}.club-reward small{font-size:6.5px;color:var(--ink-soft)}.club-reward button{min-width:76px;padding:9px;border:0;border-radius:11px;background:#f0e4fb;color:var(--purple);font-size:7px;font-weight:900}.club-reward button:disabled{color:#9d94a4;background:#eeeaf0}.club-reward-points{color:var(--purple)!important;font-weight:900}
      .club-voucher{display:flex;align-items:center;gap:10px;padding:12px}.club-voucher>i{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#f5e9c9;color:#9b6912;font-style:normal}.club-voucher span{display:grid;flex:1;gap:2px}.club-voucher strong{font-size:9px}.club-voucher small{font-size:6.5px;color:var(--ink-soft)}.club-voucher b{font-size:9px;color:var(--purple)}.club-empty{padding:15px;text-align:center;color:var(--ink-soft);font-size:8px}
      .club-ledger{padding:4px 13px}.club-ledger-row{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px 0;border-bottom:1px solid #eee8f2}.club-ledger-row:last-child{border:0}.club-ledger-row strong{font-size:8px}.club-ledger-row small{font-size:6.5px;color:var(--ink-soft)}.club-ledger-row b{grid-row:1/3;grid-column:2;align-self:center;font-size:9px}.club-ledger-row b.positive{color:#159366}.club-ledger-row b.negative{color:#c24351}
      .club-level-trigger{position:relative;width:100%;border:0;color:#fff;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.club-level-trigger:active{transform:scale(.992)}.club-level-trigger:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:3px}.club-level-trigger .club-level-hint{display:inline-flex;align-items:center;gap:5px;margin-top:11px;padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:99px;color:#fff;background:rgba(255,255,255,.12);font-size:7px;font-weight:900;letter-spacing:.08em}.club-level-trigger .club-level-hint i{font-style:normal;font-size:11px;line-height:1}
      .club-levels-modal[hidden]{display:none!important}.club-levels-panel{width:min(100%,430px);max-height:min(82vh,690px);padding:0;overflow:hidden;background:#f8f5fa}.club-levels-head{position:relative;padding:22px 55px 18px 19px;color:#fff;background:linear-gradient(140deg,#47107f,#7c20bc 58%,#ad35cf)}.club-levels-head small{display:block;font-size:7px;font-weight:950;letter-spacing:.15em;opacity:.72}.club-levels-head h2{margin:5px 0 3px;color:#fff;font-size:21px}.club-levels-head p{margin:0;color:rgba(255,255,255,.78);font-size:10px}.club-levels-close{position:absolute;top:16px;right:16px;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:rgba(255,255,255,.12);font-size:21px;cursor:pointer}.club-levels-body{display:grid;gap:9px;max-height:calc(min(82vh,690px) - 101px);padding:13px 13px calc(15px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.club-level-option{--level-color:#7a20c7;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:13px;border:1px solid #e6dfeb;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(36,16,50,.06)}.club-level-option.current{border-color:var(--level-color);box-shadow:0 10px 24px rgba(56,22,73,.13)}.club-level-medal{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#fff;background:var(--level-color);font-size:18px;font-style:normal;box-shadow:0 8px 16px rgba(50,24,66,.16)}.club-level-option header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.club-level-option header span{display:grid;gap:2px}.club-level-option header strong{color:#2e2433;font-size:14px}.club-level-option header small{color:#817687;font-size:7px;font-weight:800}.club-level-current{padding:4px 7px;border-radius:99px;color:#fff;background:var(--level-color);font-size:6px;font-weight:950;letter-spacing:.08em}.club-level-perks{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.club-level-perks span{padding:5px 7px;border-radius:8px;color:#633078;background:#f4edf7;font-size:7px;font-weight:800}.club-levels-note{padding:11px 13px;border-radius:13px;color:#6c5f73;background:#eee8f1;font-size:8px;line-height:1.45;text-align:center}
      #clubLevelsList { display:grid; gap:9px; }
      /* Tabela de preços personalizada pelo veículo selecionado */
      [data-screen="precos"] { padding-bottom:max(102px,calc(88px + env(safe-area-inset-bottom))); }
      .price-page-head { margin-bottom:14px; }
      .price-stage { position:relative; min-height:226px; margin-bottom:18px; overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:24px; background:linear-gradient(180deg,rgba(20,8,31,.02),rgba(18,7,29,.2)),url("./assets/price/custodio-price-lot-v1.webp") center 54% / cover no-repeat; box-shadow:0 18px 38px rgba(31,6,50,.23); isolation:isolate; }
      .price-stage::after { position:absolute; inset:auto 0 0; z-index:4; height:42%; background:linear-gradient(180deg,transparent,rgba(35,8,49,.2)); content:""; pointer-events:none; }
      .price-stage-brand { position:absolute; top:14px; left:15px; z-index:6; display:grid; gap:1px; padding:8px 10px; border:1px solid rgba(255,255,255,.38); border-radius:13px; color:#fff; background:rgba(35,13,46,.5); box-shadow:0 7px 20px rgba(12,5,17,.16); backdrop-filter:blur(8px); }
      .price-stage-brand small { font-size:7px; font-weight:950; letter-spacing:.13em; }
      .price-stage-brand strong { max-width:175px; overflow:hidden; font-size:12px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
      .price-stage-plate { position:absolute; top:14px; right:14px; z-index:6; padding:8px 10px 6px; border:1px solid rgba(255,255,255,.48); border-radius:9px; color:#221c25; background:#fff; box-shadow:0 7px 18px rgba(12,6,18,.2); font-size:11px; font-weight:950; letter-spacing:.08em; }
      .price-stage-ground-logo { position:absolute; right:23%; bottom:13px; z-index:1; width:118px; opacity:.33; filter:brightness(0) saturate(100%) invert(22%) sepia(87%) saturate(2736%) hue-rotate(258deg) brightness(76%); transform:perspective(220px) rotateX(65deg) rotateZ(-5deg); transform-origin:center bottom; }
      .price-stage-car { position:absolute; right:4%; bottom:-7px; z-index:3; width:88%; height:73%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 15px 10px rgba(19,8,24,.35)); }
      .price-stage-car.moto { right:8%; width:78%; height:79%; }
      .price-stage-empty { position:absolute; right:12px; bottom:12px; z-index:5; display:grid; width:min(67%,220px); min-height:72px; place-items:center; padding:12px; border:1px solid rgba(255,255,255,.35); border-radius:16px; color:#fff; background:rgba(35,14,44,.55); font-size:10px; font-weight:850; text-align:center; backdrop-filter:blur(8px); }
      .price-section-head { display:flex; align-items:end; justify-content:space-between; gap:10px; margin:20px 2px 9px; color:#fff; }
      .price-section-head span { display:grid; gap:3px; }
      .price-section-head small { font-size:7px; font-weight:950; letter-spacing:.14em; opacity:.72; }
      .price-section-head h2 { margin:0; font-size:18px; line-height:1.1; }
      .price-section-head b { padding:5px 8px; border:1px solid rgba(255,255,255,.26); border-radius:99px; font-size:7px; letter-spacing:.05em; }
      .price-package-list { display:grid; gap:10px; }
      .price-package { --price-accent:#7621bc; position:relative; display:grid; gap:9px; min-height:132px; padding:15px 14px 14px; overflow:hidden; border:1px solid rgba(111,35,154,.15); border-radius:21px; color:#302633; background:linear-gradient(145deg,#fff 0%,#fbf8fc 72%,#f1e5f8 100%); box-shadow:0 12px 28px rgba(34,9,53,.12); text-decoration:none; isolation:isolate; }
      .price-package::after { position:absolute; right:-48px; bottom:-70px; z-index:-1; width:165px; height:165px; border-radius:50%; background:color-mix(in srgb,var(--price-accent) 12%,transparent); content:""; }
      .price-package.complete { --price-accent:#8f39c7; }
      .price-package.premium { --price-accent:#f15b34; background:linear-gradient(145deg,#fff 0%,#fff9f4 67%,#ffe9dc 100%); }
      .price-package-head { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:center; }
      .price-package-number { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:var(--price-accent); background:color-mix(in srgb,var(--price-accent) 11%,white); font-size:14px; font-weight:950; }
      .price-package-title { display:grid; gap:2px; }
      .price-package-title small { color:var(--price-accent); font-size:7px; font-weight:950; letter-spacing:.12em; }
      .price-package-title strong { font-size:15px; line-height:1.1; }
      .price-package-price { color:#2f2633; font-size:17px; font-weight:950; white-space:nowrap; }
      .price-package p { margin:0; color:#756a77; font-size:10px; line-height:1.35; }
      .price-package-features { display:flex; flex-wrap:wrap; gap:5px 11px; margin:0; padding:0; list-style:none; }
      .price-package-features li { position:relative; padding-left:13px; color:#554a58; font-size:8px; font-weight:800; }
      .price-package-features li::before { position:absolute; left:0; color:var(--price-accent); content:"✓"; font-weight:950; }
      .price-package-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }
      .price-package-points { display:flex; align-items:center; gap:5px; color:#7b23b5; font-size:8px; font-weight:900; }
      .price-package-points i { color:#efae2e; font-style:normal; }
      .price-package-cta { display:inline-flex; align-items:center; gap:5px; color:var(--price-accent); font-size:8px; font-weight:950; letter-spacing:.04em; }
      .price-extra-list { display:grid; gap:8px; }
      .price-extra { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; align-items:center; min-height:72px; padding:12px 13px; border:1px solid rgba(102,38,139,.11); border-radius:17px; color:#302633; background:#fff; box-shadow:0 8px 21px rgba(34,9,53,.08); text-decoration:none; }
      .price-extra span { display:grid; gap:3px; }
      .price-extra strong { font-size:11px; }
      .price-extra small { color:#817684; font-size:8px; line-height:1.35; }
      .price-extra b { color:#7522a8; font-size:11px; white-space:nowrap; }
      .price-extra em { grid-column:1/-1; color:#8a24b7; font-size:7px; font-style:normal; font-weight:850; }
      .price-promotion-list { display:grid; gap:10px; }
      .price-promotion { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:116px; padding:14px; overflow:hidden; border:0; border-radius:21px; color:#2f2533; background:linear-gradient(145deg,#fff,#fbf7fc 68%,#efe1f6); box-shadow:0 12px 28px rgba(34,9,53,.13); cursor:pointer; text-align:left; }
      .price-promotion.uber { color:#fff; background:linear-gradient(145deg,#0b0b0d,#17151a); }
      .price-promotion-mark { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; color:#fff; background:linear-gradient(145deg,#7117bb,#a927cf); font-size:16px; font-weight:950; }
      .price-promotion.uber .price-promotion-mark { color:#111; background:#fff; font-size:10px; }
      .price-promotion-copy { display:grid; gap:3px; min-width:0; }
      .price-promotion-copy small { color:#8e7d93; font-size:7px; font-weight:950; letter-spacing:.1em; }
      .price-promotion.uber .price-promotion-copy small { color:rgba(255,255,255,.56); }
      .price-promotion-copy strong { font-size:12px; line-height:1.25; }
      .price-promotion-copy em { color:#817584; font-size:8px; font-style:normal; }
      .price-promotion.uber .price-promotion-copy em { color:rgba(255,255,255,.6); }
      .price-promotion-value { display:grid; justify-items:end; gap:9px; font-size:13px; font-weight:950; white-space:nowrap; }
      .price-promotion-value i { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:#7b20be; font-size:16px; font-style:normal; }
      .price-promotion.uber .price-promotion-value i { color:#111; background:#fff; }
      .price-catalog-empty { padding:16px; border-radius:18px; color:#766b7a; background:#fff; font-size:10px; text-align:center; }
      @media (max-width:360px) { .price-stage { min-height:205px; }.price-stage-car { width:93%; }.price-package-head { grid-template-columns:31px minmax(0,1fr) auto; gap:7px; }.price-package-number { width:31px;height:31px }.price-package-price{font-size:14px}.price-promotion{grid-template-columns:42px minmax(0,1fr) auto;padding:11px}.price-promotion-mark{width:42px;height:42px}.price-promotion-value{font-size:11px} }
    
/* Visit payment: only the exact authenticated visit is rendered here. */
.visit-payment{max-width:520px;margin:0 auto;display:grid;gap:16px;padding-bottom:28px}
.visit-payment-back{color:#652491;text-decoration:none;font-weight:700}
.visit-payment .card{padding:22px;border-radius:22px}
.visit-payment-visit{text-align:center}
.visit-payment-photo{height:190px;display:grid;place-items:center;margin-bottom:12px;color:#777;font-size:13px}
.visit-payment-photo img{width:100%;height:190px;object-fit:contain}
.visit-payment-visit h2{font-size:20px;margin:8px 0}
.visit-payment-plate{display:inline-block;font-size:20px;letter-spacing:2px;color:#52236b}
.visit-payment-visit p{margin:8px 0}.visit-payment-visit small{color:#716978}
.visit-payment-price{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;border-top:1px solid #eee6f2;padding-top:18px;margin-top:20px}
.visit-payment-price strong{white-space:nowrap;font-size:26px;color:#61258d}
.visit-payment-state:empty{display:none}.visit-payment-state{font-weight:700;color:#61258d}
.visit-payment-form{display:grid;gap:16px}.visit-payment-form h3{margin:0}
.visit-payment-choice{display:flex!important;align-items:center;gap:12px;padding:14px;border:1px solid #ddd0e5;border-radius:14px;cursor:pointer}
.visit-payment-choice:has(input:checked){border-color:#73299d;background:#f7f0fc}
.visit-payment-choice input{width:20px!important;height:20px;accent-color:#73299d}
.visit-payment-choice span{display:grid;gap:4px}.visit-payment-choice small{font-size:12px;color:#74667b}
.visit-payment-form label{display:grid;gap:8px;font-size:14px}
.visit-payment-form input:not([type=radio]),.visit-payment-form select,.visit-payment-cvv{height:46px;width:100%;box-sizing:border-box;border:1px solid #d9cbe2;border-radius:10px;padding:10px;font:inherit;background:#fff}
.visit-payment-cvv{margin:8px 0 14px}.visit-payment-form .primary,.visit-payment-pix .primary{width:100%;min-height:48px}
.visit-payment-pix{text-align:center}.visit-payment-pix p{font-size:14px;color:#6c6173}
.visit-payment-qr{max-width:276px;margin:auto;background:#fff}.visit-payment-qr svg{display:block;width:100%;height:auto}
.visit-payment-pix textarea{width:100%;box-sizing:border-box;border:1px solid #d9cbe2;border-radius:10px;padding:10px;margin-bottom:12px;resize:none;font:12px monospace}
.visit-payment-error{padding:14px;border-radius:12px;background:#ffefef;color:#9a2222;font-size:14px}
.visit-payment [hidden]{display:none!important}
