:root{--background:#f6f8fb;--surface:#fff;--border:#d8e0e8;--text:#17202a;--muted:#657384;--brand:#118c6b;--brand-dark:#0b6d54;--soft:#edf8f3;--accent:#2e6fbd;--accent-dark:#20558a;--accent-soft:#eef6ff;--warning:#b76b12;--warning-soft:#fff7e8;--danger:#b42318;--danger-soft:#fff1f0;--shadow:0 16px 45px #10202e0a}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #84ceb8}button{transition:background .15s,border-color .15s}header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 560px);display:flex}.brand{align-items:center;gap:12px;display:flex}.monogram{background:var(--text);color:#fff;border-radius:10px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:22px;display:grid}.brand strong{font-size:15px;display:block}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:10px}.powered{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.powered b{color:var(--brand);letter-spacing:-.6px;font-size:17px}.demo{text-align:center;color:var(--muted);background:#eef3f7;padding:6px 16px;font-size:11px}.layout{grid-template-columns:300px minmax(0,1fr);gap:38px;max-width:1060px;margin:44px auto;padding:0 24px;display:grid}.sidebar{align-self:start}.shop-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:25px}.shop-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:18px;display:grid}.shop-card h2{letter-spacing:-.6px;margin:0 0 5px;font-size:21px}.muted{color:var(--muted)}.shop-card p{margin:8px 0;font-size:13px}.shop-meta{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.shop-meta p{align-items:center;gap:8px;display:flex}.steps{margin:0;padding:16px 8px;list-style:none}.steps li{color:var(--muted);align-items:center;gap:12px;padding:5px 0;font-size:13px;display:flex}.steps .marker{border:1px solid var(--border);background:#fff;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.steps .active{color:var(--accent-dark);font-weight:650}.steps .active .marker{background:var(--accent);border-color:var(--accent);color:#fff}.steps .done .marker{background:var(--brand);border-color:var(--brand);color:#fff}.side-note{color:var(--muted);padding:0 8px;font-size:12px}main{min-width:0}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:32px}.topline{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:24px;font-size:12px;display:flex}.back{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;display:flex}.progress{gap:5px;margin:0 0 25px;display:flex}.progress span{background:#e9eef1;border-radius:5px;flex:1;height:4px}.progress .filled{background:var(--brand)}h1{letter-spacing:-.9px;margin:0 0 10px;font-size:27px;line-height:1.2}h1:focus{outline:none}p.intro{color:var(--muted);margin:0 0 26px;font-size:14px}.tag{background:var(--accent-soft);color:var(--accent-dark);letter-spacing:.2px;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:650;display:inline-flex}.primary,.secondary{border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.primary:hover{background:var(--brand-dark)}.secondary{border:1px solid var(--border);color:var(--text);background:#fff}.secondary:hover{background:var(--background)}.actions{border-top:1px solid #edf0f3;margin-top:26px;padding-top:20px}.footer-note{text-align:center;color:var(--muted);margin:16px 0 0;font-size:11px}.field{margin-bottom:19px;font-size:13px;font-weight:550;display:block}.field span{color:var(--muted);font-size:12px;font-weight:400}.field input{border:1px solid var(--border);width:100%;height:47px;color:var(--text);background:#fff;border-radius:7px;margin-top:7px;padding:10px 13px;display:block}input::placeholder{color:#929eab}.helper{color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;display:block}.option{border:1px solid var(--border);cursor:pointer;border-radius:9px;align-items:center;gap:14px;margin:10px 0;padding:15px;display:flex;position:relative}.option:hover{border-color:#9abfe5}.service-option{gap:10px;margin:7px 0;padding:12px}.service-option .tile{width:40px;height:40px}.service-option .tile svg{width:20px;height:20px}.option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.option input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px;margin:0 0 0 auto}.option-content{flex:1}.option strong{font-size:14px;font-weight:600;display:block}.option small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.option .price{color:var(--text);margin-top:8px;font-size:12px}.price span{color:var(--muted);margin-left:10px}.tile{color:#536774;background:#edf2f5;border-radius:8px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.avatar{color:#7055a0;background:#eeeafa;border-radius:50%;font-family:Georgia,serif;font-size:19px}.total{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:12px;display:flex}.total strong{color:var(--text);font-size:18px}.text-button{color:var(--accent-dark);background:0 0;border:0;margin:0 auto;padding:12px;font-size:13px;display:block}.dates{scroll-snap-type:x proximity;gap:7px;padding:3px 2px 14px;display:flex;overflow-x:auto}.day{border:1px solid var(--border);min-width:59px;color:var(--muted);scroll-snap-align:start;background:#fff;border-radius:9px;padding:10px 5px}.day b{color:var(--text);margin:4px 0;font-size:19px;display:block}.day small{font-size:10px}.day.selected,.time.selected{background:var(--accent);border-color:var(--accent);color:#fff}.day.selected b{color:#fff}.times{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.time{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:7px;padding:10px 5px}h3{margin:22px 0 10px;font-size:13px}.review{border:1px solid var(--border);border-radius:10px;padding:0 18px}.review-row{border-bottom:1px solid #edf0f3;align-items:start;gap:12px;padding:16px 0;display:flex}.review-row:last-child{border:0}.review-row div{overflow-wrap:anywhere;flex:1;min-width:0}.review-row small{color:var(--muted);margin-bottom:3px;font-size:11px;display:block}.review-row strong{font-size:13px;font-weight:600}.review-row p{margin:3px 0 0}.edit{color:var(--brand-dark);background:0 0;border:0;padding:3px;font-size:11px}.notice{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #c9ddf2;border-radius:8px;margin-top:18px;padding:12px 14px;font-size:12px}.notice-warning{background:var(--warning-soft);color:#8a510d;border-color:#efd4a3}.notice-success,.success .tag{background:var(--soft);color:var(--brand-dark);border-color:#b8dbc9}.success{text-align:center;padding:8px 0 23px}.success-icon{background:var(--soft);width:68px;height:68px;color:var(--brand);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.welcome{padding:40px 32px}.welcome h1{letter-spacing:-1.5px;max-width:380px;margin:18px 0;font-size:40px}.welcome .intro{max-width:360px;font-size:15px}.hero-art{background:#edf6f2;border-radius:12px;justify-content:center;align-items:center;height:168px;margin-bottom:26px;display:flex;position:relative;overflow:hidden}.hero-art:before,.hero-art:after{content:"";border:1px solid #d0e8dd;border-radius:50%;width:230px;height:230px;position:absolute;top:40px;left:-70px}.hero-art:after{top:-90px;left:auto;right:-60px}.appointment-mini{background:#fff;border:1px solid #deebe4;border-radius:10px;align-items:center;gap:15px;padding:18px 24px;display:flex;transform:rotate(-3deg);box-shadow:0 8px 25px #174f3310}.appointment-mini strong{font-size:14px;display:block}.appointment-mini small{color:var(--muted);font-size:11px}.benefits{color:var(--muted);justify-content:space-around;gap:12px;margin-top:25px;font-size:11px;display:flex}.benefits span{align-items:center;gap:5px;display:flex}.error{color:var(--danger);background:var(--danger-soft);border:1px solid #f2c7c3;border-radius:8px;margin:10px 0;padding:12px 14px;font-size:12px}.mobile-shop{display:none}svg{vertical-align:middle;flex-shrink:0;width:19px;height:19px}.page-footer{text-align:center;color:#84909b;margin:24px;font-size:11px}.hidden{display:none!important}@media (max-width:760px){header{height:68px;padding:0 20px}.layout{max-width:540px;margin:22px auto;padding:0 16px;display:block}.sidebar{display:none}.panel{border-radius:13px;padding:24px 20px}.welcome{padding:28px 22px}.welcome h1{font-size:35px}.powered{font-size:10px}.powered b{font-size:14px}.brand strong{font-size:13px}.monogram{width:36px;height:36px}.eyebrow{font-size:9px}h1{font-size:25px}.mobile-shop{color:var(--muted);margin:0 0 18px;font-size:11px;display:block}.times{grid-template-columns:repeat(3,1fr)}.actions{background:#fff;padding-bottom:8px;position:sticky;bottom:0}.benefits{gap:5px;font-size:10px}.topline{margin-bottom:20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.loading-panel{text-align:center;color:var(--muted);padding:32px}.option:has(input:disabled){opacity:.45;cursor:not-allowed}.actions .primary:disabled{cursor:wait}.summary-line{justify-content:space-between;gap:12px;display:flex}.booking-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 560px);display:flex}.review-actions{justify-content:space-between;gap:12px;margin-top:15px;display:flex}.review-actions button{color:var(--accent-dark);background:0 0;border:0;padding:8px 0}@media (max-width:760px){.booking-header{height:68px;padding:0 20px}}.powered img{width:81px;height:auto}.business-hours p{margin:4px 0;font-size:12px;line-height:1.5}.business-hours>strong{margin:12px 0 8px;font-size:12px;display:block}.business-hours dl{margin:0}.business-hours-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 12px;padding:7px 0;font-size:12px;line-height:1.5;display:grid}.business-hours-row:last-child{border-bottom:0}.business-hours-row dt{color:var(--muted)}.business-hours-row dt:first-letter{text-transform:uppercase}.business-hours-row dd{text-align:right;margin:0;font-weight:600}@media (max-width:380px){.business-hours-row{grid-template-columns:1fr;gap:2px}.business-hours-row dd{text-align:left}}.companion-section{border-top:1px solid var(--border,#e5e7eb);margin-top:24px;padding-top:20px}.companion-section .summary-line{flex-wrap:wrap;gap:8px}.companion-section h2{margin:0}.companion-section .field{margin-top:16px}
