.appointment-details-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:28px;width:min(1060px,90%);margin:0 auto 75px;display:grid}.appointment-detail-heading>svg{color:var(--plum);margin-bottom:16px}.appointment-checkout-button{margin-top:24px}.appointment-detail-heading>p:last-child{max-width:670px;margin:18px auto 0}.appointment-details-card,.visit-location{border:1px solid var(--line);background:#fffdfb;padding:clamp(22px,4vw,38px)}.appointment-details-card>h2,.visit-location h2{margin-bottom:18px;font-size:34px}.visit-location{background:var(--pink)}.visit-location h2{align-items:center;gap:10px;display:flex}.visit-location h2 svg{flex-shrink:0}.visit-location address{margin-bottom:24px;font-style:normal}.appointment-reference{overflow-wrap:anywhere;margin-top:12px;font-size:12px}.appointment-details-card h3{margin:30px 0 16px;font-size:27px}.appointment-linked-visit{border-bottom:1px solid var(--line);padding:12px 0}.appointment-linked-visit a{text-underline-offset:4px;text-decoration:underline}.appointment-linked-visit p{font-size:13px}.appointment-payment-summary{margin:18px 0}.appointment-payment-summary>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:9px 0;font-size:14px;display:flex}.appointment-payment-summary dd{white-space:nowrap;margin:0;font-weight:600}.appointment-detail-actions{flex-wrap:wrap;margin-top:28px}.appointment-details-link:hover{text-underline-offset:5px;text-decoration:underline}@media (max-width:799px){.appointment-details-layout{grid-template-columns:1fr}}.account-settings{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.reservation-countdown{background:var(--pink);border:1px solid var(--line);max-width:1000px;margin:20px auto;padding:16px 20px}.reservation-countdown strong{font-variant-numeric:tabular-nums;color:var(--plum)}.reservation-countdown a{text-decoration:underline}.reward-toggle{cursor:pointer;align-items:center;gap:12px;margin:20px 0;display:flex}.reward-toggle input{appearance:none;border:1px solid var(--muted);background:var(--line);cursor:pointer;border-radius:20px;flex:0 0 44px;width:44px;height:26px;margin:0;padding:3px}.reward-toggle input:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;display:block}.reward-toggle input:checked{background:var(--plum);border-color:var(--plum)}.reward-toggle input:checked:before{transform:translate(18px)}.reward-toggle input:disabled{opacity:.5;cursor:not-allowed}.reward-toggle input:focus-visible{outline:2px solid var(--plum);outline-offset:3px}.embedded-card{margin-top:28px}.embedded-card>.button{margin-top:16px}.embedded-card>p{margin:14px 0}@media (prefers-reduced-motion:reduce){.reward-toggle input:before{transition:none}}.referral-actions{flex-wrap:wrap;align-items:flex-start;gap:12px 20px;margin:12px 0;display:flex}.referral-share-button{align-items:center;gap:7px;display:inline-flex}.referral-share-options{flex-wrap:wrap;gap:10px 16px;padding-top:12px;display:flex}.referral-share-options a{text-underline-offset:4px;text-decoration:underline}.referral-share-options p{flex-basis:100%;font-size:13px}.account-settings>p{margin:18px 0}.account-delete-confirmation{border:1px solid var(--line);background:#fff;margin-top:24px;padding:24px}.account-delete-confirmation p{margin:20px 0}.account-delete-confirmation .actions{flex-wrap:wrap}.booking-shell{max-width:1120px;margin:45px auto 80px;padding:0 24px}.business-details{color:#745041;background:#f1e4d7;border-left:3px solid #b28b69;margin-bottom:28px;padding:14px 20px;font-size:13px}.steps{border-bottom:1px solid var(--line);gap:26px;margin-bottom:35px;padding-bottom:20px;display:flex}.steps span{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.steps b{border:1px solid var(--line);border-radius:50%;place-items:center;width:27px;height:27px;font-weight:400;display:inline-grid}.steps .active{color:var(--plum)}.steps .active b{background:var(--plum);color:#fff}.booking-layout{grid-template-columns:minmax(0,1fr) 310px;gap:45px;display:grid}.booking-panel h2{margin-bottom:9px;font-size:37px}.booking-panel>p{margin-bottom:24px;font-size:14px}.treatment-choice{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:0 0;align-items:center;gap:17px;margin:12px 0;padding:20px;display:flex}.treatment-choice.selected{border-color:var(--plum);background:#f2e6e7}.radio{border:1px solid #ad969e;border-radius:50%;flex-shrink:0;width:19px;height:19px}.selected .radio{border:5px solid var(--plum)}.treatment-choice>span:nth-child(2){flex:1}.treatment-choice strong{font-size:16px;font-weight:500;display:block}.treatment-choice small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.treatment-choice>b{font-size:16px;font-weight:500}.booking-summary{border:1px solid var(--line);background:#f5ece9;align-self:start;padding:27px;position:sticky;top:25px}.booking-summary h3{margin-bottom:24px;font-size:30px}.summary-line{justify-content:space-between;gap:10px;margin:12px 0;font-size:14px;display:flex}.summary-line.total{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;font-size:17px}.booking-summary>p{margin-top:20px;font-size:12px}.booking-summary .eyebrow{font-size:9px}.actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:27px;display:flex}.plain-button{color:var(--ink);background:0 0;border:0;padding:10px;font-size:13px;text-decoration:underline}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:0 0;place-items:center;display:grid}.calendar{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar>span{text-align:center;color:var(--muted);padding:10px 0;font-size:12px}.calendar>button{min-height:44px;color:var(--ink);background:0 0;border:1px solid #0000;font-size:14px}.calendar>button:hover:not(:disabled){background:var(--pink)}.calendar>button.selected,.time-grid>button.selected{background:var(--plum);color:#fff}.time-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px;display:grid}.time-grid button{border:1px solid var(--line);color:var(--ink);background:#fff;padding:11px 5px;font-size:14px}.time-title{margin-top:30px;font-size:14px}.status-message{color:var(--plum);background:#f1e7e4;margin:20px 0;padding:13px 16px;font-size:14px}.error{color:#9b3434;background:#f9e4e2}.checkbox{align-items:start;gap:10px;font-size:13px;line-height:1.8;display:flex}.checkbox input{flex-shrink:0;width:17px;margin-top:4px}.account-shell{max-width:1000px;min-height:330px;margin:45px auto 80px;padding:0 24px}.auth-card{max-width:430px;margin:35px auto}.auth-card h2{margin-bottom:15px;font-size:40px}.auth-card>p{margin:12px 0 25px;font-size:14px}.auth-card .button{width:100%}.account-top{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.account-top h2{font-size:35px}.tabs{border-bottom:1px solid var(--line);gap:25px;margin-bottom:25px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;padding:13px 0;font-size:14px}.tabs button.active{border-bottom:2px solid var(--plum);color:var(--plum)}.appointment{border:1px solid var(--line);align-items:center;gap:24px;margin:16px 0;padding:25px;display:flex}.date-block{background:var(--pink);text-align:center;min-width:76px;padding:10px 18px}.date-block b{font-family:var(--font-serif);font-size:31px;line-height:1.2;display:block}.date-block span{text-transform:uppercase;letter-spacing:1px;font-size:12px}.appointment-info{flex:1}.appointment h3{font-size:28px}.appointment p{margin-top:7px;font-size:13px}.badge{border:1px solid #dac8cd;margin-top:8px;padding:3px 8px;font-size:12px;display:inline-block}.empty{text-align:center;background:#f5edeb;padding:55px 20px}.empty h3{margin:15px 0}.empty p{margin-bottom:25px;font-size:14px}.success{text-align:center;padding:40px 15px}.success svg{color:#865568}.success h2{margin:20px 0;font-size:48px}.success p{max-width:460px;margin:15px auto}.success .button{margin-top:20px}.loading{color:var(--muted);padding:30px}@media (max-width:1100px){.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:25px}}@media (max-width:800px){.booking-layout{grid-template-columns:1fr}.booking-summary{grid-row:2;position:static}.booking-shell{margin-top:28px}.steps{gap:15px}}@media (max-width:550px){.steps{grid-template-columns:repeat(4,1fr);justify-content:space-between;gap:8px;display:grid}.steps span{flex-direction:column;gap:5px;font-size:11px}.steps b{width:22px;height:22px}.appointment{flex-wrap:wrap;gap:13px;padding:18px}.appointment>.actions{justify-content:flex-end;width:100%;margin-top:0}.account-top h2{font-size:28px}.time-grid{grid-template-columns:repeat(3,1fr)}}.appointment{flex-wrap:wrap}.related-visit{border-top:1px solid var(--border,#d9c8cb);width:100%;margin-top:30px;padding-top:24px}.related-visit h3{margin-bottom:10px}.related-visit p,.offer-note{font-size:14px;line-height:1.7}.offer-note{background:#f4e6e5;border-radius:8px;margin:22px 0;padding:16px}.reward-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin:24px 0;display:grid}.reward-grid article{background:#faf3f1;border:1px solid #dfd0d2;border-radius:12px;padding:26px}.reward-grid h3{margin:8px 0 14px;font-size:32px}.reward-grid p{font-size:14px;line-height:1.7}.reward-grid input{width:100%;margin-top:14px;font-size:12px}.rewards{margin-bottom:36px}.rewards details{margin-top:22px}.checkout-card{max-width:650px}.checkout-card .button{margin:24px 0}.payment-breakdown{margin-top:10px;font-size:12px}.checkout-price{margin:22px 0;font-size:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.client-record fieldset{border:1px solid var(--line);border-radius:8px;min-width:0;margin:22px 0;padding:22px}.client-record legend{padding:0 8px;font-weight:600}.client-record label:not(.checkbox),.offer-editor label:not(.checkbox){gap:8px;font-size:14px;display:grid}.client-record input:not([type=checkbox]):not([type=radio]),.client-record textarea,.client-record select,.offer-editor select,.admin-consents select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fffaf8;border-radius:5px;padding:12px}.client-record textarea{min-height:85px}.client-record p{font-size:14px;line-height:1.7}.client-record .yes-no{border:0;margin:16px 0;padding:8px 0}.client-record .yes-no label{align-items:center;gap:8px;margin-right:22px;display:inline-flex}.client-record input[type=radio],.client-record input[type=checkbox]{accent-color:var(--plum);width:18px;height:18px}.client-record dd{text-align:right;white-space:pre-wrap;margin:0}.loyalty-stamps{flex-wrap:wrap;gap:6px;margin:15px 0;display:flex}.loyalty-stamps span{border:1px solid #bea0ab;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.loyalty-stamps .filled{color:#fff;background:var(--plum)}.selected-consultation{background:var(--pink);border-radius:6px;padding:14px;font-size:13px}@media (max-width:650px){.form-grid{grid-template-columns:1fr}.client-record fieldset{padding:16px}}.signature-pad{aspect-ratio:3;color:#302722;touch-action:none;background:#fff;border:1px solid #b9aaa2;border-radius:8px;width:100%;max-width:600px;display:block}.sign-in-page{max-width:560px;padding-top:65px}.auth-card .google-sign-in-button{cursor:pointer;background:#fff;border:0;border-radius:4px;align-self:flex-start;width:180px;height:40px;padding:0;display:inline-flex}.google-sign-in-button img{width:180px;height:40px;display:block}.google-sign-in-button:focus-visible{outline-offset:3px;outline:2px solid #1a73e8}.google-sign-in-button:hover{box-shadow:0 1px 3px #0003}.google-sign-in-button:disabled{opacity:.6;cursor:wait}@keyframes booking-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.booking-shell,.checkout-card{animation:.24s ease-out both booking-enter}}
