@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");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}:root{--primary: #9b83e6;--primary-dark: #2b1846;--ink: #2b1846;--pink-soft: #f5ecf2;--pink-mid: #d9c7ef;--bg: #fbf8f5;--text: #5a5363;--text-2: #9b94a5;--gold: #d8b77a;--sage: #dceadf;--border: #eee7ef;--error: #c92a2a;--sh-sm: 0 1px 2px rgba(46,26,71,.04);--sh-md: 0 14px 38px rgba(43,24,70,.08), 0 1px 2px rgba(43,24,70,.04);--sh-lg: 0 24px 70px rgba(43,24,70,.14);--display: "Fraunces", Georgia, serif;--wave-a: #d9c8f4;--wave-b: #c3a9ee;--sp-xs: clamp(4px, 1.1vh, 8px);--sp-sm: clamp(7px, 1.5vh, 12px);--sp-md: clamp(10px, 2.1vh, 18px);--sp-lg: clamp(14px, 2.8vh, 24px);--sp-xl: clamp(18px, 3.6vh, 34px);--hero-h: clamp(180px, 34vh, 320px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);background:radial-gradient(circle at 50% -10%,#dceadfe6,#fbf8f500 42%),linear-gradient(180deg,#fbf8f5,#f8f4f8 54%,#eee8fb) fixed;color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input,textarea{font:inherit}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:var(--sp-lg) 24px calc(var(--sp-lg) + env(safe-area-inset-bottom))}.wave{display:block;width:calc(100% + 40px);height:34px;margin:-16px -20px 16px;flex-shrink:0}.progress{display:flex;gap:4px;justify-content:space-between;margin:8px 0 20px}.progress span{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--pink-mid);padding:6px 2px;border-bottom:3px solid var(--pink-soft);transition:all .3s ease;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.progress span.active{color:var(--primary-dark);font-weight:600;border-bottom-color:var(--primary);flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;max-width:60%}.progress span.active em{font-style:normal;overflow:hidden;text-overflow:ellipsis}.progress span.past{color:var(--primary)}.progress span.past{border-bottom-color:var(--pink-mid);color:var(--pink-mid)}.step{animation:fadeUp .35s ease;flex:1;display:flex;flex-direction:column}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}h1{font-family:var(--display);font-size:32px;font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0 0 var(--sp-xs);color:var(--ink)}h2{font-family:var(--display);font-size:24px;font-weight:500;line-height:1.18;letter-spacing:-.01em;margin:0 0 var(--sp-sm);color:var(--ink)}.subtitle{color:var(--text-2);margin:0 0 var(--sp-sm);line-height:1.45;font-size:14px}.card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(236,230,245,.7);border-radius:20px;padding:16px;margin-bottom:var(--sp-sm);box-shadow:var(--sh-md);transition:box-shadow .25s,border-color .2s,transform .15s}.card:active{transform:scale(.985)}.card:hover{box-shadow:var(--sh-lg)}.card.selected{border-color:var(--primary);animation:pop .3s ease}.card .icon-avatar{width:56px;height:56px;border-radius:50%;background:var(--pink-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.card img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--pink-soft)}.card .info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.card .name{font-weight:600;font-size:16px;color:var(--ink)}.card .meta{color:var(--text-2);font-size:13px;margin-top:2px}.card .price{color:var(--primary-dark);font-weight:600;font-size:14px;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--sp-md)}.chips.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.chips.times .chip{padding:8px 4px;font-size:14px;min-width:0}.chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:12px 18px;font-size:15px;min-width:72px;transition:all .2s}.chip.selected{background:var(--primary);border-color:var(--primary);color:#fff;animation:pop .3s ease}.chip:disabled{opacity:.35;cursor:default}.chip small{display:block;font-size:11px;opacity:.7}.period{margin-bottom:var(--sp-md)}.period h3{font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.feedback{background:var(--pink-soft);border-radius:14px;padding:12px 16px;color:var(--primary-dark);margin-bottom:16px;animation:fadeUp .3s ease;line-height:1.5}.feedback.warn{background:#fff4e6;color:#b35c00}.hold-timer{position:fixed;top:calc(env(safe-area-inset-top) + 16px);right:max(20px,calc((100vw - 430px)/2 + 22px));z-index:40;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary-dark);background:#ffffffd1;border:1px solid var(--border);box-shadow:var(--sh-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeUp .3s ease}.hold-timer svg{color:var(--primary)}.hold-timer.low{color:var(--error);border-color:#f3c7c7;background:#fff6f6e6}.hold-timer.low svg{color:var(--error)}.irow{display:flex;align-items:center;gap:8px}.irow svg,.btn svg,h2 svg{flex-shrink:0;vertical-align:middle}h2 svg{margin-right:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;background:var(--primary);color:#fff;border:none;border-radius:16px;padding:15px 18px;font-size:16px;font-weight:600;min-height:54px;box-shadow:0 8px 20px #7b2ae83d;transition:box-shadow .25s,transform .15s,background .2s}.btn:active{transform:scale(.98)}.btn:hover{box-shadow:0 12px 28px #7b2ae852}.btn:disabled{opacity:.5}.btn.secondary{background:#fff;color:var(--primary-dark);border:1px solid var(--border)}.btn.outline{background:#fff;color:var(--primary-dark);border:1px solid var(--border);min-height:40px;padding:10px 12px;font-size:14px}.btn.ghost{background:transparent;color:var(--text-2);border:none;font-weight:400;font-size:15px}.btn+.btn{margin-top:10px}.btn-row{display:flex;gap:10px;margin-top:10px}.btn-row>*{flex:1;min-width:0}.btn-row a{text-decoration:none;display:block}.field{margin-bottom:var(--sp-sm)}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field input,.field textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:14px;font-size:17px;background:#fff;color:var(--text);outline:none}.field input:focus,.field textarea:focus{border-color:var(--pink-mid)}.field input.code{text-align:center;letter-spacing:.5em;font-size:24px}.toggle{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--sp-md)}.toggle button{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;font-size:15px;text-align:left;transition:all .2s}.toggle button.selected{border-color:var(--primary);background:var(--pink-soft);font-weight:600}.toggle button svg{color:var(--primary);flex:none}.toggle.row{flex-direction:row}.toggle.row button{flex:1;text-align:center}.summary{background:#fff;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:var(--sp-md);line-height:2}.summary .total{color:var(--primary-dark);font-weight:700}.welcome{font-size:14px;color:var(--primary-dark);margin:0 0 20px}.summary.compact{border-width:1px;border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.8;margin:8px 0 24px}.summary-meta{color:var(--text-2);font-size:12px}.celebrate{text-align:center;padding-top:8vh}.celebrate .burst{color:var(--primary);animation:pop .6s ease;display:block;margin-bottom:16px}.error-text{color:var(--error);font-size:14px;margin:8px 0}.center{text-align:center;color:var(--text-2);padding:40px 0;line-height:1.6}.history-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--pink-soft);font-size:14px}.history-item .when{color:var(--text-2)}.brand-logo{display:block;width:148px;margin:4px auto 12px}.category{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--primary-dark);margin:var(--sp-md) 0 var(--sp-xs)}.back-link{display:flex;width:max-content;align-items:center;gap:4px;align-self:flex-start;background:none;border:none;padding:0;margin:0 0 16px;color:var(--primary-dark);font-size:14px;font-weight:500;text-decoration:none;text-align:left}.ghost{display:block;margin:12px auto;background:none;border:none;color:var(--primary-dark);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}.cat-card{background:#fff;border:1px solid rgba(236,230,245,.7);border-radius:22px;box-shadow:var(--sh-md);padding:22px 14px 18px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font:inherit;text-align:center}.cat-card:active{background:var(--pink-soft)}.cat-circle{position:relative;width:72px;height:72px;border:2px dashed var(--pink-mid);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.cat-accent{position:absolute;top:-2px;right:-4px}.cat-name{font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);line-height:1.2}.cat-meta{font-size:12px;color:var(--text-2)}.cat-heading{display:inline-flex;align-items:center;gap:8px}.cat-heading svg{color:var(--primary)}.price-right{margin-left:auto;font-weight:600;color:var(--primary-dark);white-space:nowrap;font-size:15px}.cat-photo{width:60px;height:60px;border-radius:50%;object-fit:cover}.celebration{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:48px 24px;min-height:320px;animation:fadeUp .4s ease}.cel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;background:linear-gradient(180deg,#d8f3eb,#e7edfc,#dfd3f9)}.cel-burst{position:relative;width:0;height:0;margin-bottom:8px}.cel-burst i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:2px;opacity:0;animation:confetti 1.3s cubic-bezier(.18,.7,.3,1) forwards}@keyframes confetti{0%{transform:translate(0) rotate(0) scale(.3);opacity:0}12%{opacity:1}45%{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1);opacity:1}to{transform:translate(var(--tx),calc(var(--ty) + 130px)) rotate(var(--rot)) scale(.9);opacity:0}}.cel-msg{font-family:var(--display);font-size:22px;font-weight:500;color:var(--ink);text-align:center;line-height:1.3;margin:0;max-width:280px;animation:cel-breathe 1.6s ease-in-out infinite}@keyframes cel-breathe{0%,to{opacity:.85;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.celebrate{align-items:center;text-align:center;gap:2px}.celebrate .burst{margin-bottom:4px}.celebrate h1{margin:4px 0 6px}.celebrate .subtitle{margin:0 0 var(--sp-sm)}.celebrate .summary{width:100%;margin:var(--sp-xs) 0 var(--sp-sm)}.celebrate .feedback{margin:0 0 var(--sp-sm)}.detail{padding-top:0}.detail-hero{position:relative;width:calc(100% + 48px);margin:-20px -24px 20px;aspect-ratio:4 / 3;border-radius:0 0 28px 28px;overflow:hidden;background:var(--pink-soft)}.detail-photo{width:100%;height:100%;object-fit:cover;display:block}.detail-photo.placeholder{display:flex;align-items:center;justify-content:center;color:var(--primary)}.detail-back{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;display:inline-flex;align-items:center;gap:4px;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:999px;padding:8px 14px 8px 10px;color:var(--ink);font-size:14px;font-weight:600;box-shadow:var(--sh-sm)}.detail-facts{display:flex;align-items:baseline;gap:14px;margin:0 0 14px}.detail-price{font-family:var(--display);font-size:26px;font-weight:600;color:var(--primary-dark)}.detail-dur{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);font-size:14px}.detail-desc{color:var(--text);line-height:1.6;font-size:15px;margin:0 0 var(--sp-md)}.card .rating{display:inline-flex;align-items:center;gap:4px;color:var(--gold);font-size:13px;font-weight:600;margin-top:2px}.card .rating svg{color:var(--gold)}.empty-agenda{text-align:center;padding:32px 8px;display:flex;flex-direction:column;align-items:center;gap:14px;animation:fadeUp .35s ease}.empty-agenda .empty-icon{color:var(--primary)}.empty-agenda .empty-msg{color:var(--text);line-height:1.55;font-size:15px;max-width:320px;margin:0}.empty-agenda .btn,.empty-agenda a{width:100%;max-width:320px}.empty-agenda a{text-decoration:none}.review-invite{background:#ffffffe6;border:1px solid var(--border);border-radius:16px;padding:16px;margin:4px 0 12px;box-shadow:var(--sh-sm)}.review-invite .review-head{font-family:var(--display);font-size:18px;color:var(--ink)}.review-invite .subtitle{margin:4px 0 10px}.review-invite .stars{display:flex;gap:6px;margin-bottom:12px}.review-invite .star{background:none;border:none;padding:0;color:var(--gold);line-height:0}.review-comment{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px;font-size:15px;background:#fff;color:var(--text);outline:none;margin-bottom:12px}.review-comment:focus{border-color:var(--pink-mid)}.review-done{margin:4px 0 12px}.admin{max-width:860px;margin:0 auto;padding:20px 20px calc(28px + env(safe-area-inset-bottom))}.admin-login{max-width:420px;display:flex;min-height:100dvh;align-items:center}.admin-login .admin-card{width:100%;background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--sh-md)}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-top strong{font-family:var(--display);font-size:20px;color:var(--ink)}.admin-logout{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--primary-dark);font-size:14px}.admin-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--border)}.admin-tabs button{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:10px 12px;color:var(--text-2);font-size:14px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tabs button.on{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:600}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.admin-stat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--sh-sm)}.admin-stat.wide{grid-column:1 / -1}.admin-stat-value{font-family:var(--display);font-size:28px;font-weight:600;color:var(--ink)}.admin-stat-label{color:var(--text-2);font-size:13px;margin-top:2px}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:var(--sh-sm);flex-wrap:wrap}.admin-row.warn{background:#fff4e6;border-color:#ffd8a8}.admin-row-name{font-weight:600;color:var(--ink);font-size:15px;display:inline-flex;align-items:center;gap:6px}.admin-row-meta{color:var(--text-2);font-size:13px;margin-top:3px}.admin-row-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-row-actions button{background:#fff;border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:13px;color:var(--primary-dark)}.admin-row-actions button:disabled{opacity:.5}.admin-conn{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600}.admin-conn.ok{color:#2b8a3e}.admin-conn.off{color:var(--error)}.admin-list-head{display:flex;justify-content:flex-end;margin-bottom:12px}.admin-add{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.admin-form{margin-bottom:16px}.admin-hint{display:block;color:var(--text-2);font-size:12px;margin-top:4px}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.admin-ghost{background:none;border:none;color:var(--text-2);font-size:14px}.admin-sub{font-family:var(--display);font-size:16px;color:var(--ink);margin:24px 0 12px}.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600}.tag.active{background:#e6fcf0;color:#2b8a3e}.tag.trial{background:var(--pink-soft);color:var(--primary-dark)}.tag.suspended,.tag.canceled,.tag.past_due{background:#fff0f0;color:var(--error)}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 8px 40px;animation:fadeUp .4s ease}.welcome-logo{width:230px;max-width:68%;height:auto}.welcome-tag{font-family:var(--display);font-size:20px;color:var(--ink);text-align:center;margin:4px 0 28px;max-width:280px;line-height:1.3}.welcome-screen .btn{max-width:320px}.beauty{display:flex;flex-direction:column;gap:var(--sp-md)}.beauty-head{margin:4px 0 12px}.beauty-title{font-family:var(--display);font-size:34px;font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px}.beauty-sub{color:var(--text-2);font-size:16px;line-height:1.45;max-width:300px;margin:0}.feat-card{position:relative;width:100%;height:260px;border-radius:28px;overflow:hidden;border:none;padding:0;box-shadow:var(--sh-md);cursor:pointer;transition:transform .15s,box-shadow .25s}.feat-card:active{transform:scale(.98);box-shadow:var(--sh-sm)}.feat-img{width:100%;height:100%;object-fit:cover;display:block}.feat-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--pink-soft),#e8dcfa)}.feat-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;text-align:left;padding:22px 20px 20px;background:linear-gradient(to top,rgba(46,26,71,.74) 0%,rgba(46,26,71,.28) 55%,transparent 100%)}.feat-title{font-family:var(--display);font-size:27px;font-weight:600;color:#fff;line-height:1.1}.feat-meta{color:#ffffffe6;font-size:14px}.feat-pill{position:absolute;top:16px;right:16px;background:#ffffffeb;color:var(--ink);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.beauty-row{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:#fff;border:1px solid rgba(236,230,245,.7);border-radius:24px;padding:12px;box-shadow:var(--sh-md);transition:transform .15s,box-shadow .25s;cursor:pointer}.beauty-row:active{transform:scale(.98);box-shadow:var(--sh-sm)}.row-img{width:40%;max-width:140px;height:116px;border-radius:18px;object-fit:cover;flex-shrink:0}.row-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--pink-soft),#e8dcfa)}.row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.row-name{font-family:var(--display);font-size:19px;font-weight:500;color:var(--ink);line-height:1.18;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.row-meta{color:var(--text-2);font-size:14px}.row-chev{color:var(--gold);flex-shrink:0;margin-left:2px}.btn-lux{background:linear-gradient(135deg,#a98bed,#8667d8);border-radius:18px;box-shadow:0 16px 36px #6149a03d}.btn-link-light{width:100%;border:0;background:transparent;color:#ffffffeb;text-decoration:underline;text-underline-offset:4px;padding:12px;font-size:14px}.home-screen{gap:18px;padding-bottom:8px}.home-topbar{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 2px}.home-logo{width:118px;height:auto}.home-icon-btn{width:42px;height:42px;border:1px solid rgba(238,231,239,.86);border-radius:50%;background:#ffffffd6;color:var(--primary-dark);box-shadow:var(--sh-sm)}.home-greeting p{margin:0 0 4px;color:var(--primary);font-weight:700;font-size:15px}.home-greeting h1{font-size:32px;max-width:340px}.home-hero{position:relative;display:block;width:100%;min-height:210px;border:0;border-radius:28px;overflow:hidden;padding:0;text-align:left;background:#fff;box-shadow:var(--sh-lg)}.home-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.home-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#2b1846bd,#2b184629)}.home-hero-copy{position:relative;z-index:1;min-height:210px;display:flex;flex-direction:column;justify-content:center;padding:24px;max-width:270px}.home-hero-copy span{color:#ffffffd6;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-hero-copy strong{color:#fff;font-family:var(--display);font-size:28px;line-height:1.06;margin:8px 0 18px}.home-hero-copy em{width:max-content;color:#fff;background:#9b83e6eb;border-radius:999px;padding:10px 16px;font-style:normal;font-weight:700;font-size:14px}.next-moment-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid rgba(238,231,239,.88);border-radius:20px;padding:16px;background:#ffffffe0;color:var(--ink);text-align:left;box-shadow:var(--sh-sm)}.next-moment-card span{display:flex;flex-direction:column;gap:3px}.next-moment-card strong{font-size:15px;color:var(--ink)}.next-moment-card small{color:var(--text-2);line-height:1.35}.home-section{display:flex;flex-direction:column;gap:12px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title-row h2{margin:0;font-size:22px}.section-title-row button{border:0;background:transparent;color:var(--primary);font-weight:700;padding:6px 0}.home-care-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(128px,44%);gap:12px;overflow-x:auto;margin:0 -24px;padding:0 24px 8px;scroll-snap-type:x mandatory}.care-mini-card{scroll-snap-align:start;min-height:178px;border:1px solid rgba(238,231,239,.86);border-radius:22px;background:#ffffffeb;padding:10px;text-align:left;box-shadow:var(--sh-md);display:flex;flex-direction:column;gap:7px}.care-mini-card img,.care-mini-card>span{width:100%;aspect-ratio:1.15;border-radius:17px;object-fit:cover;background:var(--pink-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.care-mini-card strong{color:var(--ink);font-family:var(--display);font-size:17px;line-height:1.1}.care-mini-card small,.care-mini-card em{color:var(--text-2);font-size:12px;font-style:normal;line-height:1.25}.pro-inline-list{display:flex;gap:10px;overflow-x:auto;margin:0 -24px;padding:0 24px 4px}.pro-chip-card{display:flex;align-items:center;gap:10px;min-width:176px;border:1px solid var(--border);border-radius:18px;background:#ffffffd6;padding:10px}.pro-chip-card img{width:46px;height:46px;object-fit:cover;border-radius:50%}.pro-chip-card span{min-width:0;display:flex;flex-direction:column;gap:3px}.pro-chip-card strong{color:var(--ink);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-chip-card small{color:var(--gold);display:inline-flex;align-items:center;gap:3px}.service-shop{gap:var(--sp-md);min-height:0}.app.client-category{height:100dvh;min-height:0;overflow:hidden}.category-pick{gap:var(--sp-md);min-height:0}.category-pick .back-link,.category-pick .shop-head{flex:none}.cat-cards{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-md);padding:2px 2px var(--sp-lg);margin:0 -2px}.cat-card{position:relative;width:100%;height:clamp(120px,17vh,170px);flex:none;border:0;padding:0;border-radius:24px;overflow:hidden;background:var(--pink-soft);box-shadow:var(--sh-md);text-align:left;transition:transform .15s,box-shadow .25s}.cat-card:active{transform:scale(.99)}.cat-card:hover{box-shadow:var(--sh-lg)}.cat-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.cat-card-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--primary)}.cat-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#140c0a4d,#140c0a00 55%)}.cat-card-label{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);background:#ffffff6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:6px 13px;display:inline-flex;box-shadow:0 4px 14px #2b18461a}.cat-card-label strong{font-family:var(--display);font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-hero{width:100%;height:clamp(150px,22vh,200px);border-radius:22px;overflow:hidden;background:var(--pink-soft);box-shadow:var(--sh-md)}.service-hero{flex:none}.service-hero img{width:100%;height:100%;object-fit:cover;display:block}.app.client-service{height:100dvh;min-height:0;overflow:hidden}.service-shop .back-link,.service-shop .shop-head{flex:none}.service-cards{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px 2px 8px;margin:0 -2px}.service-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:16px;background:#ffffff8c;padding:12px 14px 12px 18px}.service-card-name{flex:1;min-width:0;font-family:var(--display);font-size:18px;font-weight:500;color:var(--ink);line-height:1.15}.service-card-cta{width:auto;flex:none;min-height:42px;padding:10px 20px;border-radius:12px;font-size:14px;box-shadow:none}.shop-head span,.slot-head span{color:var(--primary);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.shop-head h1{font-size:34px;margin-top:6px}.shop-head p,.slot-head p{margin:0;color:var(--text-2);line-height:1.5}.category-pills{display:flex;gap:8px;overflow-x:auto;margin:0 -24px 2px;padding:0 24px 6px}.category-pills button{border:1px solid rgba(238,231,239,.92);border-radius:999px;background:#ffffffd1;color:var(--text);padding:10px 14px;white-space:nowrap;font-size:14px}.category-pills button.selected{color:#fff;border-color:var(--primary);background:var(--primary);box-shadow:0 8px 20px #9b83e638}.premium-service-card{position:relative;display:block;width:100%;min-height:246px;border:0;border-radius:28px;padding:0;overflow:hidden;text-align:left;background:#fff;box-shadow:var(--sh-lg)}.premium-service-card img,.premium-service-card>span:first-child{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.premium-service-card>span:first-child{display:flex;align-items:center;justify-content:center;color:var(--primary);background:var(--pink-soft)}.premium-service-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 12%,rgba(43,24,70,.76) 100%)}.premium-service-info{position:absolute;left:20px;right:20px;bottom:20px;display:flex;flex-direction:column;gap:3px}.premium-service-info small{color:#ffffffc7;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.premium-service-info strong{color:#fff;font-family:var(--display);font-size:30px;line-height:1.06}.premium-service-info em{color:#ffffffe6;font-style:normal;font-size:14px}.premium-service-action{position:absolute;top:16px;right:16px;color:var(--ink);background:#ffffffeb;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800}.service-list-premium{display:flex;flex-direction:column;gap:12px}.service-row-premium{width:100%;display:flex;align-items:center;gap:14px;border:1px solid rgba(238,231,239,.9);border-radius:22px;background:#ffffffe6;padding:10px;text-align:left;box-shadow:var(--sh-md)}.service-row-premium img,.service-row-premium>span:first-child{width:86px;height:86px;border-radius:18px;object-fit:cover;flex:none;background:var(--pink-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.service-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.service-row-copy strong{color:var(--ink);font-family:var(--display);font-size:19px;line-height:1.12}.service-row-copy small{color:var(--text-2);font-size:13px}.service-row-copy em{color:var(--text);font-style:normal;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-row-price{color:var(--primary-dark);font-weight:800;white-space:nowrap;font-size:14px}.detail-lux{padding-bottom:86px}.detail-content-card{background:#ffffffe0;border:1px solid rgba(238,231,239,.9);border-radius:26px;padding:20px;margin-top:-4px;box-shadow:var(--sh-md)}.detail-photo-badge{position:absolute;right:16px;bottom:16px;color:var(--ink);background:#ffffffe6;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.benefit-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.benefit-chips span{min-height:58px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--primary-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:11px;font-weight:700;line-height:1.15}.detail-location{color:var(--text-2);display:flex;gap:6px;align-items:center;font-size:13px;margin:12px 0 0}.sticky-cta{position:fixed;width:auto;left:max(24px,calc((100vw - 430px)/2 + 24px));right:max(24px,calc((100vw - 430px)/2 + 24px));bottom:calc(18px + env(safe-area-inset-bottom));z-index:30}.slot-stage{display:flex;flex-direction:column;gap:var(--sp-md);animation:fadeUp .35s ease}.slot-head h2{font-size:31px;margin:6px 0 8px}.period-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.period-tab{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 6px;font-size:14px;font-weight:700;color:var(--text-2);transition:all .2s}.period-tab.selected{background:var(--primary);border-color:var(--primary);color:#fff}.period-tab:disabled{opacity:.4;cursor:default}.date-rail{display:grid;grid-auto-flow:column;grid-auto-columns:68px;gap:8px;overflow-x:auto;margin:0 -24px;padding:2px 24px 8px}.date-card{min-height:88px;border:1px solid var(--border);border-radius:18px;background:#ffffffdb;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:var(--sh-sm)}.date-card span{font-size:12px;color:var(--text-2);text-transform:capitalize}.date-card strong{font-size:21px;color:var(--ink)}.date-card small{font-size:11px;color:var(--text-2);text-transform:capitalize}.date-card.selected{background:var(--primary);border-color:var(--primary);box-shadow:0 14px 28px #9b83e63d}.date-card.selected span,.date-card.selected strong,.date-card.selected small{color:#fff}.selected-date-label{color:var(--ink);font-weight:800;margin:-2px 0 0;text-transform:capitalize}.lux-times{grid-template-columns:repeat(3,1fr);gap:10px}.lux-times .chip{border-radius:16px;background:#ffffffe0;border-color:var(--border);min-height:50px;box-shadow:var(--sh-sm)}.lux-times .chip.selected{background:var(--primary);border-color:var(--primary);color:#fff}.slot-note{color:var(--text-2);font-size:13px;line-height:1.45;text-align:center;margin:4px auto 0;max-width:300px}.summary.compact,.summary{border-radius:24px;border-color:#eee7efeb;box-shadow:var(--sh-md)}.celebrate{padding-top:4vh}.celebrate .burst{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 14px}.celebrate h1{font-size:36px}@media(max-width:360px){.home-greeting h1,.shop-head h1{font-size:29px}.service-row-price{display:none}.benefit-chips{grid-template-columns:1fr}.benefit-chips span{min-height:44px;flex-direction:row}}.client-flow{position:relative;max-width:430px;padding:18px 22px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffdfb,#fbf8f5 58%,#f3eefb);overflow-x:hidden}.client-flow .wave,.client-flow .progress{display:none}.client-flow h1,.client-flow h2{letter-spacing:0}.client-home{padding-bottom:0}.home-screen{gap:var(--sp-md)}.home-topbar{min-height:50px}.home-logo{width:96px}.home-greeting h1{font-size:25px;line-height:1.12;margin-bottom:0}.home-greeting p{font-size:18px;color:var(--ink);font-family:var(--display);font-weight:500}.home-greeting p:first-letter{color:var(--ink)}.home-hero{min-height:152px;border-radius:17px;box-shadow:var(--sh-md)}.home-hero-copy{min-height:152px;padding:20px;max-width:235px}.home-hero-copy span{display:none}.home-hero-copy strong{font-size:23px;margin:0 0 16px;max-width:190px}.home-hero-copy em{font-size:12px;padding:9px 15px}.next-moment-card{border-radius:18px;padding:14px 16px}.home-care-strip{grid-auto-columns:82px;gap:10px}.care-mini-card{min-height:118px;border-radius:14px;padding:6px;gap:5px;box-shadow:var(--sh-sm)}.care-mini-card img,.care-mini-card>span{aspect-ratio:1;border-radius:12px}.care-mini-card strong{font-size:11px;font-family:Inter,system-ui,sans-serif;text-align:center;align-self:center}.care-mini-card small,.care-mini-card em,.pros-preview{display:none}.client-tabbar{position:fixed;left:max(16px,calc((100vw - 430px)/2 + 16px));right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(10px + env(safe-area-inset-bottom));height:60px;z-index:50;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;padding:6px 14px 8px;border:1px solid rgba(238,231,239,.9);border-radius:26px;background:#fffffff0;box-shadow:0 6px 26px #2b184624;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.client-tabbar button{border:0;background:transparent;color:var(--text-2);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px}.client-tabbar button.on{color:var(--primary);font-weight:800}.client-tabbar .tab-book{position:relative;color:var(--primary)}.client-tabbar .tab-book>span{width:54px;height:54px;margin-top:-30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#a98bed,#8667d8);border:5px solid #fbf8f5;box-shadow:0 12px 24px #7b5dcc47}.client-tabbar .tab-book em{font-style:normal;font-size:11px;color:var(--primary);font-weight:800}.service-shop .back-link,.slot-stage .back-link{margin-bottom:4px}.shop-head h1{font-size:27px;line-height:1.1}.shop-head span{display:none}.shop-head p{font-size:13px}.category-pills{display:none}.premium-service-card{min-height:160px;border-radius:18px;box-shadow:var(--sh-md)}.premium-service-info{left:18px;bottom:18px}.premium-service-info small{display:none}.premium-service-info strong{font-size:27px}.premium-service-action{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:transparent}.premium-service-action:before{content:"✦";color:var(--primary);font-size:17px}.service-list-premium{gap:10px}.service-row-premium{min-height:82px;border-radius:17px;padding:10px;box-shadow:var(--sh-sm)}.service-row-premium img,.service-row-premium>span:first-child{order:2;width:78px;height:62px;border-radius:13px}.service-row-copy{order:1}.service-row-copy strong{font-size:18px}.service-row-copy small{font-size:12px}.service-row-copy em,.service-row-price{display:none}.help-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:16px;border:1px solid rgba(220,234,223,.9);border-radius:18px;background:#f5faf6f2;color:var(--ink);text-decoration:none}.help-card span{display:flex;flex-direction:column;gap:4px}.help-card small{color:var(--text)}.detail-hero{aspect-ratio:auto;height:var(--hero-h);border-radius:0 0 22px 22px;margin-bottom:var(--sp-md)}.detail-content-card{box-shadow:none;border:0;background:transparent;padding:0}.detail-content-card h1{font-size:28px;margin-bottom:8px}.detail-price{font-size:23px}.benefit-chips{margin:var(--sp-md) 0}.benefit-chips span{min-height:58px;border-radius:13px;background:#ffffffe0}.included-list{display:flex;flex-direction:column;gap:var(--sp-sm);margin:var(--sp-md) 0;color:var(--text);font-size:14px}.included-list strong{color:var(--ink);margin-bottom:2px}.included-list span:before{content:"✓";color:var(--primary);font-weight:900;margin-right:8px}.sticky-cta{border-radius:14px;min-height:56px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:var(--sp-md);padding:var(--sp-sm) 18px;border:1px solid var(--border);border-radius:16px;background:#ffffff8c}.detail-meta small{display:block;color:var(--text-2);font-size:13px;margin-bottom:4px}.detail-meta strong{color:var(--ink);font-family:var(--display);font-size:19px;font-weight:500}@media(max-width:400px){.app.client-detail{height:100dvh;min-height:0;overflow:hidden}.detail-lux{padding-bottom:90px}.detail-photo-badge{padding:6px 10px;font-size:11px}.detail-content-card h1{font-size:24px}.detail-desc{font-size:14px;line-height:1.45}.benefit-chips span{min-height:52px;font-size:11px;gap:4px;border-radius:13px}.included-list{font-size:14px}.detail-meta strong{font-size:18px}}.slot-head h2{font-size:28px}.slot-head p{max-width:260px}.date-rail{grid-auto-columns:54px;gap:7px}.date-card{min-height:72px;border-radius:13px;box-shadow:none}.date-card strong{font-size:17px}.selected-date-label{font-size:13px;margin-top:-4px}.lux-times{grid-template-columns:repeat(3,1fr);gap:9px}.lux-times .chip{min-height:44px;border-radius:12px;box-shadow:none}.slot-note{position:fixed;width:auto;left:max(24px,calc((100vw - 430px)/2 + 24px));right:max(24px,calc((100vw - 430px)/2 + 24px));bottom:calc(88px + env(safe-area-inset-bottom));z-index:29;margin:0;padding:10px 14px;border-radius:15px;background:#f5ecf2eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-2);box-shadow:0 6px 20px #2b18461a}.slot-stage{padding-bottom:168px}.sticky-cta:disabled{background:var(--pink-mid);opacity:1;color:#fff;box-shadow:none}.slot-pro-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink);font-weight:600}.slot-pro-bar button{border:0;background:transparent;color:var(--primary);font-weight:700;font-size:14px;padding:4px 0}.done-screen{justify-content:flex-start;padding-top:44px}.done-screen .burst{width:78px;height:78px;background:linear-gradient(135deg,#a98bed,#8667d8);box-shadow:0 18px 34px #7b5dcc3d}.done-screen h1{font-size:31px}.done-screen .summary{border-radius:18px;padding:16px;line-height:1.8}.done-screen .btn{border-radius:14px}html,body,#root{min-height:100%}body>#root{width:100%;min-height:100dvh;display:flex;justify-content:center;align-items:stretch}body>#root>.app.client-flow{position:relative;width:min(100%,430px);max-width:430px;flex:0 1 430px;margin-left:auto!important;margin-right:auto!important}.app.client-welcome{padding:0}body>#root>.admin,body>#root>.admin-login{width:100%}.mock-home-screen{gap:var(--sp-lg);padding-top:8px;padding-bottom:112px;background:#fffdfb}.app.client-home{height:100dvh;min-height:0;overflow:hidden}.home-modular{padding-bottom:0;min-height:0;gap:var(--sp-md)}.home-modular .mock-home-head,.home-modular .mock-hero-card{flex-shrink:0}.home-scroller{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch;scroll-padding-top:4px;display:flex;flex-direction:column;gap:var(--sp-lg);padding:2px 0 96px;margin-top:2px;scrollbar-width:none;-ms-overflow-style:none}.home-scroller::-webkit-scrollbar{display:none}.home-snap{scroll-snap-align:start;scroll-margin-top:4px}.home-scroller>section>h2{margin:0 0 var(--sp-sm);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:700;line-height:1.2}.home-reveal .products-carousel{transition:opacity .45s ease}.home-reveal:not(.in) .products-carousel{display:none}.home-reveal:not(.in):after{content:"";display:block;height:148px;border-radius:16px;background:linear-gradient(90deg,var(--pink-soft) 25%,#fffdfb 50%,var(--pink-soft) 75%);background-size:200% 100%;animation:sk-shimmer 1.5s ease-in-out infinite}.home-reveal.in .products-carousel{animation:fadeUp .5s ease}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.home-reveal:not(.in):after{animation:none}.home-reveal.in .products-carousel{animation:none}}.mock-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mock-home-head h1{margin:0 0 6px;font-family:var(--display);font-size:29px;line-height:1.05;font-weight:500;color:var(--ink)}.mock-home-head h1 span{color:var(--primary)}.mock-home-head p{margin:0;color:var(--text);font-size:15px;line-height:1.35}.mock-bell{border:0;background:transparent;color:var(--ink);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.home-moment-btn{flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:#ffffffb3;color:var(--primary-dark);font-size:13px;font-weight:700;padding:8px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-moment-btn svg{color:var(--primary)}.confirm-lite{gap:var(--sp-md)}.confirm-lite-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:var(--sp-md) 0 var(--sp-sm)}.confirm-lite-icon{width:66px;height:66px;border-radius:50%;background:var(--pink-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.confirm-lite-icon.soft{color:#1f8a4c;background:#e7f6ec}.confirm-lite-body h1{margin:6px 0 0}.confirm-lite-body .subtitle{margin:0;max-width:300px}.confirm-lite-actions{display:flex;flex-direction:column;gap:8px}.center-screen{justify-content:center}.center-screen .confirm-lite-actions{margin-top:var(--sp-lg)}.moment-screen{gap:var(--sp-md)}.moment-top{display:flex;align-items:center;justify-content:space-between}.moment-top .back-link{margin-bottom:0}.moment-logo{height:26px;width:auto;opacity:.9}.moment-greet{display:flex;flex-direction:column;gap:6px}.moment-greet h1{margin:0}.moment-greet h1 span{color:var(--primary)}.moment-greet .subtitle{margin:0}.moment-card{width:100%;border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--sh-md);border:1px solid var(--border)}.moment-card-hero{position:relative;height:clamp(150px,22vh,200px);background:var(--pink-soft)}.moment-card-hero>img,.moment-card-heroph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.moment-card-heroph{display:flex;align-items:center;justify-content:center;color:var(--primary)}.moment-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#140c0ab8,#140c0a0d 60%)}.moment-card-heroin{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:16px;display:flex;flex-direction:column;gap:4px;color:#fff}.moment-card-label{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#ffffff38;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.moment-card-heroin strong{font-family:var(--display);font-size:26px;font-weight:600;line-height:1.08;text-shadow:0 2px 10px rgba(0,0,0,.35)}.moment-card-when{display:inline-flex;align-items:center;gap:6px;font-size:14px;opacity:.95}.moment-card-foot{display:flex;flex-direction:column}.moment-pro{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.moment-pro-av{width:44px;height:44px;border-radius:50%;flex:none;background:var(--pink-soft);color:var(--primary-dark);font-weight:700;font-size:17px;display:inline-flex;align-items:center;justify-content:center}.moment-pro-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.moment-pro-info strong{font-size:15px;font-weight:600;color:var(--ink)}.moment-pro-info small{color:var(--text-2);font-size:12px}.moment-price{flex:none;background:var(--pink-soft);color:var(--primary-dark);font-weight:700;font-size:14px;padding:6px 12px;border-radius:999px}.moment-loc{display:flex;align-items:center;gap:12px;padding:14px 16px;text-decoration:none}.moment-loc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.moment-loc-info strong{font-size:15px;font-weight:600;color:var(--ink)}.moment-loc-info small{color:var(--text-2);font-size:13px}.moment-loc>svg:last-child{color:var(--text-2);flex:none}.moment-actions{display:flex;flex-direction:column;gap:10px}.moment-links{display:flex;align-items:center;justify-content:center;gap:18px;padding:2px 0}.moment-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--primary-dark);font-size:14px;font-weight:600;padding:6px 4px}.moment-link.muted{color:var(--text-2)}.moment-link-sep{width:1px;height:16px;background:var(--border)}.moment-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px 0}.moment-empty-icon{color:var(--primary)}.moment-empty-title{font-family:var(--display);font-size:20px;font-weight:500;color:var(--ink);line-height:1.15;max-width:300px}.moment-empty .subtitle{margin:0;max-width:300px}.moment-empty .btn{width:100%;max-width:300px}.moment-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--sp-lg)}.moment-history-title{margin:0;display:flex;align-items:center;gap:8px}.moment-history-count{flex:none;background:var(--pink-soft);color:var(--primary-dark);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}.moment-hist{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;padding:10px 14px;background:#ffffff8c}.moment-hist img,.moment-hist-ph{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:none;background:var(--pink-soft)}.moment-hist-ph{display:inline-flex;align-items:center;justify-content:center;color:var(--primary)}.moment-hist-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.moment-hist-info strong{font-size:15px;font-weight:600;color:var(--ink)}.moment-hist-info small{color:var(--text-2);font-size:12px}.moment-status{flex:none;font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;white-space:nowrap}.moment-status.done{background:#e7f6ec;color:#1f8a4c}.moment-status.pending{background:#fff4e6;color:#b35c00}.moment-status.cancel{background:#f4eef2;color:#9b6b86}.moment-status.scheduled{background:var(--pink-soft);color:var(--primary-dark)}.home-next{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;border-radius:22px;padding:16px;background:linear-gradient(135deg,#a98bed,#8667d8);color:#fff;box-shadow:0 16px 34px #7b5dcc47;transition:transform .15s,box-shadow .25s}.home-next:active{transform:scale(.99)}.home-next-thumb{width:62px;height:62px;border-radius:16px;object-fit:cover;flex:none;background:#fff3}.home-next-thumb.ph{display:inline-flex;align-items:center;justify-content:center;color:#fff}.home-next-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-next-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.home-next-body strong{font-family:var(--display);font-size:21px;font-weight:500;line-height:1.1}.home-next-meta{font-size:13px;opacity:.92;line-height:1.35}.home-next-go{flex:none;opacity:.9}.home-next-empty{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--border);border-radius:20px;padding:16px;background:#ffffff8c;color:var(--ink)}.home-next-empty-icon{width:46px;height:46px;border-radius:50%;flex:none;background:var(--pink-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.home-next-empty-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-next-empty-body strong{font-size:15px;font-weight:600;color:var(--ink)}.home-next-empty-body small{color:var(--text-2);font-size:13px}.home-next-empty .home-next-go{color:var(--primary)}.products-section{display:flex;flex-direction:column;gap:var(--sp-sm)}.products-carousel{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;scroll-snap-type:x proximity}.products-carousel::-webkit-scrollbar{display:none}.product-card{position:relative;flex:0 0 168px;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff;text-decoration:none;box-shadow:var(--sh-md)}.product-img{width:100%;height:120px;object-fit:cover;display:block}.product-img.ph{display:flex;align-items:center;justify-content:center;color:#fff}.acc-0 .product-img.ph{background:linear-gradient(135deg,#e59bc4,#a9739e)}.acc-1 .product-img.ph{background:linear-gradient(135deg,#e6cfa8,#c8a06b)}.acc-2 .product-img.ph{background:linear-gradient(135deg,#cc6b6b,#7b3b57)}.acc-3 .product-img.ph{background:linear-gradient(135deg,#e3b877,#b07d3e)}.product-tag{position:absolute;top:10px;left:10px;background:#ffffffeb;color:var(--primary-dark);font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:4px 9px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.product-info{display:flex;flex-direction:column;gap:2px;padding:10px 12px 8px;flex:1}.product-info strong{font-family:var(--display);font-size:15px;font-weight:500;color:var(--ink);line-height:1.15}.product-info small{color:var(--text-2);font-size:11px}.product-price{color:var(--primary-dark);font-weight:700;font-size:15px;margin-top:2px}.product-wa{display:flex;align-items:center;justify-content:center;gap:6px;background:#25d366;color:#fff;font-size:12px;font-weight:700;padding:9px}.mock-hero-card{position:relative;width:100%;height:205px;overflow:hidden;border:0;border-radius:22px;background:#3b2b23;padding:0;text-align:left;box-shadow:0 14px 34px #2b184621}.mock-hero-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.03)}.mock-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#1e120ec7,#2d1c146b 48%,#2d1c141f)}.mock-hero-copy{position:relative;z-index:1;min-height:205px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:22px}.mock-hero-copy strong{color:#fff;font-family:var(--display);font-size:26px;font-weight:600;line-height:1.14;max-width:210px;text-shadow:0 2px 7px rgba(0,0,0,.34)}.mock-hero-copy em{margin-top:0;min-width:150px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#a98bed,#8667d8);color:#fff;font-style:normal;font-weight:800;font-size:15px;box-shadow:0 10px 24px #563a9f40}.mock-next-section,.mock-care-section{display:flex;flex-direction:column;gap:var(--sp-sm)}.mock-section-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.mock-section-row h2,.mock-care-section h2{margin:0;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:700;line-height:1.2}.mock-section-row button{border:0;background:transparent;color:var(--primary);font-size:14px;font-weight:700;padding:4px 0}.mock-next-card{width:100%;min-height:104px;display:flex;align-items:center;gap:14px;border:1px solid rgba(238,231,239,.95);border-radius:17px;background:#fffffff5;padding:18px 20px;text-align:left;box-shadow:0 10px 28px #2b18460f}.mock-next-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.mock-next-copy strong{color:var(--ink);font-family:var(--display);font-size:21px;font-weight:500;line-height:1.1}.mock-next-copy small{color:var(--text);font-size:15px;line-height:1.15}.mock-next-card img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;background:var(--pink-soft)}.mock-care-carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}.mock-care-carousel::-webkit-scrollbar{display:none}.mock-care-card{flex:0 0 108px;scroll-snap-align:start;min-height:118px;border:1px solid rgba(238,231,239,.95);border-radius:17px;overflow:hidden;background:#fff;padding:0 0 12px;box-shadow:0 8px 22px #2b18460e;display:flex;flex-direction:column;text-align:center}.mock-care-card img,.mock-care-card>span{width:100%;height:78px;object-fit:cover;background:var(--pink-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;border-radius:16px 16px 0 0}.mock-care-card strong{color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:600;line-height:1.2;padding:8px 4px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}@media(max-width:380px){.mock-home-head h1{font-size:26px}.mock-hero-card{height:168px}.mock-hero-copy{min-height:168px}.mock-hero-copy strong{font-size:24px}.mock-hero-copy em{min-width:138px;font-size:14px}.mock-next-card{min-height:0;padding:14px 16px}.mock-next-copy{gap:4px}.mock-next-copy strong{font-size:19px}.mock-next-copy small{font-size:14px}.mock-care-card{flex-basis:96px;min-height:132px}.mock-care-card img,.mock-care-card>span{height:86px}}@media(min-width:700px){body>#root>.app.client-flow{width:min(100%,460px);max-width:460px;flex-basis:460px}.client-welcome-photo,.client-welcome-logo{top:calc(-1*clamp(430px,52dvh,660px) + 42px)}}@media(max-height:740px){.client-welcome-logo{top:calc(-52dvh + 28px);width:112px}.client-welcome-copy{margin-bottom:48px}.client-welcome-copy h1{font-size:30px}}@media(max-width:480px){.home-modular{--sp-xs: 4px;--sp-sm: 7px;--sp-md: 9px;--sp-lg: 13px;--sp-xl: 18px;gap:var(--sp-md)}.home-modular .mock-home-head h1{font-size:23px}.home-modular .mock-home-head p{font-size:12.5px}.home-modular .mock-hero-card{height:158px}.home-modular .mock-hero-copy{min-height:158px;padding:16px 18px}.home-modular .mock-hero-copy strong{font-size:21px;max-width:190px}.home-modular .mock-hero-copy em{font-size:13px;min-height:42px;min-width:130px;padding:0 18px}.home-scroller{padding-bottom:100px}.home-scroller>section>h2{font-size:15.5px;margin-bottom:var(--sp-xs)}.home-reveal:not(.in):after{height:132px}.home-modular .home-next,.home-modular .home-next-empty{padding:12px 13px;gap:11px;border-radius:15px}.home-modular .home-next-empty-icon{width:38px;height:38px}.home-modular .home-next-empty-body strong,.home-modular .home-next-body strong{font-size:14px}.home-modular .home-next-empty-body small,.home-modular .home-next-meta{font-size:12px}.home-modular .home-next-go{width:18px;height:18px}.app.client-category,.app.client-service{padding-top:8px}.category-pick,.service-shop{--sp-md: 9px;--sp-lg: 13px}.category-pick .back-link,.service-shop .back-link{margin-bottom:6px}.shop-head h1,.slot-head h2,.detail-content-card h1{font-size:22px;margin-top:0;line-height:1.12}.shop-head p,.slot-head p,.detail-desc{font-size:13.5px;line-height:1.45}.shop-head span{display:none}.app.client-category,.app.client-service,.app.client-schedule{padding-top:8px}.category-pick .back-link,.service-shop .back-link,.slot-stage .back-link{margin-bottom:6px}.slot-stage{gap:var(--sp-sm)}.slot-head h2{margin:0 0 4px}.period-tab{padding:9px 4px;font-size:13px;border-radius:12px}.chips.times .chip{padding:7px 4px;font-size:13px}.selected-date-label{font-size:13px}.slot-note{font-size:12px}.cat-card{height:clamp(96px,13vh,128px);border-radius:18px}.service-hero{height:clamp(112px,15vh,148px);border-radius:16px}.service-card{padding:10px 12px 10px 14px;border-radius:13px}.service-card-name{font-size:15px}.service-card-cta{min-height:38px;padding:8px 16px;font-size:13px}.detail-lux{padding-bottom:118px}.detail-hero{height:clamp(150px,26vh,208px);margin-bottom:var(--sp-sm)}.detail-content-card h1{font-size:22px;margin-bottom:6px}.detail-desc{font-size:13.5px;line-height:1.45;margin-bottom:var(--sp-sm)}.benefit-chips{margin:var(--sp-sm) 0}.benefit-chips span{min-height:48px;font-size:11px;border-radius:12px}.included-list{font-size:13.5px}.included-list strong{font-size:14px}.detail-meta strong{font-size:17px}.sticky-cta{min-height:52px}.confirm-screen h2,.confirm-head h1,.review-screen h1,.moment-greet h1,.client-moment .step>h1,.confirm-lite-body h1{font-size:22px;line-height:1.15;margin:0 0 6px}.confirm-screen .subtitle,.confirm-head p,.review-screen .subtitle,.moment-greet .subtitle,.moment-greet p,.client-moment .step>.subtitle,.confirm-lite-body .subtitle{font-size:13.5px;line-height:1.45;margin:0}.confirm-screen{gap:var(--sp-sm)}.review-screen{gap:8px;padding-bottom:112px}.review-screen h1{margin-top:0}.review-foot{gap:8px}.review-burst{margin-bottom:-26px}.review-check{width:50px;height:50px}.review-card{padding:12px 14px}.review-service img{width:50px;height:50px}.review-service-main strong{font-size:16px}.review-line{padding-top:10px}.review-local,.review-reminder{padding:11px 13px}.moment-card-hero{height:clamp(126px,18vh,166px)}.moment-card-heroin strong{font-size:21px}}.client-welcome:not(.app){position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;z-index:20;overflow:hidden;background:#1a1018}.client-welcome-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.client-welcome-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1a100a1a,#1a100a00 24%,#120a1833 52%,#100916e0)}.client-welcome-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 20px) 28px calc(env(safe-area-inset-bottom) + 24px)}.client-welcome-logo{width:230px;height:auto;align-self:center;flex-shrink:0;margin-top:6px}.client-welcome-copy{margin-top:auto;margin-bottom:72px;text-align:left}.client-welcome-copy h1{font-family:var(--display);font-size:40px;font-weight:600;line-height:1.07;letter-spacing:-.01em;color:#fff;margin:0 0 12px;text-shadow:0 2px 16px rgba(0,0,0,.45)}.client-welcome-copy p{color:#ffffffeb;font-size:16px;line-height:1.42;margin:0;max-width:300px;text-shadow:0 1px 10px rgba(0,0,0,.42)}.client-welcome-actions{display:flex;flex-direction:column;gap:6px}.client-welcome-actions .btn{min-height:56px}.client-welcome-actions .btn-link-light{color:#fff;opacity:.96;background:transparent;border:none;padding:8px;font-size:15px;text-decoration:underline}.detail-fav{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:#ffffffeb;border:none;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--sh-sm);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-fav:active{transform:scale(.92)}.fav-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px;color:var(--text-2)}.fav-empty svg{color:var(--pink-mid)}.fav-empty strong{font-family:var(--display);font-size:22px;color:var(--ink);margin-top:4px}.fav-empty p{font-size:15px;line-height:1.45;max-width:280px;margin:0 0 8px}.fav-empty .btn{max-width:260px}.schedule-pro{display:flex;flex-direction:column;gap:12px;margin-top:20px;animation:fadeUp .35s ease}.schedule-pro-title{font-family:var(--display);font-size:18px;color:var(--ink);margin:4px 0 0}.pro-chosen{align-items:center}.pro-change{border:1px solid var(--border);background:var(--surface);color:var(--primary-dark);font-weight:600;font-size:13px;padding:8px 14px;border-radius:999px;align-self:center}.pro-change:active{transform:scale(.96)}.confirm-head{margin-bottom:4px}.confirm-head h1{font-family:var(--display);font-size:28px;color:var(--ink);margin:0 0 4px}.confirm-head p{color:var(--text-2);font-size:15px;margin:0}.confirm-prefs{display:flex;flex-direction:column;gap:10px;margin:var(--sp-md) 0 var(--sp-xs)}.confirm-prefs h3{font-family:var(--display);font-size:17px;color:var(--ink);margin:8px 0 0}.link-note{border:0;background:transparent;color:var(--primary-dark);font-weight:600;font-size:14px;padding:6px 0;text-align:left;align-self:flex-start}.confirm-reminder{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px;margin:12px 0;line-height:1.4}.confirm-reminder svg{color:var(--primary);flex:none}.app.client-confirm{height:100dvh;min-height:0;overflow:hidden}.confirm-screen{gap:var(--sp-md);padding-bottom:88px}.section-label{font-family:var(--display);font-size:19px;font-weight:500;color:var(--ink);margin:0}.section-sub{color:var(--text-2);font-size:14px;margin:2px 0 0}.data-section{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.data-phone{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--border);border-radius:16px;padding:14px 16px;background:#ffffff8c;font-size:16px;color:var(--ink)}.data-phone-num{flex:1;min-width:0}.verified-badge{display:inline-flex;align-items:center;flex:none;margin-left:auto;white-space:nowrap;background:#e7f6ec;color:#1f8a4c;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}.welcome-back{background:var(--pink-soft);border-radius:20px;padding:18px 20px}.welcome-back h2{font-family:var(--display);font-size:22px;font-weight:500;color:var(--ink);line-height:1.15;margin:0 0 6px}.welcome-heart{display:inline;vertical-align:middle;margin-left:8px}.welcome-back p{color:var(--text-2);font-size:14px;margin:0}.prefs-section{display:flex;flex-direction:column;gap:4px}.pref-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.pref-card{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;border:1.5px solid var(--border);border-radius:20px;padding:16px;background:#ffffff8c;transition:border-color .2s,background .2s}.pref-card.selected{border-color:var(--primary);background:#9b83e614}.pref-icon{width:44px;height:44px;border-radius:50%;background:var(--pink-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.pref-card.selected .pref-icon{background:var(--primary);color:#fff}.pref-check{position:absolute;top:16px;right:16px;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center}.pref-card strong{font-family:var(--display);font-size:17px;font-weight:500;color:var(--ink);line-height:1.12;margin-top:2px}.pref-card small{color:var(--text-2);font-size:12px;line-height:1.35}@media(max-width:400px){.confirm-screen{gap:12px}.confirm-head h1{font-size:25px}.confirm-head p{font-size:14px}.data-phone{padding:12px 14px;font-size:15px}.welcome-back{padding:14px 16px}.welcome-back h2{font-size:20px;margin-bottom:4px}.prefs-section{gap:2px}.pref-cards{gap:10px;margin-top:10px}.pref-card{padding:12px;gap:6px}.pref-icon{width:40px;height:40px}.pref-card strong{font-size:15px}.pref-card small{font-size:11px}}.summary-section{display:flex;flex-direction:column;gap:12px}.booking-summary{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:20px;padding:14px;background:#ffffff8c}.booking-summary img{width:68px;height:68px;border-radius:14px;object-fit:cover;flex:none}.booking-summary-info{display:flex;flex-direction:column;gap:2px;min-width:0}.booking-summary-info strong{font-family:var(--display);font-size:18px;font-weight:500;color:var(--ink);line-height:1.1}.booking-summary-info small{color:var(--text-2);font-size:13px}.booking-summary-info em{font-style:normal;font-weight:700;color:var(--primary-dark);font-size:15px;margin-top:4px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#fbf8f599;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:fadeUp .15s ease}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(155,131,230,.25);border-top-color:var(--primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#dceadff2,#fbf8f500 55%),linear-gradient(180deg,#fbf8f5,#f8f4f8 54%,#eee8fb);animation:fadeUp .25s ease}.splash-logo{position:relative;width:min(64%,260px);animation:splashBreathe 3s ease-in-out}.splash-logo img{display:block;width:100%;height:auto}.splash-logo-base{opacity:.22;filter:grayscale(1)}.splash-logo-fill{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(100% 0 0 0);animation:splashFill 2.6s cubic-bezier(.4,0,.2,1) forwards}@keyframes splashFill{0%{clip-path:inset(100% 0 0 0)}85%,to{clip-path:inset(0 0 0 0)}}@keyframes splashBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#1e121e73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeUp .2s ease}.modal-card{width:100%;max-width:360px;background:#fff;border-radius:24px;padding:28px 24px;text-align:center;box-shadow:var(--sh-lg);display:flex;flex-direction:column;align-items:center;gap:16px}.modal-icon{width:60px;height:60px;border-radius:50%;background:var(--pink-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.modal-card p{color:var(--text);font-size:16px;line-height:1.45;margin:0}.modal-card .btn{margin-top:4px}.modal-times{width:100%;justify-content:center}.app.client-review{height:100dvh;min-height:0;overflow:hidden;padding-top:8px}.review-screen{align-items:center;text-align:center;gap:var(--sp-sm);padding-bottom:112px}.review-screen .back-link{align-self:flex-start;margin-bottom:0}.review-burst{color:var(--primary);margin-bottom:-38px;opacity:.85}.review-check{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#a98bed,#8667d8);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 18px 34px #7b5dcc3d;animation:pop .5s ease}.review-screen h1{font-family:var(--display);font-size:27px;color:var(--ink);margin:2px 0 0}.review-screen .subtitle{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);margin:0}.review-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:20px;padding:16px 18px;background:#ffffff8c;display:flex;flex-direction:column;gap:12px}.review-service{display:flex;align-items:center;gap:12px}.review-service img{width:60px;height:60px;border-radius:14px;object-fit:cover;flex:none}.review-service-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.review-service-side{display:flex;flex-direction:column;gap:6px;text-align:right;flex:none}.review-service-side>div,.review-line{display:flex;flex-direction:column;gap:1px;min-width:0}.review-k{color:var(--text-2);font-size:12px}.review-card strong{color:var(--ink);font-size:15px;font-weight:600}.review-service-main strong{font-family:var(--display);font-size:19px;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-line{border-top:1px solid var(--border);padding-top:12px}.review-local{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:16px;padding:12px 16px;background:#ffffff8c}.review-local>svg{flex:none}.review-local strong{color:var(--ink);font-size:15px;font-weight:600}.review-local small{color:var(--text-2);font-size:13px}.review-reminder{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--sage);color:#2f6b4f;border-radius:14px;padding:11px 14px;font-size:13px;line-height:1.35}.review-reminder svg{flex:none}.review-foot{position:fixed;left:max(24px,calc((100vw - 430px)/2 + 24px));right:max(24px,calc((100vw - 430px)/2 + 24px));bottom:calc(18px + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column-reverse;gap:8px;margin:0}.review-cal{display:inline-flex;align-items:center;gap:8px;justify-content:center;color:var(--primary-dark);font-weight:600;font-size:15px;text-decoration:none;padding:4px}
