:root{--brand-500:#1a8fa0;--brand-600:#0f7787;--brand-700:#0a5f6e;--brand-800:#0f3a47;--brand-50:#e8f4f6;--brand-100:#c6e4e9;--brand-300:#6fb9c7;--cta:#ffc600;--cta-hover:#e6a800;--cta-text:#0f172a;--accent-50:#fffceb;--accent-800:#946e00;--n-0:#fff;--n-50:#f8fafc;--n-100:#f1f5f9;--n-200:#e2e8f0;--n-300:#cbd5e1;--n-400:#94a3b8;--n-500:#64748b;--n-600:#475569;--n-700:#334155;--n-800:#1e293b;--n-900:#0f172a;--app-bg:#f5f7f8;--surface:#fff;--surface-sunk:#f1f5f9;--overlay:rgba(15,23,42,.6);--t-primary:#0f172a;--t-secondary:#475569;--t-tertiary:#64748b;--t-disabled:#94a3b8;--t-link:#0a5f6e;--ok-bg:#f0fdf4;--ok-fg:#15803d;--ok-solid:#16a34a;--warn-bg:#fffbeb;--warn-fg:#d97706;--err-bg:#fef2f2;--err-fg:#b91c1c;--err-solid:#dc2626;--info-bg:#eff6ff;--info-fg:#1d4ed8;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--sh-card:0 1px 2px rgba(15,23,42,.04),0 2px 8px rgba(15,23,42,.06);--sh-raise:0 4px 16px rgba(15,23,42,.1);--sh-cta:0 3px 9px rgba(15,23,42,.18);--sh-sticky:0 -2px 16px rgba(15,23,42,.1);--card-max:520px;--ease:cubic-bezier(.4,0,.2,1);--dur:180ms}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--app-bg);-webkit-text-size-adjust:100%}body,html{overflow-x:hidden}body{background:var(--surface);color:var(--t-primary);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;max-width:var(--card-max);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}@media (min-width:600px){body{box-shadow:0 0 0 1px var(--n-200),0 16px 48px rgba(15,23,42,.12)}}a{color:var(--t-link);text-decoration:none;font-weight:600}img{max-width:100%;display:block}button{font-family:inherit}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--s-4);border-bottom:1px solid var(--n-200);background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top)}.chip-lang{font-size:12px;color:var(--n-600);background:var(--n-100);border-radius:var(--r-pill);padding:5px 11px;font-weight:600}.cover{width:100%;height:132px;object-fit:cover;background:linear-gradient(135deg,var(--brand-600),var(--brand-800))}.partner-head{display:flex;gap:var(--s-3);align-items:flex-end;padding:0 var(--s-4) var(--s-2)}.logo{width:64px;height:64px;border-radius:var(--r-lg);object-fit:cover;border:3px solid #fff;box-shadow:var(--sh-card);background:#fff;margin-top:-28px;flex:0 0 auto}.partner-name{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.partner-meta{color:var(--t-secondary);font-size:13px;margin-top:2px}.badges{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}.rating{font-size:12px;color:var(--accent-800);background:var(--accent-50)}.certified,.rating{font-weight:700;border-radius:var(--r-pill);padding:3px 9px}.certified{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--brand-800)}.trust-strip{display:flex;gap:6px;padding:12px var(--s-4) 0}.ts-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;font-size:11px;font-weight:700;color:var(--t-secondary);background:linear-gradient(180deg,#fff,var(--n-50));border:1px solid var(--n-200);border-radius:var(--r-md);padding:10px 4px;box-shadow:var(--sh-card)}.ts-item svg{color:var(--brand-500)}.wrap{padding:var(--s-3) var(--s-4);flex:1 0 auto;padding-bottom:calc(96px + env(safe-area-inset-bottom) + var(--s-4))}.card{background:var(--surface);border:1px solid var(--n-200);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-3);box-shadow:var(--sh-card)}.card.dim{opacity:.5;pointer-events:none}.step-head{gap:10px;margin-bottom:var(--s-3)}.step-head,.step-num{display:flex;align-items:center}.step-num{width:26px;height:26px;border-radius:var(--r-pill);justify-content:center;font-size:13px;font-weight:800;background:var(--n-200);color:var(--n-500);flex:0 0 auto}.step-num.active{background:var(--brand-500);color:#fff}.step-num.done{background:var(--ok-solid);color:#fff}.step-title{font-size:17px;font-weight:700;flex:1 1}.edit-link{font-size:13px;color:var(--t-link);background:none;border:none;cursor:pointer}.label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.hint,.label{color:var(--t-tertiary)}.hint{font-size:12px;margin-top:8px}.input{width:100%;height:52px;padding:0 14px;border:1.5px solid var(--n-200);border-radius:var(--r-md);font-size:16px;background:var(--surface-sunk);color:var(--t-primary);transition:border-color var(--dur),background var(--dur)}.input:focus{outline:none;border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px rgba(26,143,160,.12)}.input.err{border-color:var(--err-solid)}.field-err{color:var(--err-fg);font-size:13px;margin-top:6px;font-weight:600}.seg{display:flex;gap:6px;background:var(--surface-sunk);border-radius:var(--r-md);padding:4px}.seg-btn{flex:1 1;border:none;background:none;padding:10px 6px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--t-secondary);cursor:pointer;transition:all var(--dur)}.seg-btn.sel{background:#fff;color:var(--brand-700);box-shadow:var(--sh-card),0 0 0 1.5px var(--brand-500)}.stack{display:flex;flex-direction:column;gap:8px}.chip{padding:11px 14px;border:1.5px solid var(--n-200);border-radius:var(--r-md);background:#fff;font-size:15px;cursor:pointer;transition:all .12s;text-align:left}.chip:hover{border-color:var(--n-300)}.chip.sel{border-color:var(--brand-500);background:var(--accent-50);box-shadow:0 0 0 1px var(--brand-500) inset}.cat-grid{display:flex;flex-direction:column;gap:10px}.cat-card{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1.5px solid var(--n-200);border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,var(--n-50));cursor:pointer;text-align:left;box-shadow:var(--sh-card);transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.cat-card:hover{border-color:var(--brand-300);transform:translateY(-1px);box-shadow:var(--sh-raise)}.cat-card:active{transform:translateY(0)}.cat-card.sel{border-color:var(--brand-500);box-shadow:0 0 0 1px var(--brand-500) inset,var(--sh-raise);background:linear-gradient(180deg,#fff,var(--brand-50))}.cat-img{width:62px;height:62px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 5px 10px rgba(15,23,42,.16))}.cat-body{flex:1 1;min-width:0}.cat-name{font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--t-primary)}.cat-desc{font-size:13px;color:var(--t-tertiary);margin-top:2px}.cat-arrow{color:var(--n-300);flex:0 0 auto;display:flex;transition:color .14s,transform .14s}.cat-card.sel .cat-arrow,.cat-card:hover .cat-arrow{color:var(--brand-500);transform:translateX(2px)}.opt-row{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--n-200);border-radius:var(--r-md);background:#fff;cursor:pointer;transition:all .12s}.opt-row+.opt-row{margin-top:8px}.opt-row:hover{border-color:var(--n-300)}.opt-row.sel{border-color:var(--brand-500);background:var(--accent-50);box-shadow:0 0 0 1px var(--brand-500) inset}.opt-radio{width:20px;height:20px;border-radius:var(--r-pill);border:2px solid var(--n-300);flex:0 0 auto;position:relative}.opt-row.sel .opt-radio{border-color:var(--brand-500)}.opt-row.sel .opt-radio:after{content:"";position:absolute;inset:3px;border-radius:var(--r-pill);background:var(--brand-500)}.opt-thumb{width:46px;height:46px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 3px 7px rgba(15,23,42,.15))}.opt-tick{width:24px;height:24px;border-radius:var(--r-pill);background:var(--brand-500);box-shadow:0 2px 5px rgba(26,143,160,.4)}.opt-check,.opt-tick{color:#fff;flex:0 0 auto;display:flex;align-items:center;justify-content:center}.opt-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--n-300);font-size:14px}.opt-row.sel .opt-check{border-color:var(--brand-500);background:var(--brand-500)}.opt-body{flex:1 1;min-width:0}.opt-name{font-size:15px;font-weight:600}.opt-sub{font-size:12px;color:var(--t-tertiary);margin-top:2px}.opt-price{font-size:15px;font-weight:700;color:var(--t-primary);white-space:nowrap}.addons-title{font-size:13px;font-weight:700;color:var(--t-secondary);margin:14px 0 8px}.geo-wrap{position:relative}.geo-list{margin-top:6px;border:1px solid var(--n-200);border-radius:var(--r-md);overflow:hidden;max-height:280px;overflow-y:auto;box-shadow:var(--sh-raise)}.geo-item{display:flex;gap:10px;padding:12px 14px;cursor:pointer;background:#fff;border-bottom:1px solid var(--n-100)}.geo-item:last-child{border-bottom:none}.geo-item:hover{background:var(--surface-sunk)}.geo-item .pin{flex:0 0 auto}.geo-item .g1{font-size:15px;font-weight:600}.geo-item .g2{font-size:12px;color:var(--t-tertiary);margin-top:1px}.geo-status{padding:12px 14px;color:var(--t-tertiary);font-size:14px}.geo-status.err{color:var(--err-fg)}.addr-pill{display:flex;align-items:center;gap:10px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);padding:12px 14px}.addr-pill .a1{font-size:15px;font-weight:600}.addr-pill .a2{font-size:12px;color:var(--t-secondary)}.addr-clear{margin-left:auto;background:none;border:none;font-size:18px;color:var(--t-tertiary);cursor:pointer;line-height:1}.date-row{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px;margin-bottom:12px}.date-chip{flex:0 0 auto;scroll-snap-align:start;padding:9px 14px;border:1.5px solid var(--n-200);border-radius:var(--r-pill);background:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.date-chip.sel{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));grid-gap:8px;gap:8px}.slot{padding:12px 0;text-align:center;border:1.5px solid var(--n-200);border-radius:var(--r-md);background:#fff;cursor:pointer;font-size:15px;font-weight:600;transition:all .12s}.slot:hover{border-color:var(--n-300)}.slot.sel{border-color:var(--brand-500);background:var(--brand-500);color:#fff}.slot:disabled{color:var(--t-disabled);text-decoration:line-through;cursor:not-allowed;opacity:.7}.pay-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.pay-tile{padding:16px 12px;border:1.5px solid var(--n-200);border-radius:var(--r-lg);background:#fff;cursor:pointer;text-align:center;transition:all .12s}.pay-tile.sel{border-color:var(--brand-500);background:var(--accent-50);box-shadow:0 0 0 1px var(--brand-500) inset}.pay-ico{display:flex;align-items:center;justify-content:center;height:30px;color:var(--brand-600)}.pay-tile.sel .pay-ico{color:var(--brand-700)}.pay-name{font-size:15px;font-weight:700;margin-top:4px}.pay-desc{font-size:12px;color:var(--t-tertiary);margin-top:2px}.nudge{background:var(--info-bg);border-radius:var(--r-md);padding:14px;margin-top:12px}.nudge b{color:var(--info-fg)}.reassure{display:flex;align-items:center;gap:6px;color:var(--t-tertiary);font-size:13px;margin-top:10px}.summary{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);box-shadow:var(--sh-sticky);border-top:1px solid var(--n-200);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom))}.summary-inner{max-width:var(--card-max);margin:0 auto}.sum-line1{font-size:14px;font-weight:600}.sum-line2{display:flex;justify-content:space-between;align-items:baseline;margin:2px 0 10px}.sum-dur{font-size:13px;color:var(--t-tertiary)}.sum-total{font-size:22px;font-weight:800;letter-spacing:-.02em}.btn{width:100%;height:52px;border:none;border-radius:var(--r-md);background:var(--cta);color:var(--cta-text);font-size:16px;font-weight:800;cursor:pointer;box-shadow:var(--sh-cta);transition:transform .06s,background var(--dur)}.btn:hover{background:var(--cta-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{background:var(--n-200);color:var(--n-400);box-shadow:none;cursor:not-allowed}.btn-2{width:100%;height:48px;border-radius:var(--r-md);background:#fff;color:var(--brand-700);border:1.5px solid var(--brand-500);font-weight:700;font-size:15px;cursor:pointer}.err-banner{background:var(--err-bg);color:var(--err-fg);border-radius:var(--r-md);padding:12px 14px;font-size:14px;font-weight:600;margin-bottom:12px}.empty{text-align:center;padding:32px 16px}.empty .ico{font-size:40px}.empty h2{font-size:18px;margin:10px 0 6px}.empty p{color:var(--t-secondary);font-size:14px}.muted{color:var(--t-tertiary);font-size:13px}.skel{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 37%,#f1f5f9 63%);background-size:400% 100%;animation:sh 1.4s var(--ease) infinite;border-radius:var(--r-md)}@keyframes sh{0%{background-position:100% 0}to{background-position:0 0}}.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--n-300);border-top-color:var(--brand-500);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-3px}@keyframes sp{to{transform:rotate(1turn)}}.confirm{text-align:center;padding:24px 16px}.confirm .big{font-size:48px}.confirm h1{font-size:22px;margin:8px 0}.recap{text-align:left}.recap div{padding:8px 0;border-bottom:1px solid var(--n-100);font-size:14px;display:flex;justify-content:space-between;gap:12px}.recap div:last-child{border-bottom:none}.recap .k{color:var(--t-tertiary)}.recap .v{font-weight:600;text-align:right}.powered{font-size:12px;color:var(--t-tertiary);font-weight:600}.ord-hero{text-align:center;padding:28px 20px 22px;border-radius:var(--r-xl);margin-bottom:14px;background:linear-gradient(180deg,#fff,var(--n-50));border:1px solid var(--n-200);box-shadow:var(--sh-card)}.ord-check{width:64px;height:64px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:#fff}.tone-ok .ord-check{background:var(--ok-solid);box-shadow:0 6px 18px rgba(22,163,74,.34)}.tone-wait .ord-check{background:var(--brand-500);box-shadow:0 6px 18px rgba(26,143,160,.32)}.tone-bad .ord-check{background:var(--err-solid);box-shadow:0 6px 18px rgba(220,38,38,.3)}.ord-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.ord-sub{font-size:14px;color:var(--t-secondary);margin-top:6px;line-height:1.45}.ord-partner{font-size:13px;font-weight:700;color:var(--brand-700);margin-top:12px;background:var(--brand-50);display:inline-block;padding:5px 13px;border-radius:var(--r-pill)}.ord-timeline{display:flex;justify-content:space-between;margin-bottom:14px;padding:6px 6px 0;position:relative}.ord-timeline:before{content:"";position:absolute;top:17px;left:14%;right:14%;height:2px;background:var(--n-200);z-index:0}.tl-step{flex-direction:column;gap:6px;flex:1 1;position:relative;z-index:1}.tl-dot,.tl-step{display:flex;align-items:center}.tl-dot{width:24px;height:24px;border-radius:var(--r-pill);background:var(--n-200);color:#fff;justify-content:center;font-size:13px;font-weight:800;border:3px solid var(--surface)}.tl-step.done .tl-dot{background:var(--ok-solid)}.tl-step.active .tl-dot{background:var(--brand-500);box-shadow:0 0 0 4px rgba(26,143,160,.16)}.tl-label{font-size:11px;font-weight:700;color:var(--t-tertiary);text-align:center}.tl-step.active .tl-label,.tl-step.done .tl-label{color:var(--t-primary)}.ord-img{width:96px;height:96px;object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 6px 14px rgba(15,23,42,.16))}.btn-danger{width:100%;height:52px;border:none;border-radius:var(--r-md);background:var(--err-solid);color:#fff;font-size:16px;font-weight:800;cursor:pointer}.btn-2.wide{width:100%}.app-nudge{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--brand-800),var(--brand-600));text-decoration:none;box-shadow:var(--sh-raise)}.app-nudge img{width:54px;height:54px;object-fit:contain;flex:0 0 auto}.app-nudge>div{flex:1 1;min-width:0;display:flex;flex-direction:column}.app-nudge b{color:#fff;font-size:15px}.app-nudge span{color:hsla(0,0%,100%,.82);font-size:12px;line-height:1.35}.an-arrow{color:#fff;font-size:20px;font-weight:800;flex:0 0 auto}.modal{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center;z-index:60}.sheet{background:#fff;width:100%;max-width:var(--card-max);border-radius:22px 22px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(0,0,0,.2)}