:root{--ap-bg: #f8f7f5;--ap-surface: #ffffff;--ap-surface-2: #f2ede5;--ap-text: #1f2937;--ap-text-muted: #6b7280;--ap-border: #ddd6c8;--ap-primary: #ff6b35;--ap-primary-strong: #e85a2a;--ap-primary-contrast: #ffffff;--ap-success: #15803d;--ap-warning: #b45309;--ap-danger: #b91c1c;--ap-radius-sm: .375rem;--ap-radius-md: .5rem;--ap-radius-lg: .75rem;--ap-radius-xl: 1rem;--ap-shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--ap-shadow-md: 0 10px 24px rgba(15, 23, 42, .12);--ap-shadow-lg: 0 24px 60px rgba(34, 17, 0, .18);--ap-space-1: .25rem;--ap-space-2: .5rem;--ap-space-3: .75rem;--ap-space-4: 1rem;--ap-space-5: 1.5rem;--ap-space-6: 2rem;--ap-space-7: 2.5rem;--ap-space-8: 3rem;--ap-font-sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--ap-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--ap-font-size-1: .75rem;--ap-font-size-2: .875rem;--ap-font-size-3: 1rem;--ap-font-size-4: 1.125rem;--ap-font-size-5: 1.25rem;--ap-font-size-6: 1.5rem}.ap-loading-state--table{gap:var(--ap-space-2)}.ap-loading-state__table-row{align-items:center;display:grid;gap:var(--ap-space-3);grid-template-columns:minmax(7rem,1.4fr) minmax(6rem,1.2fr) minmax(6rem,1fr) minmax(5rem,.9fr) minmax(4rem,.8fr)}.ap-loading-state__table-row--head{margin-bottom:var(--ap-space-1);opacity:.7}.ap-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);background:var(--ap-surface);box-shadow:var(--ap-shadow-sm)}.ap-table{width:100%;border-collapse:separate;border-spacing:0;min-width:40rem;color:var(--ap-text)}.ap-table__head{background:var(--ap-surface-2);color:var(--ap-text-muted);font-size:var(--ap-font-size-2);font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase}.ap-table__head,.ap-table__cell{padding:var(--ap-space-3) var(--ap-space-4);border-bottom:1px solid var(--ap-border);white-space:nowrap}.ap-table__row:last-child .ap-table__cell{border-bottom:none}.ap-table__body .ap-table__row:nth-child(2n){background:color-mix(in srgb,var(--ap-surface-2) 58%,transparent)}.ap-table__body .ap-table__row:hover{background:color-mix(in srgb,var(--ap-surface-2) 84%,transparent)}.ap-table__caption{color:var(--ap-text-muted);font-size:var(--ap-font-size-2);padding:var(--ap-space-3) var(--ap-space-4);text-align:left}@media (max-width: 760px){.ap-card{padding:var(--ap-space-5)}.ap-table{min-width:34rem}.ap-loading-state__table-row{grid-template-columns:minmax(6rem,1.2fr) minmax(5rem,1fr) minmax(4rem,.9fr)}}.ap-dl-layout{display:grid;gap:var(--ap-space-4)}.ap-dl-layout__header,.ap-dl-layout__filters,.ap-dl-layout__content,.ap-dl-layout__pagination{min-width:0}.ap-dl-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--ap-space-3);justify-content:space-between}.ap-dl-header__copy{display:grid;gap:var(--ap-space-2)}.ap-dl-header__title-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ap-space-2)}.ap-dl-header__title{color:var(--ap-text);font-size:clamp(var(--ap-font-size-4),1.2vw + .85rem,var(--ap-font-size-5));margin:0}.ap-dl-header__subtitle{color:var(--ap-text-muted);margin:0}.ap-dl-header__actions{display:inline-flex;flex-wrap:wrap;gap:var(--ap-space-2)}.ap-dl-filters{align-items:end;background:color-mix(in srgb,var(--ap-surface-2) 75%,transparent);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);display:grid;gap:var(--ap-space-3);grid-template-columns:minmax(0,1fr) auto;padding:var(--ap-space-4)}.ap-dl-filters__fields{display:grid;gap:var(--ap-space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.ap-dl-filters__actions{align-items:center;display:flex;justify-content:flex-end}.ap-dl-state{min-width:0}.ap-dl-pagination{align-items:end;border-top:1px solid var(--ap-border);display:flex;flex-wrap:wrap;gap:var(--ap-space-3);justify-content:space-between;padding-top:var(--ap-space-3)}.ap-dl-pagination__meta{display:grid;gap:var(--ap-space-1)}.ap-dl-pagination__summary,.ap-dl-pagination__page{color:var(--ap-text-muted);font-size:var(--ap-font-size-2);margin:0}.ap-dl-pagination__controls{align-items:end;display:inline-flex;flex-wrap:wrap;gap:var(--ap-space-2)}.ap-dl-pagination__controls .ap-form-field{min-width:7rem}@media (max-width: 760px){.ap-dl-filters{grid-template-columns:minmax(0,1fr)}.ap-dl-filters__actions{justify-content:stretch}.ap-dl-filters__actions .ap-button{width:100%}.ap-dl-pagination{align-items:stretch;flex-direction:column}.ap-dl-pagination__controls{width:100%}}.ap-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ap-space-2);border:1px solid transparent;border-radius:999px;padding:var(--ap-space-3) var(--ap-space-5);font-family:var(--ap-font-sans);font-size:var(--ap-font-size-3);font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .16s cubic-bezier(.2,0,0,1),border-color .16s cubic-bezier(.2,0,0,1),color .16s cubic-bezier(.2,0,0,1),box-shadow .16s cubic-bezier(.2,0,0,1)}.ap-button--sm{padding:var(--ap-space-2) var(--ap-space-4);font-size:var(--ap-font-size-2)}.ap-button--primary{background:var(--ap-primary);border-color:var(--ap-primary);color:var(--ap-primary-contrast)}.ap-button--secondary{background:var(--ap-surface);border-color:var(--ap-border);color:var(--ap-text);box-shadow:var(--ap-shadow-sm)}.ap-button--ghost{background:transparent;border-color:transparent;color:var(--ap-text)}.ap-button--link{background:transparent;border-color:transparent;border-radius:0;color:var(--ap-primary);padding:0;text-decoration:underline;text-underline-offset:.16em}.ap-button--danger{background:var(--ap-danger);border-color:var(--ap-danger);color:var(--ap-primary-contrast)}.ap-button:hover:not(:disabled){box-shadow:var(--ap-shadow-sm)}.ap-button--link:hover:not(:disabled){color:var(--ap-text);box-shadow:none}.ap-button:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}.ap-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.ap-card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-xl);box-shadow:var(--ap-shadow-md);color:var(--ap-text);padding:var(--ap-space-6)}.ap-badge{display:inline-flex;align-items:center;gap:var(--ap-space-1);border:1px solid color-mix(in srgb,var(--ap-border) 86%,transparent);border-radius:var(--ap-radius-lg);background:var(--ap-surface-2);color:var(--ap-text-muted);font-size:var(--ap-font-size-1);font-weight:650;letter-spacing:.07em;line-height:1.1;padding:calc(var(--ap-space-1) - 1px) var(--ap-space-3);text-transform:uppercase}.ap-badge--success{background:var(--ap-surface);border-color:var(--ap-success);color:var(--ap-success)}.ap-badge--warning{background:var(--ap-surface);border-color:var(--ap-warning);color:var(--ap-warning)}.ap-badge--danger{background:var(--ap-surface);border-color:var(--ap-danger);color:var(--ap-danger)}.ap-alert{display:grid;gap:var(--ap-space-2);border:1px solid var(--ap-border);border-left-width:4px;border-radius:var(--ap-radius-lg);background:var(--ap-surface-2);color:var(--ap-text);padding:var(--ap-space-4)}.ap-alert--info{border-left-color:var(--ap-primary)}.ap-alert--warning{border-left-color:var(--ap-warning)}.ap-alert--danger{border-left-color:var(--ap-danger)}.ap-alert--success{border-left-color:var(--ap-success)}.ap-alert__title{margin:0;font-size:var(--ap-font-size-3);font-weight:600}.ap-alert__body{color:var(--ap-text-muted);font-size:var(--ap-font-size-2)}.ap-alert__body>:first-child{margin-top:0}.ap-alert__body>:last-child{margin-bottom:0}.ap-empty-state{display:grid;gap:var(--ap-space-3);justify-items:center;text-align:center}.ap-empty-state__title{margin:0;font-size:var(--ap-font-size-5)}.ap-empty-state__description{margin:0;color:var(--ap-text-muted);max-width:60ch}.ap-empty-state__blockers{color:var(--ap-text-muted);display:grid;gap:var(--ap-space-2);margin:0;padding-left:var(--ap-space-5);text-align:left;width:min(100%,36rem)}.ap-empty-state__actions{display:inline-flex;flex-wrap:wrap;gap:var(--ap-space-3);justify-content:center;margin-top:var(--ap-space-2)}.ap-page-header{align-items:flex-start;background:color-mix(in srgb,var(--ap-surface) 85%,transparent);border:1px solid transparent;border-radius:var(--ap-radius-lg);display:flex;flex-wrap:wrap;gap:var(--ap-space-4);justify-content:space-between;margin:calc(var(--ap-space-4) * -1);margin-bottom:var(--ap-space-2);padding:var(--ap-space-4)}.ap-page-header--sticky{position:sticky;top:var(--ap-space-2);z-index:25}.ap-page-header__copy{display:grid;gap:var(--ap-space-2)}.ap-page-header__title{color:var(--ap-text);font-size:clamp(var(--ap-font-size-5),2vw + 1rem,2rem);margin:0}.ap-page-header__subtitle{color:var(--ap-text-muted);font-size:var(--ap-font-size-3);margin:0}.ap-page-header__actions{display:inline-flex;flex-wrap:wrap;gap:var(--ap-space-2)}.ap-form-field{display:grid;gap:var(--ap-space-2)}.ap-form-field__label{color:var(--ap-text);font-size:var(--ap-font-size-2);font-weight:600}.ap-form-field__required{color:var(--ap-danger)}.ap-form-field__control{display:grid}.ap-form-field__control>:where(input,select,textarea){background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);color:var(--ap-text);font-size:1rem;padding:.65rem .75rem;transition:border-color .16s cubic-bezier(.2,0,0,1),box-shadow .16s cubic-bezier(.2,0,0,1),background-color .16s cubic-bezier(.2,0,0,1)}.ap-form-field__control>:where(input,select,textarea):focus-visible{border-color:var(--ap-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-primary) 22%,transparent);outline:none}.ap-form-field__hint{color:var(--ap-text-muted);font-size:var(--ap-font-size-2);margin:0}.ap-form-field__error{color:var(--ap-danger);font-size:var(--ap-font-size-2);margin:0}.ap-form-field--error .ap-form-field__control>:where(input,select,textarea){border-color:var(--ap-danger)}.ap-loading-state{display:grid;gap:var(--ap-space-3)}.ap-loading-state--card{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.ap-loading-state__card{display:grid;gap:var(--ap-space-3)}.ap-skeleton{animation:ap-skeleton-shimmer 1.6s ease infinite;background:linear-gradient(90deg,var(--ap-surface-2) 20%,var(--ap-surface) 45%,var(--ap-surface-2) 70%);background-size:300% 100%;display:inline-block;height:1rem;width:100%}.ap-skeleton--md{border-radius:var(--ap-radius-md)}@keyframes ap-skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (max-width: 700px){.ap-page-header{margin-bottom:var(--ap-space-1)}.ap-card{padding:var(--ap-space-5)}}:root{font-family:var(--ap-font-sans);color:var(--ap-text);background-color:var(--ap-bg)}*{box-sizing:border-box}body{margin:0}:where(button,input,select,textarea,a,.link-button):focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell__header{background:color-mix(in srgb,var(--ap-surface-2) 90%,transparent);color:var(--ap-text);border-bottom:1px solid var(--ap-border);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-shell__header-inner{display:grid;gap:var(--ap-space-3);margin:0 auto;max-width:72rem;padding:var(--ap-space-4) var(--ap-space-5);width:100%}.app-shell__top-row{align-items:center;display:flex;gap:var(--ap-space-3);justify-content:space-between}.app-shell__brand{display:flex;align-items:center;gap:var(--ap-space-3)}.app-shell__badge{background:var(--ap-primary);color:var(--ap-primary-contrast);padding:.25rem .7rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.app-shell__title{font-weight:600}.app-shell__nav{display:flex;flex-wrap:wrap;gap:var(--ap-space-2)}.app-shell__utilities{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--ap-space-2)}.app-shell__dev-locale{display:flex;align-items:center;gap:var(--ap-space-2)}.app-shell__dev-locale label{color:var(--ap-text-muted);font-size:.85rem}.app-shell__dev-locale select{border:1px solid var(--ap-border);border-radius:999px;background:var(--ap-surface);color:var(--ap-text);padding:.25rem .6rem;min-height:2rem}.app-shell__button{border:1px solid var(--ap-border);background:var(--ap-surface);color:var(--ap-text);padding:.35rem .85rem;border-radius:999px;font-size:.9rem;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.app-shell__button:hover:not(:disabled){background:var(--ap-surface-2)}.app-shell__button--soft{background:transparent}.app-shell__button--disabled,.app-shell__button:disabled{opacity:.6;cursor:not-allowed}.app-shell__button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-primary) 30%,transparent)}.app-shell__link{border:1px solid var(--ap-border);background:var(--ap-surface);color:var(--ap-text);padding:.35rem .85rem;border-radius:999px;font-size:.9rem;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.app-shell__link:hover:not(:disabled){background:var(--ap-surface-2)}.app-shell__link--active{background:var(--ap-primary);border-color:var(--ap-primary);color:var(--ap-primary-contrast)}.app-shell__link--disabled,.app-shell__link:disabled{opacity:.6;cursor:not-allowed}.app-shell__link:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-primary) 30%,transparent)}.app-shell__content{flex:1;padding:var(--ap-space-6) var(--ap-space-5) var(--ap-space-8)}.app-shell__content-inner{margin:0 auto;max-width:72rem;width:100%}main{max-width:720px;margin:0 auto;padding:var(--ap-space-7) var(--ap-space-5)}button:not(.ap-button){border:none;padding:var(--ap-space-3) var(--ap-space-5);border-radius:999px;background:var(--ap-primary);color:var(--ap-primary-contrast);cursor:pointer;font-size:1rem}button:not(.ap-button):hover{background:var(--ap-primary-strong)}pre{background:var(--ap-surface-2);color:var(--ap-text);padding:var(--ap-space-4);border-radius:var(--ap-radius-lg);overflow-x:auto;font-size:.85rem}.error{color:var(--ap-danger)}.booking-page{min-height:100vh;display:grid;gap:var(--ap-space-5);max-width:72rem}.public-booking-layout,.public-booking-main{display:grid;gap:var(--ap-space-4)}.public-booking-side{display:grid}.provider-identity-card{display:grid;gap:var(--ap-space-2)}.provider-identity-card__name{margin:0}.provider-identity-card__details{margin:0;color:var(--ap-text-muted)}.provider-identity-card__trust{margin:var(--ap-space-2) 0 0;padding:var(--ap-space-3);border-radius:var(--ap-radius-md);border:1px solid color-mix(in srgb,var(--ap-primary) 25%,var(--ap-border));background:color-mix(in srgb,var(--ap-primary) 7%,var(--ap-surface));color:var(--ap-text)}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--ap-text-muted);margin:0 0 .5rem}.muted{color:var(--ap-text-muted)}.link-button{background:none;color:var(--ap-primary);padding:0;border-radius:0}.link-button:hover{background:none;text-decoration:underline}.ap-booking-stepper{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-xl);display:grid;gap:var(--ap-space-3);padding:var(--ap-space-4)}.ap-booking-stepper__meta{margin:0;font-size:var(--ap-font-size-2);color:var(--ap-text-muted)}.ap-booking-stepper__current{margin:0;font-size:var(--ap-font-size-3);font-weight:600;color:var(--ap-text)}.ap-booking-stepper__progress{width:100%;height:.35rem;border-radius:999px;background:var(--ap-surface-2);overflow:hidden}.ap-booking-stepper__progress>span{display:block;height:100%;border-radius:999px;background:var(--ap-primary);transition:width .2s ease}.ap-booking-stepper__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--ap-space-2);grid-template-columns:repeat(4,minmax(0,1fr))}.ap-booking-stepper__item{align-items:center;display:grid;gap:var(--ap-space-2);grid-template-columns:1fr;justify-items:center;min-height:2.5rem;text-align:center}.ap-booking-stepper__index{align-items:center;background:var(--ap-surface-2);border:1px solid var(--ap-border);border-radius:999px;color:var(--ap-text-muted);display:inline-flex;height:1.75rem;justify-content:center;width:1.75rem}.ap-booking-stepper__label{color:var(--ap-text-muted);font-size:var(--ap-font-size-1);font-weight:600}.ap-booking-stepper__item--current .ap-booking-stepper__index{background:color-mix(in srgb,var(--ap-primary) 14%,var(--ap-surface));border-color:color-mix(in srgb,var(--ap-primary) 45%,var(--ap-border));color:var(--ap-primary)}.ap-booking-stepper__item--current .ap-booking-stepper__label{color:var(--ap-text)}.ap-booking-stepper__item--complete .ap-booking-stepper__index{background:color-mix(in srgb,var(--ap-success) 12%,var(--ap-surface));border-color:color-mix(in srgb,var(--ap-success) 45%,var(--ap-border));color:var(--ap-success)}.ap-booking-stepper__item--complete .ap-booking-stepper__label{color:var(--ap-text)}.booking-step-card{display:grid;gap:var(--ap-space-4)}.booking-section-heading{display:grid;gap:var(--ap-space-2)}.booking-section-heading h2,.booking-section-heading p{margin:0}.booking-section-heading p{color:var(--ap-text-muted)}.booking-choice-grid{display:grid;gap:var(--ap-space-3)}.booking-choice-button{align-items:flex-start;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);color:var(--ap-text);cursor:pointer;display:grid;gap:var(--ap-space-2);min-height:3.1rem;padding:var(--ap-space-3) var(--ap-space-4);text-align:left;transition:border-color .16s cubic-bezier(.2,0,0,1),box-shadow .16s cubic-bezier(.2,0,0,1),background-color .16s cubic-bezier(.2,0,0,1),transform .16s cubic-bezier(.2,0,0,1)}.booking-choice-button:hover{background:var(--ap-surface-2);border-color:color-mix(in srgb,var(--ap-primary) 28%,var(--ap-border));box-shadow:var(--ap-shadow-sm)}.booking-choice-button.is-selected{border-color:var(--ap-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-primary) 25%,transparent),inset 0 1px color-mix(in srgb,var(--ap-primary) 14%,transparent);background:color-mix(in srgb,var(--ap-primary) 11%,var(--ap-surface))}.booking-choice-button:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}.booking-choice-button__title{font-size:var(--ap-font-size-3);font-weight:600}.booking-choice-button__meta{color:var(--ap-text-muted);font-size:var(--ap-font-size-2);line-height:1.35}.booking-step-feedback{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--ap-space-3)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:var(--ap-space-3);margin-top:var(--ap-space-2)}.slot-button{border-radius:var(--ap-radius-md);min-height:2.9rem;background:var(--ap-surface);color:var(--ap-text);border:1px solid var(--ap-border);padding:var(--ap-space-2) var(--ap-space-3);font-weight:600;transition:border-color .16s cubic-bezier(.2,0,0,1),box-shadow .16s cubic-bezier(.2,0,0,1),background-color .16s cubic-bezier(.2,0,0,1),color .16s cubic-bezier(.2,0,0,1)}.slot-button.selected{border-color:var(--ap-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-primary) 20%,transparent),inset 0 -1px color-mix(in srgb,#000 14%,transparent);background:var(--ap-primary);color:var(--ap-primary-contrast)}.slot-button:hover{background:var(--ap-surface-2);border-color:color-mix(in srgb,var(--ap-primary) 30%,var(--ap-border));box-shadow:var(--ap-shadow-sm);color:var(--ap-text)}.slot-button.selected:hover{background:var(--ap-primary);color:var(--ap-primary-contrast)}.slot-button:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}.booking-request-card{display:grid;gap:var(--ap-space-4)}.booking-summary{display:grid;gap:var(--ap-space-2)}.booking-summary h2,.booking-summary p{margin:0}.booking-selected-summary{border:1px solid color-mix(in srgb,var(--ap-primary) 20%,var(--ap-border));border-radius:var(--ap-radius-lg);background:color-mix(in srgb,var(--ap-primary) 5%,var(--ap-surface-2));display:grid;gap:var(--ap-space-2);margin:0;padding:var(--ap-space-3)}.booking-selected-summary__list{display:grid;gap:var(--ap-space-2);margin:0;padding:0}.booking-selected-summary__item{align-items:baseline;display:grid;gap:var(--ap-space-2);grid-template-columns:minmax(5.6rem,auto) minmax(0,1fr)}.booking-selected-summary__item dt{color:var(--ap-text-muted);font-size:var(--ap-font-size-2);margin:0}.booking-selected-summary__item dd{margin:0}.booking-selected-summary__value{font-weight:600}.booking-selected-summary__value.is-missing{color:var(--ap-warning)}.booking-form-fields{display:grid;gap:var(--ap-space-3);margin-bottom:var(--ap-space-3)}.booking-form-fields .ap-form-field{gap:var(--ap-space-1)}.booking-form-fields .ap-form-field__label{line-height:1.25}.booking-form-fields .ap-form-field__hint,.booking-form-fields .ap-form-field__error{line-height:1.35}.booking-submit-area{display:grid;gap:var(--ap-space-2);margin-top:var(--ap-space-3)}.booking-submit-area .ap-button{width:100%}.booking-submit-note{margin:0;color:var(--ap-text-muted);font-size:var(--ap-font-size-2)}input{padding:.65rem .75rem;border-radius:var(--ap-radius-md);border:1px solid var(--ap-border);font-size:1rem;background:var(--ap-surface)}button:not(.ap-button):disabled{background:var(--ap-border);color:var(--ap-text-muted);cursor:not-allowed}.skeleton-block{display:grid;gap:var(--ap-space-3)}.skeleton-line{height:1rem;border-radius:999px;background:linear-gradient(90deg,var(--ap-surface-2) 25%,var(--ap-surface) 37%,var(--ap-surface-2) 63%);background-size:400% 100%;animation:shimmer 1.5s ease infinite}.skeleton-title{height:1.75rem;width:70%}.skeleton-subtitle{width:45%}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--ap-space-3);margin-top:var(--ap-space-4)}.skeleton-slot{height:2.25rem}.pending-card{display:grid;gap:var(--ap-space-4)}.booking-success-summary{display:grid;gap:var(--ap-space-2);margin:0;padding:var(--ap-space-3);border-radius:var(--ap-radius-lg);background:var(--ap-surface-2)}.booking-success-summary p{margin:0}.pending-details{display:grid;gap:var(--ap-space-3)}@media (max-width: 759px){.booking-page{gap:var(--ap-space-4)}.provider-identity-card__trust{margin-top:var(--ap-space-1);padding:var(--ap-space-2)}.booking-step-card,.booking-request-card{gap:var(--ap-space-3)}}@media (min-width: 760px){.booking-page{gap:var(--ap-space-6)}.public-booking-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.public-booking-side{position:sticky;top:var(--ap-space-4)}.booking-choice-grid--dates{grid-template-columns:repeat(3,minmax(0,1fr))}}.provider-requests,.provider-appointments{min-height:100vh}.client-appointments{min-height:100vh;display:grid;gap:var(--ap-space-5)}.client-appointments-layout,.client-appointments-main{display:grid;gap:var(--ap-space-4)}.client-appointments-side{display:grid}.client-appointments-side-card{display:grid;gap:var(--ap-space-3)}.client-appointments-side-card h2{margin:0;font-size:var(--ap-font-size-4)}.client-status-guide{display:flex;flex-wrap:wrap;gap:var(--ap-space-2)}.appointment-section{display:grid;gap:var(--ap-space-3)}.appointment-section__header{align-items:center;display:flex;justify-content:space-between;gap:var(--ap-space-3)}.appointment-section__header h2{margin:0}.appointment-section>.muted{margin:0}.appointment-section__empty{margin:0;color:var(--ap-text-muted);border:1px dashed var(--ap-border);border-radius:var(--ap-radius-lg);padding:var(--ap-space-3) var(--ap-space-4);background:color-mix(in srgb,var(--ap-surface-2) 70%,transparent)}.request-list{display:grid;gap:var(--ap-space-5);margin-top:var(--ap-space-5)}.request-card{padding:var(--ap-space-6);background:var(--ap-surface);border-radius:var(--ap-radius-xl);box-shadow:var(--ap-shadow-md)}.readiness-panel{margin-top:var(--ap-space-5)}.readiness-panel .notice{margin:var(--ap-space-3) 0 0}.request-card h3{margin:0 0 .5rem}.request-date{margin:0 0 .35rem}.request-actions{display:flex;flex-wrap:wrap;gap:var(--ap-space-3);margin-top:1.25rem}.notice{margin:1rem 0;padding:.85rem 1rem;border-radius:var(--ap-radius-lg);background:var(--ap-surface-2);color:var(--ap-text);border:1px solid var(--ap-border)}.notice.success{background:var(--ap-surface);color:var(--ap-success);border-color:var(--ap-success)}.notice.error{background:var(--ap-surface);color:var(--ap-danger);border-color:var(--ap-danger)}.support-info{margin-top:var(--ap-space-3);padding:.75rem .9rem;border-radius:var(--ap-radius-lg);border:1px solid var(--ap-border);background:var(--ap-surface-2);color:var(--ap-text)}.support-info__title{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ap-text-muted)}.support-info__grid{display:grid;gap:var(--ap-space-2)}.support-info__label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ap-text-muted)}.support-info__value{display:block;font-weight:600;font-size:.9rem;word-break:break-all}.appointment-list{display:grid;gap:var(--ap-space-6);margin-top:2rem}.appointment-group-title{margin:0 0 1rem}.appointment-cards{display:grid;gap:var(--ap-space-4)}.appointment-cards--compact{gap:var(--ap-space-3)}.appointment-card{padding:var(--ap-space-5);background:var(--ap-surface);border-radius:var(--ap-radius-xl);box-shadow:var(--ap-shadow-md);border:1px solid color-mix(in srgb,var(--ap-border) 85%,transparent);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.appointment-card--state-pending{border-color:color-mix(in srgb,var(--ap-warning) 48%,var(--ap-border));background:color-mix(in srgb,var(--ap-warning) 5%,var(--ap-surface))}.appointment-card--state-confirmed{border-color:color-mix(in srgb,var(--ap-success) 34%,var(--ap-border))}.appointment-card--state-canceled{border-color:color-mix(in srgb,var(--ap-danger) 38%,var(--ap-border));background:color-mix(in srgb,var(--ap-danger) 4%,var(--ap-surface))}.appointment-card:hover{border-color:color-mix(in srgb,var(--ap-primary) 36%,var(--ap-border));box-shadow:var(--ap-shadow-lg);transform:translateY(-1px)}.appointment-card--history{box-shadow:var(--ap-shadow-sm);background:color-mix(in srgb,var(--ap-surface-2) 40%,var(--ap-surface));padding:var(--ap-space-4)}.appointment-card--history .appointment-card-header{align-items:flex-start}.appointment-card--history .appointment-actions{margin-top:var(--ap-space-3)}.appointment-card h3{margin:0}.appointment-card-header__copy{display:grid;gap:var(--ap-space-1)}.appointment-card-header__copy p{margin:0}.appointment-card-header__datetime{margin:0;font-weight:700;font-size:var(--ap-font-size-3)}.appointment-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ap-space-4)}.appointment-actions{display:flex;flex-wrap:wrap;gap:var(--ap-space-3);margin-top:var(--ap-space-4)}.appointment-actions .ap-button{min-width:9.5rem}.appointment-status-description{margin:var(--ap-space-2) 0 0;color:var(--ap-text-muted);font-size:var(--ap-font-size-2)}.appointment-panel{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--ap-border);display:grid;gap:var(--ap-space-4)}.appointment-panel h4,.appointment-panel h5{margin:0}@media (min-width: 980px){.client-appointments-layout{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.8fr);align-items:start}.client-appointments-side{position:sticky;top:var(--ap-space-4)}}@media (max-width: 980px){.public-booking-side{position:static}}@media (max-width: 760px){.app-shell__header-inner{padding-inline:var(--ap-space-4)}.app-shell__top-row{align-items:flex-start;flex-direction:column}.app-shell__utilities{width:100%}.app-shell__content{padding-inline:var(--ap-space-4)}.booking-choice-grid--dates,.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-card-header{align-items:flex-start;flex-direction:column}.appointment-actions .ap-button{flex:1 1 100%;min-width:0}.booking-selected-summary__item{grid-template-columns:1fr;gap:var(--ap-space-1)}}@media (max-width: 520px){.booking-choice-grid--dates,.slot-grid{grid-template-columns:1fr}}.slug-section{margin:2rem 0;padding:var(--ap-space-5);border-radius:var(--ap-radius-xl);background:var(--ap-surface);box-shadow:var(--ap-shadow-md);max-width:420px}.client-auth-page{min-height:100vh;display:grid;gap:var(--ap-space-5)}.client-auth-grid{display:grid;gap:var(--ap-space-4)}.client-auth-card{display:grid;gap:var(--ap-space-3)}.client-auth-card--secondary{box-shadow:var(--ap-shadow-sm)}.client-auth-title{margin:0;font-size:clamp(1.4rem,1.4vw + 1rem,2rem)}.client-auth-subtitle{margin:0;font-size:var(--ap-font-size-4)}.client-auth-description{margin:0}.client-auth-actions{display:grid;gap:var(--ap-space-3)}.client-auth-button-row{display:flex;flex-wrap:wrap;gap:var(--ap-space-2)}.client-auth-help{margin:0}.client-auth-session{display:grid;gap:var(--ap-space-3)}.client-auth-session h2{margin:0;font-size:var(--ap-font-size-4)}.auth-callback-page{min-height:100vh;display:grid;place-items:center;padding:var(--ap-space-7) var(--ap-space-5)}.auth-callback-card{width:min(100%,32rem);display:grid;gap:var(--ap-space-3);animation:auth-card-enter .24s cubic-bezier(.2,0,0,1)}.auth-callback-title{margin:0;font-size:clamp(1.3rem,1vw + 1rem,1.75rem)}.auth-callback-content{display:grid;gap:var(--ap-space-3)}.auth-callback-content--loading{align-items:center;grid-template-columns:auto 1fr;min-height:2rem}.auth-callback-content--loading p{margin:0}.auth-callback-actions{display:flex;flex-wrap:wrap;gap:var(--ap-space-2)}.auth-callback-actions .ap-button{min-width:9rem}.auth-callback-spinner{width:1.05rem;height:1.05rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--ap-border) 90%,transparent);border-top-color:var(--ap-primary);animation:auth-spinner .8s linear infinite}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 860px){.client-auth-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
