.booking-shell,.portal{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111;--muted:#666;--line:#d9d9d9;--paper:#fff;--canvas:#fff;--green:#000;--green-soft:#f2f2f2;--gold:#555;--red:#a34139;--accent:#000;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:inherit}.booking-shell *,.portal *{border-radius:0!important}.booking-shell :is(button,a,input,select,textarea,summary):focus-visible,.portal :is(button,a,input,select,textarea,summary):focus-visible{outline-offset:2px;outline:3px solid #111}.booking-shell{flex-direction:column;min-height:100vh;display:flex}.booking-header{border-bottom:1px solid var(--line);background:#fffc;justify-content:space-between;align-items:center;width:100%;padding:22px max(6vw,24px);display:flex}.booking-account-links{align-items:center;gap:18px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;font-size:17px;font-weight:800;text-decoration:none}.admin-link{color:var(--green);font-size:13px;font-weight:600;text-decoration:none}.booking-main{flex:1;width:min(100% - 48px,920px);margin:0 auto;padding:132px 0 72px}.intro{margin-bottom:34px}.eyebrow{color:var(--gold);letter-spacing:.17em;margin:0 0 8px;font-size:10px;font-weight:700;line-height:1.4}.intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(34px,7vw,52px);font-weight:700;line-height:1.12}.intro>p:last-child{max-width:500px;color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.65}.card{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin:18px 0;padding:clamp(20px,5vw,30px);box-shadow:0 7px 28px #0000000a}.card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.card-heading h2{letter-spacing:-.04em;margin:0;font-size:22px;line-height:1.25}.step-number{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.service-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.service-option{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:16px;transition:border .15s,background .15s,transform .15s;display:flex}.service-option:hover{border-color:#777;transform:translateY(-1px)}.service-option.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#f2f2f2}.service-title{font-weight:700}.service-meta{color:var(--green);font-size:12px;font-weight:600}.service-description{color:var(--muted);font-size:12px;line-height:1.45}.field-label{color:#222;margin:15px 0 7px;font-size:12px;font-weight:700;display:block}.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea,.portal input:not([type=checkbox]),.portal select,.portal textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #d9d9d9;border-radius:9px;padding:10px 12px}.booking-shell textarea,.portal textarea{resize:vertical}.booking-shell input[type=date]{max-width:270px}.slots{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.slot{min-width:112px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.slot span{color:var(--muted);margin-top:3px;font-size:10px;font-weight:500;display:block}.slot:hover,.slot.selected{border-color:var(--green);color:var(--green);background:#f2f2f2}.booking-form{flex-direction:column;align-items:stretch;display:flex}.booking-form .field-label{margin-top:14px}.consent{color:var(--muted);align-items:flex-start;gap:11px;margin:18px 0;font-size:12px;line-height:1.5;display:flex}.consent input{width:17px;height:17px;accent-color:var(--green);flex:none;margin:1px 0 0}.button{cursor:pointer;border:0;border-radius:9px;min-height:43px;padding:10px 16px;font-size:13px;font-weight:700;transition:transform .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{color:#fff;background:var(--green)}.button.secondary{color:var(--green);background:var(--green-soft)}.button.danger{color:var(--red);background:#fbefed}.submit-button{width:100%;margin-top:3px}.fine-print{color:var(--muted);text-align:center;margin:11px 0 0;font-size:11px;line-height:1.5}.summary-line{color:var(--green);background:#f2f2f2;border-radius:8px;margin:-8px 0 20px;padding:11px 13px;font-size:12px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.notice{border:1px solid;border-radius:10px;margin:18px 0;padding:13px 15px;font-size:13px;line-height:1.5}.notice.error{color:#83372f;background:#fff6f4;border-color:#ebc8c3}.notice.success{color:#111;background:#f2f2f2;border-color:#d9d9d9}.appointment-card{border-color:#d9d9d9}.appointment-card .card-heading{margin-bottom:10px}.status{color:#333;text-transform:capitalize;background:#f2f2f2;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700}.status-confirmed{color:#111;background:#eee}.status-cancelled{color:#83372f;background:#faeae8}.status-completed{color:#555;background:#eee}.appointment-when{margin:12px 0 4px;font-size:18px;font-weight:700}.appointment-card>p:not(.eyebrow){font-size:13px}.private-note{border-top:1px solid var(--line);color:var(--muted);padding-top:11px;line-height:1.5;font-size:11px!important}.manage-actions{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.manage-actions h3{margin:0 0 12px;font-size:16px}.inline-controls{align-items:center;gap:9px;margin:9px 0;display:flex}.inline-controls input,.inline-controls select{flex:1}.button-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:17px;display:flex}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:12px;font-weight:600;text-decoration:underline}.text-button:disabled{opacity:.5;cursor:not-allowed}.manage-lookup{color:var(--muted);margin:22px 3px}.manage-lookup summary{cursor:pointer;font-size:13px;font-weight:600}.lookup-form{max-width:430px;padding:15px 0 0}.lookup-form .button{align-self:flex-start;margin-top:12px}.restore-link{margin-left:3px}.booking-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:15px;padding:20px max(6vw,24px);font-size:11px;display:flex}.booking-top-links{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px;padding-bottom:14px;font-size:13px;font-weight:600;display:flex}.booking-top-links a,.booking-top-links span{color:var(--ink)}.booking-shell--embedded{width:100%;min-height:0;margin-top:44px;display:block}.booking-main--embedded{width:100%;margin:0;padding:0}.booking-inline-links{justify-content:space-between;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.booking-inline-links a{color:inherit}.booking-flow{text-align:left;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;width:100%;min-height:500px;display:grid}.booking-flow__calendar{border:1px solid #111;flex-direction:column;grid-area:1/2;justify-content:center;align-items:center;min-width:0;height:640px;min-height:640px;padding:28px;display:flex}.booking-flow__calendar h3,.booking-flow__step h3{width:100%;margin:0 0 18px;font-size:24px;font-weight:600}.booking-flow__eyebrow{letter-spacing:.14em;width:100%;margin:0 0 9px;font-size:11px}.booking-flow__calendar .booking-calendar{--rdp-accent-color:#111;--rdp-accent-background-color:#f0f0f0;--rdp-day-height:clamp(52px, 6.5vw, 82px);--rdp-day-width:auto;--rdp-day_button-height:clamp(44px, 5.2vw, 68px);--rdp-day_button-width:clamp(44px, 5.2vw, 68px);--rdp-nav-height:3.5rem;--rdp-nav_button-height:3rem;--rdp-nav_button-width:3rem;width:100%}.booking-flow__calendar .booking-calendar .rdp-months{justify-content:center;width:100%;max-width:none}.booking-flow__calendar .booking-calendar .rdp-month{width:100%}.booking-flow__calendar .booking-calendar .rdp-month_grid{table-layout:fixed;width:100%}.booking-flow__calendar .booking-calendar .rdp-day{width:auto}.booking-flow__calendar .booking-calendar .rdp-weekday{font-size:12px}.booking-flow__calendar .booking-calendar .rdp-month_caption{font-size:22px}.booking-flow__calendar .booking-calendar .rdp-day_button{width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);color:#111;border-radius:0;margin:0 auto;font-size:16px}.booking-flow__calendar .booking-calendar .rdp-selected .rdp-day_button,.booking-flow__calendar .booking-calendar .rdp-day_button:hover{color:#fff;background:#111}.booking-flow__calendar .booking-calendar .rdp-today:not(.rdp-selected) .rdp-day_button{font-weight:700}.booking-flow__calendar .booking-calendar .rdp-button_previous,.booking-flow__calendar .booking-calendar .rdp-button_next{color:#111}.booking-flow__steps{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#fff transparent;scrollbar-width:thin;color:#fff;background:#000;grid-area:1/1;min-width:0;height:640px;padding:28px;overflow-y:auto}.booking-flow__steps::-webkit-scrollbar{background:0 0;width:8px}.booking-flow__steps::-webkit-scrollbar-track{background:0 0}.booking-flow__steps::-webkit-scrollbar-thumb{background:#fff;border:2px solid #000}.booking-flow__hint{color:#ddd;margin:0;padding-top:8px}.booking-flow__step+.booking-flow__step{border-top:1px solid #666;margin-top:28px;padding-top:24px}.booking-flow__step--times{flex-direction:column;min-height:0;display:flex}.booking-flow__step--times .slots{align-content:flex-start;min-height:0;padding:2px 8px 2px 0}.booking-flow__step h3{font-size:20px}.booking-flow__home-hours{color:#ddd;margin:-8px 0 12px;font-size:12px;line-height:1.45}.booking-flow__steps .service-option{color:#fff;background:#111;border-color:#777}.booking-flow__steps .service-option.selected,.booking-flow__steps .service-option:hover{background:#292929;border-color:#fff}.booking-flow__steps .service-meta,.booking-flow__steps .service-description,.booking-flow__steps .muted{color:#ddd}.booking-flow__addon{margin-top:20px}.booking-flow__addon-card{color:#111;cursor:pointer;background:#fff;border:2px solid #fff;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;margin:0;padding:17px;transition:background .15s,box-shadow .15s,transform .15s;display:grid}.booking-flow__addon-card:hover:not(.booking-flow__addon-card--disabled){background:#f0f0f0}.booking-flow__addon-card:has(input:checked){background:#ededed;box-shadow:inset 0 0 0 2px #111}.booking-flow__addon-card--disabled{cursor:not-allowed;opacity:.66}.booking-flow__addon-card input{accent-color:#111;width:24px;height:24px;margin:0}.booking-flow__addon-copy{gap:3px;display:grid}.booking-flow__addon-copy strong{color:#111;font-size:16px;line-height:1.25}.booking-flow__addon-copy>span{color:#555;font-size:12px;line-height:1.35}.booking-flow__addon-price{color:#111;text-align:right;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.15}.booking-flow__addon-price small{letter-spacing:.12em;margin-top:4px;font-size:9px;display:block}.booking-flow__steps .slot{color:#fff;background:#111;border-color:#777}.booking-flow__steps .slot span{color:#ccc}.booking-flow__steps .slot:hover,.booking-flow__steps .slot.selected{color:#111;background:#fff;border-color:#fff}.booking-flow__steps .slot:hover span,.booking-flow__steps .slot.selected span{color:#333}.booking-flow__steps .booking-timezone{color:#ddd}.booking-details-card{text-align:left;width:100%;margin-top:28px}.booking-flow__steps .booking-details-card--panel{color:#fff;box-shadow:none;background:0 0;border:0;border-top:1px solid #666;margin:28px 0 0;padding:24px 0 0}.booking-flow__steps .booking-details-card--panel .card-heading{margin-bottom:16px}.booking-flow__steps .booking-details-card--panel .card-heading h2{letter-spacing:0;font-size:20px;line-height:1.3}.booking-flow__steps .booking-details-card--panel .eyebrow,.booking-flow__steps .booking-details-card--panel .field-label{color:#fff}.booking-flow__steps .booking-details-card--panel .step-number{color:#111;background:#fff}.booking-flow__steps .booking-details-card--panel .summary-line{color:#fff;background:#111;border:1px solid #777}.booking-flow__steps .booking-details-card--panel input:not([type=checkbox]),.booking-flow__steps .booking-details-card--panel textarea,.booking-flow__steps .booking-details-card--panel select{color:#fff;background:#111;border-color:#777}.booking-flow__steps .booking-details-card--panel .consent,.booking-flow__steps .booking-details-card--panel .fine-print{color:#ddd}.booking-flow__steps .booking-details-card--panel .button.primary{color:#111;background:#fff}@media (max-width:760px){.booking-flow{grid-template-columns:1fr;gap:16px}.booking-flow__calendar,.booking-flow__steps{grid-area:auto/1;padding:20px}.booking-flow__steps{height:560px}.booking-flow__calendar{height:auto;min-height:0}.booking-flow__calendar .booking-calendar{--rdp-day-height:54px;--rdp-day_button-width:42px;--rdp-day_button-height:42px}}.booking-timezone{color:var(--muted);margin:18px 0;font-size:12px}.portal{width:min(1100px,100% - 32px);color:var(--ink);margin:132px auto 80px}.portal__header,.portal__cardhead{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portal__header{border-bottom:1px solid var(--line);padding:26px 0}.portal__header h1,.portal--auth h1{margin:5px 0 8px;font-size:clamp(30px,5vw,44px)}.portal__eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:12px;font-weight:700}.portal__section{border:1px solid var(--line);background:#fff;border-radius:16px;margin:30px 0;padding:24px}.portal__section h2{margin-top:0}.portal__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:15px;display:grid}.portal__card{border:1px solid var(--line);border-radius:12px;padding:18px}.portal__card h3{margin:0 0 6px}.portal__cardhead p{color:var(--muted)}.portal__form{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0;display:grid}.portal__form label,.portal__section>label{gap:6px;font-weight:600;display:grid}.portal input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.portal button,.portal a{cursor:pointer}.portal button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 14px;font-weight:600}.portal button:hover{border-color:var(--accent)}.portal__actions,.portal__window{flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;display:flex}.portal__actions label{align-items:center;gap:8px;display:flex}.portal__actions input{width:auto}.portal__success,.portal__alert{border-radius:8px;padding:12px 15px}.portal__success{color:#111;background:#f2f2f2}.portal__alert{color:#922d24;background:#fff0ee}.portal--auth{flex:1;max-width:520px;margin-top:8vh}.portal__textbutton{margin-top:12px}.portal__back{margin-bottom:14px;display:inline-block}.portal__section .appointment-manager{width:100%;margin:0}.portal__window input{width:120px}@media (max-width:600px){.portal__header,.portal__cardhead{flex-direction:column}.portal__section{padding:16px}.portal__actions label{flex-direction:column;align-items:flex-start}}@media (max-width:540px){.booking-main{width:min(100% - 32px,920px);padding-top:108px}.inline-controls{flex-direction:column;align-items:stretch}.inline-controls .button{width:100%}.booking-top-links{flex-direction:column;align-items:flex-start}.booking-shell--embedded{margin-top:28px}.booking-inline-links{flex-direction:column;align-items:flex-start}}
