:root{--appointly-blue:#2554e8;--appointly-blue-dark:#1d3fc4;--appointly-ink:#0f172a;--appointly-ink-soft:#1e2433;--appointly-muted:#64748b;--appointly-faint:#94a3b8;--appointly-border:#e2e8f0;--appointly-border-soft:#eef1f5;--appointly-bg:#f1f4f8;--appointly-card:#ffffff;--appointly-panel:#f6f8fb;--appointly-red:#dc2626;--appointly-red-bg:#fdecec;--appointly-radius-card:20px;--appointly-radius-control:10px;--appointly-serif:Georgia, 'Iowan Old Style', 'Times New Roman', Times, serif;--appointly-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;--appointly-mono:'SFMono-Regular', Consolas, 'Roboto Mono', Menlo, monospace}.appointly-booking{max-width:640px;margin:40px auto;padding:0 16px;font-family:var(--appointly-sans);color:var(--appointly-ink-soft);background:var(--appointly-bg);border-radius:24px}.appointly-booking [hidden]{display:none!important}.appointly-booking *{box-sizing:border-box}.appointly-booking__card{background:var(--appointly-card);border:1px solid var(--appointly-border-soft);border-radius:var(--appointly-radius-card);box-shadow:0 1px 3px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.06);padding:40px 44px 36px}.appointly-progress{display:flex;align-items:flex-start;margin-bottom:32px}.appointly-progress__step{display:flex;align-items:center;gap:8px;flex:0 0 auto}.appointly-progress__connector{flex:1 1 auto;height:1px;background:var(--appointly-border);margin:15px 8px 0;min-width:12px}.appointly-progress__bubble{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--appointly-mono);font-size:12px;font-weight:700;flex:0 0 30px;border:1.5px solid var(--appointly-border);color:var(--appointly-faint);background:var(--appointly-card)}.appointly-progress__label{font-size:13px;font-weight:600;color:var(--appointly-faint);line-height:1.2}.appointly-progress__step.is-current .appointly-progress__bubble{background:var(--appointly-blue);border-color:var(--appointly-blue);color:#fff}.appointly-progress__step.is-current .appointly-progress__label{color:var(--appointly-ink)}.appointly-progress__step.is-done .appointly-progress__bubble{background:var(--appointly-blue);border-color:var(--appointly-blue);color:#fff}.appointly-progress__step.is-done .appointly-progress__label{color:var(--appointly-muted)}.appointly-eyebrow{font-family:var(--appointly-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--appointly-blue);margin:0 0 10px}.appointly-headline{font-family:var(--appointly-serif);font-weight:400;font-size:32px;line-height:1.25;color:var(--appointly-ink);margin:0 0 12px}.appointly-subtitle{font-size:15px;line-height:1.6;color:var(--appointly-muted);margin:0 0 28px;max-width:46em}.appointly-step .appointly-field{margin-bottom:22px}.appointly-step label{display:block;font-family:var(--appointly-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--appointly-muted);margin-bottom:8px}.appointly-step input[type="text"],.appointly-step input[type="email"],.appointly-step input[type="tel"],.appointly-step input[type="number"],.appointly-step input[type="date"],.appointly-step input[type="time"],.appointly-step textarea,.appointly-step select{width:100%;font-family:var(--appointly-sans);font-size:16px;color:var(--appointly-ink);padding:8px 0 10px;border:none;border-bottom:1px solid var(--appointly-border);border-radius:0;background:transparent}.appointly-step input:focus,.appointly-step textarea:focus,.appointly-step select:focus{outline:none;border-bottom-color:var(--appointly-blue)}.appointly-step input::placeholder,.appointly-step textarea::placeholder{color:var(--appointly-faint)}.appointly-step textarea{resize:vertical;min-height:60px}.appointly-phone-group{display:flex;gap:10px;align-items:flex-end}.appointly-phone-group .appointly-country-select-wrap{position:relative;flex:0 0 72px;width:72px}.appointly-phone-group select.appointly-country-code{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent;appearance:none;-webkit-appearance:none}.appointly-phone-group .appointly-country-code-display{display:block;font-family:var(--appointly-sans);font-size:16px;color:var(--appointly-ink);padding:8px 0 10px;border-bottom:1px solid var(--appointly-border);pointer-events:none;white-space:nowrap}.appointly-phone-group select.appointly-country-code:focus~.appointly-country-code-display{border-bottom-color:var(--appointly-blue)}.appointly-phone-group input[type="tel"]{flex:1 1 auto}.appointly-required{color:var(--appointly-red)}.appointly-field .appointly-form-validation{margin:6px 0 0;font-size:13px;color:var(--appointly-red)}.appointly-field .appointly-form-validation:empty{display:none}.appointly-step input.is-invalid,.appointly-step select.is-invalid,.appointly-step textarea.is-invalid{border-bottom-color:var(--appointly-red)}.appointly-calendar__header{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px}.appointly-calendar__month{font-family:var(--appointly-serif);font-size:18px;min-width:140px;text-align:center}.appointly-calendar__nav{width:32px;height:32px;border-radius:50%;border:1px solid var(--appointly-border);background:var(--appointly-card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--appointly-ink-soft);line-height:1}.appointly-calendar__nav:disabled{opacity:.35;cursor:not-allowed}.appointly-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px}.appointly-calendar__weekday{min-width:0;font-family:var(--appointly-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--appointly-faint);text-align:center;padding-bottom:4px}.appointly-calendar__day{min-width:0;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;background:transparent;font-size:14px;color:var(--appointly-ink-soft);cursor:pointer}.appointly-calendar__day:disabled{color:var(--appointly-border);cursor:not-allowed}.appointly-calendar__day:not(:disabled):not(.is-empty):not(.is-selected){border-color:var(--appointly-border);background:var(--appointly-card);font-weight:600}.appointly-calendar__day.is-selected{background:var(--appointly-blue);color:#fff;font-weight:700}.appointly-calendar__day.is-empty{visibility:hidden;cursor:default}.appointly-selected-date{display:flex;align-items:center;justify-content:space-between;background:var(--appointly-panel);border-radius:var(--appointly-radius-control);padding:16px 18px;margin-bottom:24px;font-size:14px}.appointly-selected-date__label{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--appointly-ink-soft)}.appointly-selected-date__dot{width:8px;height:8px;border-radius:50%;background:var(--appointly-blue);flex:0 0 8px}.appointly-selected-date__change{font-family:var(--appointly-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--appointly-blue);background:none;border:none;cursor:pointer;padding:0}.appointly-step__hint{font-size:13px;color:var(--appointly-faint);margin-top:16px}.appointly-caption{font-family:var(--appointly-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--appointly-muted);margin:0 0 8px}.appointly-time-slots{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.appointly-time-slot{flex:1 1 110px;padding:14px 10px;border:1.5px solid var(--appointly-border);border-radius:var(--appointly-radius-control);background:var(--appointly-card);color:var(--appointly-ink-soft);font-family:var(--appointly-sans);font-size:14px;font-weight:600;text-align:center;cursor:pointer}.appointly-time-slot:disabled{border-color:var(--appointly-border-soft);background:var(--appointly-panel);color:var(--appointly-faint);cursor:not-allowed}.appointly-time-slot.is-selected{border-color:var(--appointly-blue);background:var(--appointly-blue);color:#fff}.appointly-order-summary{background:var(--appointly-panel);border-radius:var(--appointly-radius-control);padding:18px 20px;margin-bottom:24px;font-size:14px}.appointly-order-summary__row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.appointly-order-summary__row+.appointly-order-summary__row{border-top:1px solid var(--appointly-border-soft)}.appointly-order-summary__label{color:var(--appointly-muted)}.appointly-order-summary__amount{font-weight:700;color:var(--appointly-blue);font-size:16px}.appointly-payment-methods{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.appointly-payment-method{flex:1 1 120px;padding:16px 14px;border:1.5px solid var(--appointly-border);border-radius:var(--appointly-radius-control);background:var(--appointly-card);color:var(--appointly-ink-soft);font-size:14px;font-weight:600;text-align:center;cursor:pointer}.appointly-payment-method.is-selected{border-color:var(--appointly-blue);color:var(--appointly-blue);background:rgba(37,84,232,.04)}.appointly-payment-note{font-size:13px;color:var(--appointly-faint);margin:0 0 16px}.appointly-payment-secure{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--appointly-faint);margin-top:16px}.appointly-booking__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px}.appointly-booking__back{background:none;border:none;color:var(--appointly-ink-soft);font-size:14px;font-weight:600;cursor:pointer;padding:12px 4px}.appointly-booking__next{background:var(--appointly-blue);border:none;color:#fff;font-size:15px;font-weight:700;padding:14px 28px;border-radius:999px;cursor:pointer;margin-left:auto}.appointly-booking__next:hover{background:var(--appointly-blue-dark)}.appointly-booking__next:disabled{opacity:.5;cursor:not-allowed}.appointly-booking__error{margin-top:16px;padding:12px 16px;border-radius:var(--appointly-radius-control);background:var(--appointly-red-bg);border:1px solid var(--appointly-red);color:var(--appointly-red);font-size:14px}.appointly-booking-notice{padding:16px 20px;background:var(--appointly-panel);border:1px solid var(--appointly-border);border-radius:var(--appointly-radius-control);max-width:640px;margin:40px auto}.appointly-booking__confirmation{text-align:center;padding:12px 0 4px}.appointly-confirmation__icon{width:88px;height:88px;border-radius:50%;background:rgba(37,84,232,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.appointly-confirmation__icon-inner{width:56px;height:56px;border-radius:50%;background:var(--appointly-blue);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;line-height:1}.appointly-confirmation__eyebrow{font-family:var(--appointly-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--appointly-blue);margin:0 0 14px}.appointly-confirmation__headline{font-family:var(--appointly-serif);font-size:28px;line-height:1.3;color:var(--appointly-ink);margin:0 0 14px}.appointly-confirmation__subtitle{font-size:14px;color:var(--appointly-muted);line-height:1.6;margin:0 0 24px}.appointly-confirmation__panel{text-align:left;background:var(--appointly-panel);border-radius:var(--appointly-radius-control);padding:20px 22px;margin-bottom:28px}.appointly-confirmation__actions{display:flex;align-items:center;justify-content:center;gap:12px}.appointly-confirmation__actions a,.appointly-confirmation__actions button{display:inline-block;text-decoration:none!important;font-size:14px;font-weight:700;padding:13px 26px;border-radius:999px;cursor:pointer}.appointly-confirmation__actions .is-primary{background:var(--appointly-blue);border:1px solid var(--appointly-blue);color:#fff}.appointly-confirmation__actions .is-secondary{background:var(--appointly-card);border:1px solid var(--appointly-border);color:var(--appointly-ink-soft)}.appointly-payment-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.appointly-payment-modal__card{background:#fff;border-radius:var(--appointly-radius-card);max-width:420px;width:100%;padding:32px 30px 28px;text-align:center;position:relative}.appointly-payment-modal__close{position:absolute;top:18px;right:18px;background:none;border:none;font-size:18px;color:var(--appointly-muted);cursor:pointer;line-height:1}.appointly-payment-modal__title{font-size:18px;font-weight:700;color:var(--appointly-ink);margin:0 0 20px;text-align:left}.appointly-payment-modal__icon{width:56px;height:56px;border-radius:50%;background:var(--appointly-red-bg);color:var(--appointly-red);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;margin:0 auto 18px}.appointly-payment-modal__message{font-size:16px;font-weight:600;color:var(--appointly-ink);margin:0 0 6px}.appointly-payment-modal__hint{font-size:14px;color:var(--appointly-muted);margin:0 0 18px}.appointly-payment-modal__retry{background:var(--appointly-ink);color:#fff;border:none;font-size:14px;font-weight:700;padding:13px 28px;border-radius:8px;cursor:pointer}@media (max-width:600px){.appointly-booking{margin:0;padding:0;max-width:none;border-radius:0}.appointly-booking__card{border-radius:0;border-left:none;border-right:none;box-shadow:none;padding:24px 20px 20px}.appointly-booking__card:has(.appointly-booking__nav:not([hidden])){min-height:100vh}.appointly-progress{display:none}.appointly-progress--confirmed{display:flex;margin-bottom:24px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.appointly-progress--confirmed .appointly-progress__step{flex-shrink:0}.appointly-headline{font-size:24px}.appointly-booking__nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--appointly-border-soft);padding:14px 16px calc(14px + env(safe-area-inset-bottom));margin-top:0;z-index:100}.appointly-booking .appointly-booking__nav .appointly-booking__back{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--appointly-border)!important;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;font-size:20px}.appointly-booking__back-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.appointly-booking__next{flex:1 1 auto;margin-left:0;text-align:center;padding:14px 0}.appointly-booking__card:has(.appointly-booking__nav:not([hidden])){padding-bottom:96px}.appointly-confirmation__actions{flex-direction:column;align-items:stretch}.appointly-confirmation__actions a,.appointly-confirmation__actions button{text-align:center}}.appointly-booking .appointly-booking__next,.appointly-booking .appointly-time-slot.is-selected,.appointly-booking .appointly-calendar__day.is-selected,.appointly-booking .appointly-progress__step.is-current .appointly-progress__bubble,.appointly-booking .appointly-progress__step.is-done .appointly-progress__bubble,.appointly-booking .appointly-confirmation__actions .is-primary{background:var(--appointly-blue)!important;border-color:var(--appointly-blue)!important;color:#fff!important}.appointly-booking .appointly-booking__next:hover{background:var(--appointly-blue-dark)!important}.appointly-payment-modal__retry{background:var(--appointly-ink)!important;border-color:var(--appointly-ink)!important;color:#fff!important}.appointly-payment-modal__close{border:none!important;background:none!important;color:var(--appointly-muted)!important}.appointly-booking .appointly-payment-method.is-selected{border-color:var(--appointly-blue)!important;color:var(--appointly-blue)!important;background:rgba(37,84,232,.04)!important}.appointly-booking .appointly-calendar__day{border-color:transparent!important;background:transparent!important}.appointly-booking .appointly-calendar__day:not(:disabled):not(.is-empty):not(.is-selected){border-color:var(--appointly-border)!important;background:var(--appointly-card)!important;color:var(--appointly-ink-soft)!important}.appointly-booking .appointly-time-slot{border-color:var(--appointly-border)!important;background:var(--appointly-card)!important;color:var(--appointly-ink-soft)!important}.appointly-booking .appointly-time-slot:disabled{border-color:var(--appointly-border-soft)!important;background:var(--appointly-panel)!important;color:var(--appointly-faint)!important}.appointly-booking .appointly-calendar__nav{border-color:var(--appointly-border)!important;background:var(--appointly-card)!important;color:var(--appointly-ink-soft)!important}.appointly-booking .appointly-selected-date__change{border:none!important;background:none!important}.appointly-booking .appointly-payment-method{border-color:var(--appointly-border)!important;background:var(--appointly-card)!important;color:var(--appointly-ink-soft)!important}.appointly-booking .appointly-selected-date__change,.appointly-booking .appointly-eyebrow,.appointly-booking .appointly-confirmation__eyebrow,.appointly-booking .appointly-step .appointly-terms a{color:var(--appointly-blue)!important}.appointly-booking .appointly-booking__back{color:var(--appointly-ink-soft)!important;background:none!important;border:none!important}.appointly-booking .appointly-confirmation__actions .is-secondary{background:var(--appointly-card)!important;border-color:var(--appointly-border)!important;color:var(--appointly-ink-soft)!important}.appointly-booking a{color:var(--appointly-blue)}