@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";
:root{--booking-bg:#f5f7f6;--booking-surface:#fff;--booking-text:#1e2722;--booking-primary:#1f5c45;--booking-secondary:#3d7a63;--booking-accent:#c7e9d8}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top right, #1f5c451f, transparent 36%), var(--booking-bg);min-height:100%;color:var(--booking-text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Manrope,Segoe UI,Noto Sans,system-ui,-apple-system,sans-serif;font-weight:400}button,input,textarea{font:inherit}a{color:inherit}.booking-shell{width:min(560px,100% - 20px);margin:0 auto;padding:20px 0 36px}.booking-panel{border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);background:color-mix(in srgb, var(--booking-surface) 98%, #fff);border-radius:28px;padding:20px;box-shadow:0 16px 38px #0b1c151a}.booking-topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--booking-secondary);margin:0;font-size:.7rem;font-weight:500}h1{color:var(--booking-primary);margin:8px 0 6px;font-size:clamp(1.4rem,5vw,2rem);font-weight:700}.booking-panel strong{font-weight:600}.booking-muted{color:color-mix(in srgb, var(--booking-text) 64%, white);margin:0;font-size:.95rem;font-weight:400;line-height:1.5}.studio-identity{align-items:center;gap:10px;margin-top:10px;display:inline-flex}.studio-avatar,.studio-avatar-image{border-radius:999px;flex:none;width:38px;height:38px}.studio-avatar{background:color-mix(in srgb, var(--booking-accent) 62%, #fff);color:var(--booking-primary);border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:inline-flex}.studio-avatar-image{object-fit:cover;border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff)}.studio-name{color:var(--booking-primary);margin:0;font-size:.98rem;font-weight:600;line-height:1.2}.booking-grid{gap:16px;margin-top:18px;display:grid}.booking-label{text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb, var(--booking-text) 68%, white);margin:0 0 8px;font-size:.75rem;font-weight:500}.chips{gap:10px;display:grid}.chip,.slot,.field,.fixed-card,.customer-card,.manage-card,.reschedule-card{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-surface) 88%, #fff);border-radius:14px}.chip{text-align:left;width:100%;color:var(--booking-text);cursor:pointer;gap:4px;padding:12px;font-size:.95rem;display:grid}.chip small{color:color-mix(in srgb, var(--booking-text) 64%, white);font-size:.78rem}.chip.active,.slot.active{border-color:var(--booking-primary);background:color-mix(in srgb, var(--booking-accent) 65%, #fff)}.fixed-card{gap:4px;padding:12px;display:grid}.fixed-card small{color:color-mix(in srgb, var(--booking-text) 64%, white)}.field{width:100%;color:var(--booking-text);padding:11px 12px;font-size:.95rem}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.slot{text-align:left;cursor:pointer;gap:2px;width:100%;padding:10px;display:grid}.slot small{color:color-mix(in srgb, var(--booking-text) 62%, white);font-size:.75rem}.customer-card,.manage-card,.reschedule-card{gap:10px;padding:14px;display:grid}.manage-card h2,.reschedule-card h3{color:var(--booking-primary);margin:0}.manage-card p{margin:0;font-weight:400}.manage-actions{gap:12px;margin-top:12px;display:grid}.manage-action,.manage-save-action,.manage-back-action{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.manage-footer{border-top:1px solid color-mix(in srgb, var(--booking-primary) 10%, #fff);margin-top:14px;padding-top:10px}.manage-icon{flex:none;width:18px;height:18px}.reschedule-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.booking-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-action,.secondary-action{border:1px solid color-mix(in srgb, var(--booking-primary) 22%, #fff);cursor:pointer;border-radius:999px;padding:11px 14px;font-size:.88rem;font-weight:500;text-decoration:none}.primary-action{background:var(--booking-primary);color:#fff}.secondary-action{background:color-mix(in srgb, var(--booking-surface) 95%, #fff);color:var(--booking-primary)}.primary-action:disabled,.secondary-action:disabled{opacity:.6;cursor:not-allowed}.booking-link{border:1px dashed color-mix(in srgb, var(--booking-primary) 28%, #fff);background:color-mix(in srgb, var(--booking-accent) 50%, #fff);word-break:break-all;border-radius:12px;padding:12px;font-size:.9rem}.booking-error{color:#8a1f1f;margin:0;font-size:.88rem}.lang-toggle{background:color-mix(in srgb, var(--booking-accent) 55%, #fff);border-radius:999px;align-items:center;gap:6px;padding:5px;display:inline-flex}.lang-button{color:var(--booking-primary);letter-spacing:.08em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:600}.lang-button[aria-pressed=true]{background:var(--booking-primary);color:#fff}.booking-stepper{gap:18px;display:grid}.booking-stepper-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-stepper-body{gap:16px;display:grid}.step-section{gap:12px;display:grid}.availability-section{position:relative}.availability-overlay{-webkit-backdrop-filter:blur(4px)saturate(115%);z-index:5;background:#131b2d14;border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.availability-overlay-card{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-surface) 82%, #fff);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:inline-flex;box-shadow:0 8px 18px #0b1c151a}.availability-overlay-card p{color:var(--booking-primary);margin:0;font-size:.82rem;font-weight:500}.feedback-modal-overlay{z-index:40;-webkit-backdrop-filter:blur(6px)saturate(120%);background:#11192838;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.feedback-modal-card{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-surface) 96%, #fff);border-radius:18px;gap:10px;width:min(420px,100%);padding:16px;display:grid;box-shadow:0 14px 30px #0b1c1529}.feedback-modal-card h3{color:var(--booking-primary);margin:0;font-size:1.1rem;font-weight:600}.feedback-modal-card p{color:color-mix(in srgb, var(--booking-text) 76%, #fff);margin:0}.feedback-modal-card .primary-action{justify-self:end;min-width:88px}.loading-spinner{border:2px solid color-mix(in srgb, var(--booking-primary) 24%, #fff);border-top-color:var(--booking-primary);border-radius:999px;width:18px;height:18px;animation:.9s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(360deg)}}.step-section>h2{color:var(--booking-primary);margin:0;font-size:1.45rem;font-weight:600}.section-headline{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-headline span{color:var(--booking-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:500}.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pro-grid.single{grid-template-columns:minmax(0,1fr)}.pro-card{border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);background:color-mix(in srgb, var(--booking-surface) 90%, #fff);text-align:center;cursor:pointer;color:var(--booking-text);border-radius:16px;justify-items:center;gap:6px;padding:12px;display:grid}.pro-card strong{font-size:.88rem;line-height:1.2}.pro-card small{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--booking-text) 64%, #fff);font-size:.68rem}.pro-card.active{border-color:var(--booking-primary);background:color-mix(in srgb, var(--booking-accent) 52%, #fff)}.pro-card.locked{cursor:default}.pro-avatar,.pro-avatar-image{border-radius:999px;width:58px;height:58px}.pro-avatar{background:color-mix(in srgb, var(--booking-accent) 62%, #fff);color:var(--booking-primary);justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:inline-flex}.pro-avatar-any{background:color-mix(in srgb, var(--booking-primary) 92%, #fff);color:#fff}.pro-avatar-image{object-fit:cover;border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff)}.service-list{gap:10px;display:grid}.service-card{border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);background:color-mix(in srgb, var(--booking-surface) 92%, #fff);text-align:left;width:100%;color:var(--booking-text);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.service-card strong{color:color-mix(in srgb, var(--booking-primary) 88%, #fff);font-size:.94rem;display:block}.service-card small{color:color-mix(in srgb, var(--booking-text) 62%, #fff);letter-spacing:.04em;margin-top:4px;font-size:.76rem;display:block}.service-card.active{border-color:var(--booking-primary)}.service-check{border:2px solid color-mix(in srgb, var(--booking-primary) 32%, #fff);color:#fff;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.62rem;font-weight:700;display:inline-flex}.service-card.active .service-check{border-color:var(--booking-primary);background:var(--booking-primary)}.calendar-card{background:color-mix(in srgb, var(--booking-surface) 96%, #fff);border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);border-radius:18px;gap:10px;padding:12px;display:grid}.calendar-header{justify-content:space-between;align-items:center;display:flex}.calendar-header strong{color:var(--booking-primary);font-size:.95rem;font-weight:600}.calendar-nav{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-surface) 96%, #fff);width:32px;height:32px;color:var(--booking-primary);cursor:pointer;border-radius:999px;font-size:.9rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-grid.weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--booking-text) 58%, #fff);font-size:.66rem;font-weight:600}.calendar-empty{height:34px}.calendar-day{border:1px solid color-mix(in srgb, var(--booking-primary) 14%, #fff);background:color-mix(in srgb, var(--booking-surface) 95%, #fff);height:34px;color:color-mix(in srgb, var(--booking-primary) 92%, #fff);cursor:pointer;border-radius:12px;font-size:.78rem;font-weight:600}.calendar-day.selected{border-color:var(--booking-primary);background:var(--booking-primary);color:#fff}.calendar-day.unavailable,.calendar-day.past{background:color-mix(in srgb, var(--booking-surface) 80%, #fff);color:color-mix(in srgb, var(--booking-text) 34%, #fff);border-style:dashed}.calendar-day:disabled{cursor:not-allowed}.slot-groups{gap:14px;display:grid}.slot-group-title{letter-spacing:.14em;text-transform:uppercase;color:var(--booking-primary);margin:0 0 8px;font-size:.72rem;font-weight:600}.slot strong{color:color-mix(in srgb, var(--booking-primary) 90%, #fff);font-size:.82rem}.selected-card{border:1px solid color-mix(in srgb, var(--booking-primary) 24%, #fff);background:color-mix(in srgb, var(--booking-accent) 52%, #fff);border-radius:16px;gap:4px;padding:12px 14px;display:grid}.selected-card strong{color:var(--booking-primary);font-size:.9rem}.summary-card{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-surface) 94%, #fff);border-radius:16px;gap:10px;padding:14px;display:grid}.summary-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.summary-top h3{color:var(--booking-primary);margin:0;font-size:1rem}.summary-top p{color:color-mix(in srgb, var(--booking-text) 66%, #fff);margin:4px 0 0;font-size:.84rem}.summary-top strong{color:var(--booking-primary);font-size:.96rem}.summary-row{border-top:1px solid color-mix(in srgb, var(--booking-primary) 14%, #fff);color:color-mix(in srgb, var(--booking-text) 72%, #fff);padding-top:10px;font-size:.86rem}.customer-card label{gap:6px;display:grid}.customer-card span{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--booking-text) 68%, #fff);font-size:.68rem;font-weight:600}.field::placeholder{color:color-mix(in srgb, var(--booking-text) 54%, #fff)}.inline-back{color:var(--booking-primary);cursor:pointer;background:0 0;border:none;justify-self:start;padding:0;font-size:.82rem;font-weight:600}.stepper-footer{border-top:1px solid color-mix(in srgb, var(--booking-primary) 14%, #fff);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.stepper-footer .primary-action,.stepper-footer .secondary-action{text-transform:uppercase;letter-spacing:.08em;padding:12px 18px;font-size:.74rem;font-weight:700}.total-stack{gap:2px;display:grid}.total-stack span{text-transform:uppercase;letter-spacing:.14em;color:color-mix(in srgb, var(--booking-text) 66%, #fff);font-size:.65rem;font-weight:600}.total-stack strong{color:var(--booking-primary);font-size:1.05rem}.booking-result{gap:14px;display:grid}.booking-result .result-icon{align-self:center}.booking-result h2{color:var(--booking-primary);margin:0}.result-icon{border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:52px;height:52px;margin-inline:auto;font-size:1.05rem;font-weight:700;display:inline-flex}.result-icon.success{background:color-mix(in srgb, var(--booking-accent) 62%, #fff);color:var(--booking-primary)}.result-icon.error{color:#7a1a1a;background:#f7d8d8}.link-card{border:1px solid color-mix(in srgb, var(--booking-primary) 30%, #fff);background:color-mix(in srgb, var(--booking-accent) 55%, #fff);border-radius:16px;gap:10px;padding:14px;display:grid}a.primary-action,a.secondary-action{justify-content:center;align-items:center;display:inline-flex}.billing-panel{gap:18px;display:grid}.billing-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.billing-header-copy h1{color:var(--booking-primary);margin:0}.billing-header-tools{align-items:center;gap:10px;display:flex}.billing-logo{object-fit:cover;border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);border-radius:14px;width:64px;height:64px}.billing-loading,.billing-error-card{border:1px solid color-mix(in srgb, var(--booking-primary) 18%, #fff);background:color-mix(in srgb, var(--booking-surface) 94%, #fff);border-radius:16px;padding:16px}.billing-content{gap:16px;display:grid}.billing-plan-card{border:1px solid color-mix(in srgb, var(--booking-primary) 20%, #fff);background:color-mix(in srgb, var(--booking-primary) 92%, #fff);color:#fff;border-radius:18px;gap:12px;padding:18px;display:grid}.billing-plan-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.billing-plan-head h2{color:#fff;margin:0}.billing-plan-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffc2;margin:0 0 6px;font-size:11px}.billing-status-pill{background:#ffffff38;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.billing-price{margin:0;font-size:30px;font-weight:800}.billing-price span{color:#ffffffc7;margin-left:6px;font-size:14px;font-weight:600}.billing-renewal{color:#ffffffd1;margin:0;font-size:13px}.billing-pay-button{width:100%}.billing-invoices{border:1px solid color-mix(in srgb, var(--booking-primary) 12%, #fff);background:color-mix(in srgb, var(--booking-surface) 96%, #fff);border-radius:14px;padding:14px}.billing-invoices h3,.billing-support h3{color:var(--booking-primary);margin:0 0 12px}.billing-invoice-list{gap:10px;display:grid}.billing-invoice-item{border:1px solid color-mix(in srgb, var(--booking-primary) 10%, #fff);background:color-mix(in srgb, var(--booking-surface) 94%, #fff);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.billing-invoice-item strong{color:var(--booking-primary)}.billing-invoice-id{margin:0 0 2px;font-weight:700}.billing-muted{color:color-mix(in srgb, var(--booking-text) 65%, #fff);margin:0;font-size:12px}.billing-support{border:1px solid color-mix(in srgb, var(--booking-primary) 12%, #fff);background:color-mix(in srgb, var(--booking-accent) 44%, #fff);border-radius:14px;padding:14px}.billing-support p{margin:0}.policy-panel{gap:18px;display:grid}.policy-grid{gap:14px;display:grid}.policy-card{border:1px solid color-mix(in srgb, var(--booking-primary) 16%, #fff);background:color-mix(in srgb, var(--booking-surface) 95%, #fff);border-radius:18px;gap:10px;padding:16px;display:grid}.policy-card h2{color:var(--booking-primary);margin:0;font-size:1rem}.policy-card p{color:color-mix(in srgb, var(--booking-text) 76%, #fff);margin:0;line-height:1.6}.policy-highlight{border:1px dashed color-mix(in srgb, var(--booking-primary) 24%, #fff);background:color-mix(in srgb, var(--booking-accent) 56%, #fff);color:var(--booking-primary);border-radius:14px;padding:12px 14px;font-weight:700}.policy-list{color:color-mix(in srgb, var(--booking-text) 78%, #fff);gap:8px;margin:0;padding-left:18px;display:grid}.policy-list li{line-height:1.5}@media (min-width:760px){.booking-shell{padding-top:26px}.booking-panel{padding:24px}.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.customer-card{grid-column:1/-1}.pro-grid.single{grid-template-columns:repeat(1,minmax(0,340px))}.stepper-footer{padding-top:16px}}
