:root{color:#17211f;background:#edf3f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;letter-spacing:0}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(13,107,99,.28);outline-offset:2px}.page{display:grid;place-items:center;min-height:100vh;padding:32px;background:linear-gradient(140deg,#0d6b6324,#f7faf8e0 45%,#f2b56b2e),#edf3f0}.workspace{display:grid;place-items:center;width:100%;max-width:980px;min-height:calc(100vh - 64px);margin:0 auto}.phoneShell{position:relative;display:grid;justify-items:center;width:100%}.phoneShell:before{position:absolute;top:12%;left:50%;width:min(76vw,760px);height:70%;border-radius:36px;background:linear-gradient(135deg,#ffffffb8,#ffffff2e),var(--hero-image);background-position:center;background-size:cover;content:"";filter:saturate(.75);opacity:.18;transform:translate(-50%)}.device{position:relative;display:flex;width:min(402px,100%);height:min(852px,calc(100vh - 48px));min-height:760px;flex-direction:column;overflow:hidden;border:10px solid #151b1a;border-radius:46px;background:linear-gradient(180deg,#ffffffeb,#f7faf8eb),#f7faf8;box-shadow:0 34px 90px #17211f47,inset 0 0 0 1px #ffffff52;z-index:1}.deviceTop{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:8px 20px 0;color:#17211f;background:#f7faf8f5;font-size:13px;font-weight:800}.dynamicIsland{width:118px;height:34px;border-radius:999px;background:#151b1a;box-shadow:inset 0 0 0 1px #ffffff12}.statusTime{justify-self:start}.statusIcons{display:inline-flex;justify-self:end;align-items:center;gap:6px}.appHeader{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px 14px;background:#f7faf8f5}.appHeader p{margin:0 0 4px;color:#66736f;font-size:13px}.appHeader h2{max-width:230px;margin:0;overflow:hidden;color:var(--ink);font-size:24px;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.iconButton{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;height:40px;border:1px solid rgba(23,33,31,.1);border-radius:999px;color:#17211f;background:#fff;box-shadow:0 8px 20px #17211f0f;cursor:pointer}.screen,.authScreen{flex:1 1 auto;overflow-y:auto;padding:8px 20px calc(102px + env(safe-area-inset-bottom));scrollbar-width:none}.screenWithDock{padding-bottom:calc(214px + env(safe-area-inset-bottom))}.screen::-webkit-scrollbar,.authScreen::-webkit-scrollbar{display:none}.authScreen{display:flex;min-height:0;flex-direction:column;justify-content:center}.authIcon{display:grid;width:80px;height:80px;place-items:center;margin-bottom:22px;border-radius:24px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent),var(--primary);box-shadow:0 18px 36px #0d6b6340}.authScreen h3{margin:0 0 10px;color:var(--ink);font-size:29px;line-height:1.04}.authScreen p{margin:0 0 18px;color:#61706c;line-height:1.5}.authChips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.authChips span{min-height:30px;padding:6px 10px;border-radius:999px;color:var(--primary);background:#0d6b6317;font-size:12px;font-weight:800}.flowPill{width:fit-content;min-height:28px;margin-bottom:12px;padding:6px 10px;border-radius:999px;color:var(--primary);background:#0d6b6317;font-size:12px;font-weight:900}.field{display:grid;gap:8px;margin-bottom:16px}.field span{color:#52615d;font-size:13px;font-weight:800}.field input{width:100%;height:56px;padding:0 16px;border:1px solid rgba(23,33,31,.14);border-radius:8px;outline:none;background:#fff;color:#17211f;font-size:17px;box-shadow:0 12px 28px #17211f0d}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0d6b631a}.codeField input{height:62px;font-size:24px;font-weight:900;text-align:center}.heroPanel{position:relative;min-height:318px;overflow:hidden;border-radius:8px;color:#fff;background-image:linear-gradient(180deg,#10181614,#101816c7),var(--hero-image);background-position:center;background-size:cover;box-shadow:0 18px 38px #17211f24}.heroContent{position:absolute;right:0;bottom:0;left:0;padding:18px}.brandPill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff24;color:#fff;font-size:12px;font-weight:850;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.heroPanel h3{margin:12px 0 6px;font-size:29px;line-height:1.02}.heroPanel p{max-width:280px;margin:0 0 12px;color:#ffffffd4;font-size:14px;line-height:1.35}.ratingLine{display:inline-flex;align-items:center;gap:6px;min-height:30px;color:#fff;font-size:13px}.ratingLine svg{fill:var(--accent);color:var(--accent)}.ratingLine strong{font-weight:900}.ratingLine span{color:#ffffffb8}.heroAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:8px;color:#17211f;background:#fff;font-weight:900;text-decoration:none}.actionStrip{display:grid;grid-template-columns:1.25fr 1fr .82fr;gap:8px;margin-top:12px}.actionTile{display:grid;min-height:82px;align-content:center;justify-items:start;gap:9px;padding:13px;border:1px solid rgba(23,33,31,.08);border-radius:8px;color:var(--ink);background:#fff;box-shadow:0 10px 28px #17211f0f;font-size:12px;font-weight:900;text-align:left;cursor:pointer}.actionTile svg{color:var(--primary)}.actionTile.primaryTile{color:#fff;background:var(--primary)}.actionTile.primaryTile svg{color:#fff}.actionTile.active{color:var(--primary);background:#0d6b6314}.insightStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.insightStrip div{min-height:74px;padding:12px;border:1px solid rgba(23,33,31,.08);border-radius:8px;background:#fff;box-shadow:0 10px 28px #17211f0f}.insightStrip strong,.insightStrip span{display:block}.insightStrip strong{color:var(--primary);font-size:20px;line-height:1}.insightStrip span{margin-top:7px;color:#66736f;font-size:11px;font-weight:750;line-height:1.2}.card{margin-top:14px;padding:18px;border:1px solid rgba(23,33,31,.09);border-radius:8px;background:#fffffff0;box-shadow:0 14px 32px #17211f12}.card.tall{min-height:430px}.cardTitle{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:850}.card p{margin:12px 0 18px;color:#63706d;line-height:1.5}.appointmentPreview{display:flex;align-items:center;gap:14px;min-height:76px;padding:12px;border-radius:8px;background:#edf6f3}.appointmentPreview div{display:grid;width:68px;height:52px;place-items:center;border-radius:8px;color:#fff;background:var(--primary)}.appointmentPreview strong,.appointmentPreview span{display:block}.appointmentPreview strong{font-size:12px}.appointmentPreview span{font-size:15px;font-weight:900}.appointmentPreview p{margin:0;color:#273431;font-weight:800}.primaryAction{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:var(--primary);box-shadow:0 16px 28px #0d6b6333;font-weight:900;text-decoration:none;cursor:pointer}.primaryAction small{color:#ffffffc2;font-size:12px;font-weight:850}.primaryAction.wide{width:100%}.primaryAction:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.textAction{display:inline-flex;align-self:center;justify-content:center;min-height:42px;margin-top:8px;border:0;color:var(--primary);background:transparent;font-size:13px;font-weight:900;cursor:pointer}.quickGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.quickAction{display:grid;min-height:104px;align-content:space-between;justify-items:start;gap:10px;padding:16px;border:1px solid rgba(23,33,31,.1);border-radius:8px;color:#17211f;background:#fff;box-shadow:0 12px 28px #17211f0f;font-weight:850;text-align:left;cursor:pointer}.quickAction svg{color:var(--rose)}.quickAction.active{color:var(--primary);background:#0d6b6314}.sectionBlock{margin-top:18px}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.sectionHeader.compact{margin-top:16px}.sectionHeader h3{margin:0;color:var(--ink);font-size:18px;line-height:1.15}.sectionHeader button{border:0;color:var(--primary);background:transparent;font-size:12px;font-weight:900;cursor:pointer}.compactServiceList{display:grid;gap:10px}.serviceList{display:grid;gap:10px;margin:10px 0 14px}.serviceRow{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:96px;padding:10px 12px;border:1px solid rgba(23,33,31,.08);border-radius:8px;color:inherit;background:#f8fbf9;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.serviceRow:active{transform:scale(.99)}.serviceRow.selectedService{border-color:#0d6b636b;background:#edf6f3}.selectedBadge{position:absolute;top:7px;right:38px;display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 7px;border-radius:999px;color:var(--primary);background:#fff;font-size:10px;font-weight:950;box-shadow:0 4px 10px #17211f14}.selectedBadge svg{flex:0 0 auto}.serviceIcon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--primary);background:#0d6b6317}.servicePhoto{position:relative;width:76px;height:76px;flex:0 0 auto;overflow:hidden;border-radius:8px;background-position:center;background-size:cover}.servicePhoto:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.36));content:""}.servicePhoto span{position:absolute;right:7px;bottom:7px;z-index:1;display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#fff;background:#0d6b63e6}.serviceRow strong,.serviceRow span{display:block}.serviceRow div:nth-child(2){min-width:0;flex:1 1 auto}.serviceRow strong{color:var(--ink)}.serviceRow span{margin-top:4px;color:#66736f;font-size:12px;font-weight:750}.serviceRow em{flex:0 0 auto;color:var(--primary);font-size:12px;font-style:normal;font-weight:950}.serviceChevron{flex:0 0 auto;color:#8a9692}.serviceRow .selectedBadge{display:inline-flex;margin-top:0;color:var(--primary);font-size:10px}.timeGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.bookingProgress{display:grid;gap:10px;margin-top:14px;padding:12px;border-radius:8px;background:#edf6f3}.bookingProgress>span{color:var(--primary);font-size:12px;font-weight:950}.bookingProgress>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bookingProgress strong{display:flex;align-items:center;gap:6px;min-width:0;min-height:36px;padding:0 7px;border-radius:8px;color:#34433f;background:#ffffffb8;font-size:11px;font-weight:900}.bookingProgress em{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;border-radius:999px;color:#fff;background:var(--primary);font-size:11px;font-style:normal}.dateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.dateGrid button{display:grid;min-height:86px;align-content:center;gap:7px;border:1px solid rgba(23,33,31,.1);border-radius:8px;color:#34433f;background:#fff;cursor:pointer}.dateGrid span,.dateGrid small{display:block}.dateGrid span{font-size:15px;font-weight:950}.dateGrid small{color:#70807b;font-size:12px;font-weight:800}.dateGrid .selectedDate{border-color:var(--primary);color:#fff;background:var(--primary)}.dateGrid .selectedDate small{color:#ffffffb8}.timeGrid button{min-height:42px;border:1px solid rgba(23,33,31,.1);border-radius:8px;color:#384642;background:#fff;font-size:12px;font-weight:900;cursor:pointer}.timeGrid .selectedTime{border-color:var(--primary);color:#fff;background:var(--primary)}.specialistRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.specialistCard{display:grid;width:100%;min-height:148px;justify-items:center;align-content:center;gap:6px;padding:12px 8px;border:1px solid rgba(23,33,31,.08);border-radius:8px;color:inherit;background:#fff;text-align:center;cursor:pointer}.specialistCard.selectedSpecialist{border-color:#0d6b636b;background:#edf6f3}.miniAvatar{display:grid;width:58px;height:58px;place-items:center;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--rose));font-weight:950}.photoAvatar{background-position:center;background-size:cover}.specialistCard strong{color:var(--ink);font-size:13px}.specialistCard span{color:#66736f;font-size:10px;font-weight:800;line-height:1.2}.bookingSummary{position:relative;display:grid;gap:4px;margin-top:14px;padding:14px 86px 14px 14px;border:1px solid rgba(13,107,99,.2);border-radius:8px;background:#edf6f3}.bookingSummary span,.bookingSummary small{color:#66736f;font-size:12px;font-weight:800}.bookingSummary strong{color:var(--ink);font-size:16px}.bookingSummary em{position:absolute;top:50%;right:14px;color:var(--primary);font-size:13px;font-style:normal;font-weight:950;transform:translateY(-50%)}.bookingDock{position:absolute;right:10px;bottom:calc(82px + env(safe-area-inset-bottom));left:10px;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(23,33,31,.08);border-radius:8px;background:#fffffff5;box-shadow:0 18px 36px #17211f29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bookingDock div{min-width:0}.bookingDock span,.bookingDock small,.bookingDock strong{display:block}.bookingDock>div>span{color:#66736f;font-size:11px;font-weight:900}.bookingDock strong{margin-top:3px;overflow:hidden;color:var(--ink);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.bookingDock small{margin-top:4px;overflow:hidden;color:#66736f;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dockAction{display:grid;min-width:132px;min-height:56px;align-content:center;justify-items:center;border:0;border-radius:8px;color:#fff;background:var(--primary);box-shadow:0 14px 24px #0d6b6338;cursor:pointer}.dockAction span{font-size:13px;font-weight:950}.dockAction em{margin-top:3px;color:#ffffffbd;font-size:11px;font-style:normal;font-weight:850}.detailScreen{display:grid;gap:14px}.backButton{display:inline-flex;width:fit-content;min-height:40px;align-items:center;gap:7px;border:0;color:var(--primary);background:transparent;font-size:13px;font-weight:950;cursor:pointer}.detailHero{position:relative;min-height:318px;overflow:hidden;border-radius:8px;background-position:center;background-size:cover;box-shadow:0 16px 34px #17211f21}.detailHero:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000005,#0006);content:""}.detailHeroBadge{position:absolute;right:14px;bottom:14px;z-index:1;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border-radius:999px;color:#fff;background:#0d6b63e0;font-weight:950;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.specialistHero{background-position:center top}.detailBody{display:grid;gap:12px;padding-bottom:8px}.detailEyebrow{color:var(--primary);font-size:12px;font-weight:950}.detailBody h3{margin:0;color:var(--ink);font-size:28px;line-height:1.08}.detailBody p{margin:0;color:#5f6f6a;font-size:15px;line-height:1.5}.detailChips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}.detailChips span{display:inline-flex;min-height:30px;align-items:center;gap:5px;padding:0 10px;border-radius:999px;color:var(--primary);background:#0d6b6317;font-size:12px;font-weight:850}.masterMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px;border-radius:8px;background:#edf6f3}.masterMeta span{display:inline-flex;align-items:center;gap:7px;color:#66736f;font-size:13px;font-weight:850}.masterMeta strong{color:var(--ink);font-size:18px}.membershipBadge{display:grid;width:100%;min-height:144px;align-content:center;gap:8px;margin:20px 0;padding:20px;border-radius:8px;color:#17211f;background:linear-gradient(135deg,rgba(255,255,255,.45),transparent),linear-gradient(135deg,#f5c86f,#fff1bd 52%,#e9aa53);box-shadow:inset 0 0 0 1px #ffffff8c}.visitCard{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:78px;margin-top:18px;padding:14px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--primary),#17423b)}.successNotice{display:flex;align-items:center;gap:9px;min-height:42px;margin-top:16px;padding:10px 12px;border-radius:8px;color:var(--primary);background:#0d6b6317;font-size:13px;font-weight:900}.visitCard strong,.visitCard span{display:block}.visitCard strong{font-size:15px}.visitCard span{margin-top:5px;color:#ffffffbf;font-size:12px;font-weight:750}.membershipBadge span{font-size:36px;font-weight:950}.membershipBadge strong{font-size:15px}.benefitList{border-top:1px solid rgba(23,33,31,.08)}.profileHero{display:flex;align-items:center;gap:14px;min-height:88px;margin:18px 0 8px;padding:14px;border-radius:8px;background:#edf6f3}.avatar{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--rose));font-weight:900}.profileHero strong,.profileHero span{display:block}.profileHero strong{color:var(--ink)}.profileHero span{margin-top:4px;color:#66736f;font-size:13px}.profileRow{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid rgba(23,33,31,.08);color:#33413e;font-weight:700}.profileRow svg{flex:0 0 auto;color:var(--primary)}.settingsBlock{margin-top:18px}.settingsBlock h3{margin:0 0 10px;color:var(--ink);font-size:18px}.settingRow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:0;border:0;border-bottom:1px solid rgba(23,33,31,.08);color:inherit;background:transparent;text-align:left;cursor:pointer}.settingRow>div{display:flex;align-items:center;gap:12px;color:#33413e;font-weight:750}.settingRow svg{color:var(--primary)}.switch{position:relative;width:46px;height:28px;border-radius:999px;background:#d8dfdc}.switch:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 4px 10px #17211f2e;content:"";transition:transform .18s ease}.switch.on{background:var(--primary)}.switch.on:after{transform:translate(18px)}.bottomNav{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:10px 10px max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(23,33,31,.08);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottomNav button{display:grid;min-height:58px;place-items:center;gap:3px;border:0;border-radius:8px;color:#75817e;background:transparent;font-size:11px;font-weight:850;cursor:pointer}.bottomNav button.selected{color:var(--primary);background:#0d6b6317}@media(max-width:920px){.page{padding:18px}.workspace{min-height:calc(100vh - 36px)}.phoneShell:before{width:min(90vw,640px)}.device{height:820px;min-height:740px}}@media(max-width:460px){.page{padding:0;background:#f7faf8}.workspace{min-height:100dvh;align-items:stretch}.phoneShell{align-items:stretch}.phoneShell:before{display:none}.device{width:100%;height:100dvh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.deviceTop{height:calc(48px + env(safe-area-inset-top));padding-top:max(8px,env(safe-area-inset-top))}}@media(max-width:360px){.screen,.authScreen{padding-right:14px;padding-left:14px}.heroPanel{min-height:292px}.quickGrid,.insightStrip{gap:8px}}
