@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-variable-latin.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/material-symbols-outlined.v3.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}:root{--background: #f3f5fa;--foreground: #131c34;--card: #ffffff;--card-foreground: #131c34;--card-elevated: #ffffff;--secondary: #e7ebf3;--muted: #f3f5fa;--muted-foreground: #5b6880;--destructive: #c53030;--destructive-foreground: #ffffff;--border: #e2e7f0;--input: #97a3b8;--ring: #15799f;--primary: #131c34;--primary-foreground: #ffffff;--brand-navy: #0f1b3d;--brand-cyan: #3db4e8;--brand-cyan-strong: #15799f;--brand-teal: #00c9a7;--brand-orange: #f5911e;--brand-orange-strong: #9c5a0e;--success: #2c7a51;--success-foreground: #ffffff;--warning: #f5911e;--warning-foreground: #1a1403;--info: #2b6cb0;--info-foreground: #ffffff;--radius-card: 20px;--radius-ctrl: 14px;--radius-pill: 9999px;--radius-full: 9999px;--shadow-card: 0 1px 2px rgb(15 27 61 / .05);--shadow-float: 0 12px 32px -8px rgb(15 27 61 / .18);--shadow-cta: 0 10px 28px -8px rgb(245 145 30 / .45);--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}.dark{--background: #09090b;--foreground: #f4f4f5;--card: #151518;--card-foreground: #f4f4f5;--card-elevated: #1d1d21;--secondary: #26262b;--muted: #09090b;--muted-foreground: #a1a1aa;--destructive: #f87171;--destructive-foreground: #1a0606;--border: rgba(255, 255, 255, .09);--input: #3f3f46;--ring: #5fc3ee;--primary: #f4f4f5;--primary-foreground: #09090b;--brand-orange: #d97a34;--brand-cyan-strong: #5fc3ee;--brand-orange-strong: #e8965a;--success: #48bb78;--success-foreground: #04130a;--warning: #f5911e;--warning-foreground: #1a1403;--info: #63b3ed;--info-foreground: #04121f;--shadow-card: 0 1px 2px rgb(0 0 0 / .4);--shadow-float: 0 16px 40px -12px rgb(0 0 0 / .7);--shadow-cta: 0 10px 28px -8px rgb(217 122 52 / .38)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overscroll-behavior:none}html{scroll-behavior:smooth;background:var(--background);overflow:hidden}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:16px;line-height:1.55;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}::selection{background-color:var(--brand-cyan);color:var(--brand-navy)}input,button,textarea{font-family:var(--font-sans)}.shell-main>:not(router-outlet){display:block;animation:routeEnter .28s cubic-bezier(.22,.85,.28,1) both}@keyframes routeEnter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.shell-main>:not(router-outlet){animation:none}}.sk-box{display:inline-block;border-radius:8px;background:linear-gradient(100deg,var(--secondary) 30%,color-mix(in srgb,var(--secondary) 55%,var(--card-elevated)) 50%,var(--secondary) 70%);background-size:220% 100%;animation:skShimmer 1.3s ease-in-out infinite}.sk-card{pointer-events:none}@keyframes skShimmer{0%{background-position:180% 0}to{background-position:-20% 0}}@media (prefers-reduced-motion: reduce){.sk-box{animation:none}}button{transition:transform .15s ease,background-color .15s ease,border-color .15s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}input:focus-visible,button:focus-visible,a:focus-visible,canvas:focus-visible{outline:none;border-color:#f5911e;box-shadow:0 0 0 3px #f5911e4d}.pat-scroll::-webkit-scrollbar{width:0}@keyframes patRise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes patFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.rise{animation:patFadeUp .55s cubic-bezier(.16,1,.3,1) both}.rise.d1{animation-delay:.05s}.rise.d2{animation-delay:.12s}.rise.d3{animation-delay:.19s}.rise.d4{animation-delay:.26s}@keyframes patPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes patFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes patSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}html.a11y-large .shell-main{zoom:1.18}html.a11y-large{--muted-foreground: #c9c9d1;--border: rgba(255, 255, 255, .18)}html.a11y-large:not(.dark){--muted-foreground: #4a5568;--border: rgba(0, 0, 0, .2)}.book-anim{display:flex;flex-direction:column;align-items:center}.book-stage{position:relative;width:120px;height:104px;margin:6px auto 16px;display:flex;align-items:center;justify-content:center}.book-badge{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;background:var(--brand-orange);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-cta);animation:bookPop .5s cubic-bezier(.2,1.3,.3,1) both}.book-check{width:46px;height:46px}.book-check-path{stroke-dasharray:48;stroke-dashoffset:48;animation:bookDraw .4s .3s ease-out forwards}.book-ring{position:absolute;top:50%;left:50%;width:84px;height:84px;border-radius:50%;border:3px solid var(--brand-orange);transform:translate(-50%,-50%);animation:bookRing .9s .05s ease-out both}.book-ring.d2{animation-delay:.22s}.spark{position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:var(--brand-orange-strong);transform:translate(-50%,-50%) scale(0);animation:sparkFly .8s .18s cubic-bezier(.2,.7,.3,1) both}.spark.s1{--tx: 0px;--ty: -58px}.spark.s2{--tx: 50px;--ty: -30px;background:var(--brand-cyan-strong)}.spark.s3{--tx: 50px;--ty: 30px}.spark.s4{--tx: 0px;--ty: 58px;background:var(--brand-cyan-strong)}.spark.s5{--tx: -50px;--ty: 30px}.spark.s6{--tx: -50px;--ty: -30px;background:var(--brand-cyan-strong)}.book-anim-title{font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--foreground);animation:bookTextUp .4s .35s ease-out both}.book-anim-sub{font-size:14px;color:var(--muted-foreground);margin-top:3px;animation:bookTextUp .4s .45s ease-out both}@keyframes bookPop{0%{transform:scale(0)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes bookDraw{to{stroke-dashoffset:0}}@keyframes bookRing{0%{transform:translate(-50%,-50%) scale(.7);opacity:.75}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}@keyframes sparkFly{0%{transform:translate(-50%,-50%) scale(0);opacity:0}35%{opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1);opacity:0}}@keyframes bookTextUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.book-badge{animation:none;transform:none}.book-check-path{animation:none;stroke-dashoffset:0}.book-ring,.spark{display:none}.book-anim-title,.book-anim-sub{animation:none}}.confirm-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:confirmFade .18s ease}.confirm-sheet{width:100%;max-width:480px;background:var(--card-elevated);border-top-left-radius:28px;border-top-right-radius:28px;border:1px solid var(--border);border-bottom:none;padding:26px 20px calc(24px + env(safe-area-inset-bottom));text-align:center;box-shadow:var(--shadow-float);animation:confirmUp .24s cubic-bezier(.2,.8,.2,1)}.confirm-sheet.is-booking{padding-top:30px}.confirm-icon{width:60px;height:60px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand-orange) 18%,var(--card));color:var(--brand-orange-strong);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.confirm-title{font-size:20px;font-weight:700;color:var(--foreground)}.confirm-name{font-size:14px;color:var(--muted-foreground);margin-top:3px}.confirm-route{margin:18px 0 14px;text-align:left}.confirm-stops{display:flex;flex-direction:column;gap:12px;margin:20px 6px 16px;text-align:left}.confirm-stop{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--foreground);line-height:1.35}.confirm-meta{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.confirm-tag{font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--radius-pill);background:var(--secondary);color:var(--muted-foreground)}.confirm-actions{display:flex;gap:10px}.confirm-cancel,.confirm-ok{flex:1;height:52px;border-radius:var(--radius-pill);border:none;cursor:pointer;font-size:15.5px;font-weight:700}.confirm-cancel{background:var(--secondary);color:var(--foreground)}.confirm-ok{background:var(--brand-orange);color:#1a1403;box-shadow:var(--shadow-cta)}@keyframes confirmFade{0%{opacity:0}to{opacity:1}}@keyframes confirmUp{0%{transform:translateY(14px);opacity:.6}to{transform:translateY(0);opacity:1}}.confirm-err{color:var(--destructive);font-size:13.5px;line-height:1.4;margin:-6px 4px 14px}.confirm-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(26,20,3,.35);border-top-color:#1a1403;animation:patSpin .8s linear infinite;display:inline-block;vertical-align:-3px;margin-right:8px}.confirm-ok.confirm-danger{background:var(--destructive);color:#fff;box-shadow:none}.quote-row{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 0 18px}.quote-row.loading{color:var(--muted-foreground);font-size:13.5px}.quote-price{font-size:18px;font-weight:800;color:var(--foreground)}.quote-detail{font-size:12.5px;color:var(--muted-foreground)}
