:root{color:var(--tenant-text, #17201c);background:var(--tenant-background, #f5f2ea);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.screen{background:var(--tenant-background, #f5f2ea);color:var(--tenant-text, #17201c);display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);min-height:100vh}.screen--embedded{grid-template-columns:minmax(0,1fr)}.screen--center{display:grid;place-items:center;padding:24px}.tenant-panel{background:var(--tenant-surface, #ffffff);background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-primary, #1f6f68) 12%,var(--tenant-surface, #ffffff)),var(--tenant-surface, #ffffff) 42%,var(--tenant-surface-alt, #fbfaf7));border-right:1px solid var(--tenant-border, #ddd8cd);display:flex;flex-direction:column;gap:26px;min-height:100vh;padding:52px 34px 34px;position:sticky;top:0}.tenant-panel:before{background:linear-gradient(90deg,var(--tenant-primary, #1f6f68),var(--tenant-accent, #d99a3d));content:"";height:8px;left:0;position:absolute;right:0;top:0}.screen--embedded .tenant-panel{border-bottom:1px solid var(--tenant-border, #ddd8cd);border-right:0;min-height:auto;padding:28px 30px 22px;position:relative}.screen--embedded .tenant-panel:before{height:6px}.screen--embedded .tenant-brand{align-items:center;grid-template-columns:auto minmax(0,1fr);gap:16px}.screen--embedded .tenant-logo-frame{height:72px;width:98px}.screen--embedded .tenant-logo-frame--initials{font-size:1.35rem;padding:12px;width:72px}.screen--embedded .tenant-panel h1{font-size:1.85rem;line-height:1.08}.screen--embedded .tenant-details{display:flex;flex-wrap:wrap}.screen--embedded .tenant-detail{flex:1 1 220px}.screen--embedded .tenant-detail+.tenant-detail{border-left:1px solid var(--tenant-border, #e8e2d6);border-top:0}.screen--embedded .booking-flow{padding:24px;width:min(920px,100%)}.tenant-brand{display:grid;gap:24px}.tenant-logo-frame{align-items:center;display:flex;height:118px;width:min(220px,100%)}.tenant-logo-frame--image{justify-content:flex-start}.tenant-logo-frame--initials{background:var(--tenant-primary, #1f6f68);border:1px solid color-mix(in srgb,var(--tenant-primary, #1f6f68) 22%,var(--tenant-border, #ddd8cd));border-radius:8px;box-shadow:0 18px 40px #17201c14;color:var(--tenant-primary-text, #ffffff);font-size:2.25rem;font-weight:900;justify-content:center;padding:18px;width:176px}.tenant-brand__copy{display:grid;gap:10px}.tenant-logo{display:block;max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(23,32,28,.1))}.tenant-panel h1{color:var(--tenant-text, #17201c);font-size:2.7rem;line-height:1;letter-spacing:0;margin:0;overflow-wrap:anywhere}.empty-state h1{margin:8px 0 18px;font-size:2.75rem;line-height:1;letter-spacing:0}.tenant-details{background:color-mix(in srgb,var(--tenant-surface, #ffffff) 86%,transparent);border:1px solid color-mix(in srgb,var(--tenant-primary, #1f6f68) 16%,var(--tenant-border, #ddd8cd));border-radius:8px;box-shadow:0 16px 36px #17201c0f;color:var(--tenant-text, #2b312d);display:grid;gap:0;margin-top:0;overflow:hidden}.tenant-detail{display:grid;gap:4px;padding:14px 16px}.tenant-detail+.tenant-detail{border-top:1px solid var(--tenant-border, #e8e2d6)}.tenant-detail__label{color:var(--tenant-primary, #1f6f68);font-size:.75rem;font-weight:900}.tenant-detail a{color:var(--tenant-text, #17201c);font-weight:750;overflow-wrap:anywhere;text-decoration:none}.tenant-detail a:hover{color:var(--tenant-primary, #1f6f68)}.tenant-secondary-link{align-items:center;background:var(--tenant-primary, #1f6f68);border-radius:6px;color:var(--tenant-primary-text, #ffffff);display:inline-flex;font-weight:800;justify-content:center;min-height:42px;padding:10px 14px;text-decoration:none}.booking-flow{width:min(960px,100%);padding:36px}.progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 28px;padding:0;list-style:none}.progress li{border-bottom:3px solid var(--tenant-border, #d8d1c3);color:var(--tenant-muted, #77766f);font-size:.85rem;font-weight:700;padding-bottom:10px}.progress li.active{border-color:var(--tenant-primary, #1f6f68);color:var(--tenant-text, #17201c)}.flow-section{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;padding:28px}.section-heading{margin-bottom:24px}.section-heading h2,.confirmation h2{margin:4px 0 8px;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.08;letter-spacing:0}.section-heading p{color:var(--tenant-muted, #62645f);margin:0}.section-heading--subtle{margin:22px 0 12px}.section-heading--subtle h3{margin:0;font-size:1.05rem;line-height:1.25}.eyebrow{color:var(--tenant-primary, #1f6f68);font-size:.76rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.service-list,.staff-list,.slot-groups{display:grid;gap:12px}.sort-control{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 18px}.sort-control button{align-items:center;background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #d8d1c3);border-radius:999px;color:var(--tenant-text, #2b312d);display:inline-flex;font-size:.86rem;font-weight:800;gap:6px;min-height:34px;padding:6px 12px}.sort-control button.active{background:var(--tenant-primary, #1f6f68);border-color:var(--tenant-primary, #1f6f68);color:var(--tenant-primary-text, #ffffff)}.sort-control button span{font-size:.76rem;opacity:.82}.date-nav{align-items:center;background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;margin:-8px 0 20px;padding:12px}.date-nav span{color:var(--tenant-text, #2b312d);font-weight:800;text-align:center;white-space:nowrap}.date-nav button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:6px;color:var(--tenant-text, #17201c);font-size:.9rem;font-weight:800;min-height:38px;padding:8px 12px}.date-nav button:disabled{color:var(--tenant-muted, #8f918b);opacity:.65}.service-row{align-items:center;background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;color:inherit;display:grid;grid-template-columns:76px minmax(0,1fr) minmax(130px,180px);gap:18px;padding:18px;text-align:left;width:100%}.service-row:hover,.service-row:focus-within,.staff-card:hover,.staff-card:focus-visible,.slot-button:hover,.slot-button:focus-visible{border-color:var(--tenant-primary, #1f6f68);outline:3px solid color-mix(in srgb,var(--tenant-primary, #1f6f68) 14%,transparent)}.service-row__body{display:grid;gap:10px;min-width:0}.service-row__select{background:transparent;border:0;color:inherit;display:grid;gap:4px;padding:0;text-align:left;width:100%}.service-row__select:focus-visible{outline:2px solid color-mix(in srgb,var(--tenant-primary, #1f6f68) 32%,transparent);outline-offset:4px}.service-row strong,.service-row small,.service-row em,.service-meta{display:block}.service-row em{color:var(--tenant-accent, #9a5f13);font-size:.82rem;font-style:normal;font-weight:800;margin-top:5px}.service-row small,.service-meta small{color:var(--tenant-muted, #62645f);line-height:1.4;margin-top:6px}.service-meta{text-align:right}.service-promotions{display:grid;gap:8px}.selected-service-promotions{display:grid;gap:10px;margin:-8px 0 22px}.service-price{align-items:flex-end;display:inline-grid;gap:2px;justify-items:end}.service-price s{color:var(--tenant-muted, #777970);font-size:.82rem;font-weight:700}.service-price--promoted strong{color:var(--tenant-accent, #9a5f13)}.service-promotion{display:grid;gap:10px}.service-promotion__toggle{align-items:center;background:color-mix(in srgb,var(--tenant-accent, #d99a3d) 12%,var(--tenant-surface-alt, #fbfaf7));border:1px solid var(--tenant-border, #d8d1c3);border-radius:6px;color:var(--tenant-text, #17201c);display:flex;gap:12px;justify-content:space-between;min-height:42px;padding:8px 12px;text-align:left}.service-promotion__toggle span{color:var(--tenant-accent, #9a5f13);font-size:.82rem;font-weight:800}.service-promotion__toggle strong{margin-left:auto}.service-promotion__details,.promotion-panel{background:color-mix(in srgb,var(--tenant-accent, #d99a3d) 10%,var(--tenant-surface, #ffffff));border:1px solid color-mix(in srgb,var(--tenant-accent, #d99a3d) 30%,var(--tenant-border, #e6d7b8));border-radius:8px;display:grid;gap:12px;padding:14px}.service-promotion__details p,.promotion-panel p{color:var(--tenant-text, #4d554f);line-height:1.5;margin:0}.service-promotion__details dl,.promotion-panel dl{display:grid;gap:10px;margin:0}.service-promotion__details dl div,.promotion-panel dl div{display:grid;gap:4px}.service-promotion__details dt,.promotion-panel dt{color:var(--tenant-muted, #62645f);font-size:.78rem;font-weight:800;text-transform:uppercase}.service-promotion__details dd,.promotion-panel dd{margin:0}.promotion-panel__header{align-items:start;display:flex;justify-content:space-between;gap:16px}.staff-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.staff-card{align-items:center;background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;color:inherit;display:grid;gap:14px;grid-template-columns:72px minmax(0,1fr);min-height:112px;padding:16px;text-align:left;width:100%}.staff-card.is-selected,.slot-button.is-selected{border-color:var(--tenant-primary, #1f6f68);box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-primary, #1f6f68) 14%,transparent)}.staff-card strong,.staff-card small{display:block}.staff-card small{color:var(--tenant-muted, #62645f);line-height:1.4;margin-top:5px}.image-thumb,.staff-avatar{aspect-ratio:1;border-radius:8px;display:block;height:72px;object-fit:cover;overflow:hidden;width:72px}.image-thumb--empty,.staff-avatar--any{align-items:center;background:color-mix(in srgb,var(--tenant-primary, #1f6f68) 12%,var(--tenant-surface-alt, #eee8dc));color:var(--tenant-primary, #1f6f68);display:flex;font-size:.82rem;font-weight:800;justify-content:center}.service-image-editor{align-items:center;display:flex;gap:16px;margin:18px 0}.tenant-logo-editor{align-items:center;display:flex;gap:18px;margin-top:8px}.tenant-logo-preview{background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;display:block;height:96px;object-fit:contain;padding:10px;width:144px}.tenant-logo-preview--empty{background:color-mix(in srgb,var(--tenant-muted, #62645f) 14%,var(--tenant-surface-alt, #eee8dc))}.tenant-logo-actions{display:flex;flex-wrap:wrap;gap:8px}.tenant-logo-actions .field-note{flex-basis:100%}.brand-theme-controls{display:grid;gap:16px;margin-top:24px}.brand-theme-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.brand-theme-button{align-items:center;background:var(--theme-surface);border:1px solid color-mix(in srgb,var(--theme-text) 16%,var(--theme-surface));border-radius:8px;color:var(--theme-text);display:flex;gap:10px;min-height:62px;padding:10px;text-align:left}.brand-theme-button.is-selected{border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 14%,transparent)}.brand-theme-button__label{font-size:.88rem;font-weight:800;overflow-wrap:anywhere}.brand-theme-swatches{display:grid;flex:0 0 auto;gap:3px;grid-template-columns:repeat(2,18px)}.brand-theme-swatch{border:2px solid #ffffff;border-radius:6px;box-shadow:0 1px 4px #17201c2e;height:18px;width:18px}.brand-theme-swatch--background{background:var(--theme-background)}.brand-theme-swatch--surface{background:var(--theme-surface)}.brand-theme-swatch--primary{background:var(--theme-primary)}.brand-theme-swatch--accent{background:var(--theme-accent)}.brand-color-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.color-field{margin-bottom:0}.color-field__control{align-items:center;display:grid;gap:8px;grid-template-columns:52px minmax(0,1fr)}.color-field__control--text-only{grid-template-columns:1fr}.color-field__control input[type=color]{min-height:44px;padding:4px}.brand-preview{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-primary, #1f6f68) 12%,var(--tenant-surface, #ffffff)),var(--tenant-surface, #ffffff) 58%,color-mix(in srgb,var(--tenant-accent, #d99a3d) 18%,var(--tenant-surface-alt, #fbfaf7)));border:1px solid color-mix(in srgb,var(--tenant-primary, #1f6f68) 22%,var(--tenant-border, #ddd8cd));border-radius:8px;display:flex;gap:16px;justify-content:space-between;min-height:84px;padding:16px}.brand-preview__header{align-items:center;display:flex;gap:12px;min-width:0}.brand-preview__mark{align-items:center;background:var(--tenant-primary, #1f6f68);border-radius:8px;color:var(--tenant-primary-text, #ffffff);display:flex;flex:0 0 auto;font-size:.9rem;font-weight:900;height:48px;justify-content:center;width:48px}.brand-preview__header div{display:grid;gap:2px;min-width:0}.brand-preview__header strong,.brand-preview__header span{overflow-wrap:anywhere}.brand-preview__header span{color:var(--tenant-muted, #62645f);font-size:.82rem;font-weight:700}.brand-preview__button{background:var(--tenant-primary, #1f6f68);border-bottom:4px solid var(--tenant-accent, #d99a3d);border-radius:6px;color:var(--tenant-primary-text, #ffffff);flex:0 0 auto;font-size:.88rem;font-weight:900;padding:10px 14px}.service-image-actions{display:flex;flex-wrap:wrap;gap:8px}.tenant-logo-actions button,.service-image-actions button,.image-crop-modal__actions button,.image-crop-modal__header .text-button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:6px;color:var(--tenant-text, #17201c);font-weight:800;min-height:38px;padding:8px 12px;width:auto}.service-image-actions button:last-child,.image-crop-modal__header .text-button,.image-crop-modal__actions .text-button{border:0;color:var(--tenant-primary, #1f6f68)}.visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.image-crop-modal{align-items:center;background:#17201cb8;display:grid;inset:0;justify-items:center;padding:16px;position:fixed;z-index:40}.image-crop-modal__panel{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;display:grid;gap:18px;max-width:560px;padding:20px;width:min(560px,100%)}.image-crop-modal__header{align-items:start;display:flex;justify-content:space-between;gap:12px}.image-crop-modal__header h3{font-size:1.25rem;margin:4px 0 0}.image-cropper{display:grid;justify-content:center}.image-cropper__frame{background:var(--tenant-surface-alt, #f4efe5);border:1px solid var(--tenant-border, #d8d1c3);border-radius:8px;height:280px;overflow:hidden;position:relative;touch-action:none;width:280px}.image-cropper__image{bottom:auto;display:block;left:0;object-fit:cover;position:absolute;right:auto;-webkit-user-select:none;user-select:none}.image-crop-modal__controls{display:grid;gap:14px}.image-crop-modal__zoom{margin:0}.image-crop-modal__zoom input[type=range]{width:100%}.image-crop-modal__actions{display:flex;gap:10px;justify-content:flex-end}.slot-group{border-top:1px solid var(--tenant-border, #e8e2d6);padding-top:18px}.slot-group h3{font-size:1rem;margin:0 0 12px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.slot-button{background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #ddd8cd);border-radius:8px;color:var(--tenant-text, #17201c);min-height:44px}.customer-manage{gap:18px}.manage-deadline{background:var(--tenant-surface-alt, #f7f1e6);border:1px solid var(--tenant-border, #e2d7c5);border-radius:8px;color:var(--tenant-text, #3f453f);padding:12px 14px}.manage-actions{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{color:var(--tenant-text, #2b312d);display:grid;gap:7px;margin-bottom:16px}.field span{font-size:.88rem;font-weight:700}.field input,.field select,.field textarea{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:6px;color:var(--tenant-text, #17201c);min-height:44px;padding:10px 12px;width:100%}.field textarea{min-height:92px;resize:vertical}.check-row{align-items:flex-start;display:flex;gap:10px;line-height:1.4;margin:10px 0 20px}.check-row input{height:18px;margin-top:2px;width:18px}.richtext-panel{background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #d8d1c3);border-radius:8px;margin:4px 0 18px;padding:18px}.richtext-panel__header{align-items:center;color:var(--tenant-muted, #62645f);display:flex;font-size:.82rem;font-weight:800;justify-content:space-between;gap:12px;margin-bottom:8px;text-transform:uppercase}.richtext-panel h3{font-size:1.25rem;margin:0 0 8px}.richtext-panel p{color:var(--tenant-text, #4d554f);line-height:1.5;margin:0}.muted-meta,.field-note{color:var(--tenant-muted, #62645f);font-size:.85rem;margin:4px 0 0}.richtext-content{display:grid;gap:12px;margin-top:16px}.richtext-content h3,.richtext-content h4,.richtext-content h5{border-top:1px solid var(--tenant-border, #e8e2d6);font-size:.96rem;margin:0;padding-top:12px}.richtext-content p,.richtext-content ul,.richtext-content ol{margin:0}.richtext-content ul,.richtext-content ol{color:var(--tenant-text, #4d554f);line-height:1.5;padding-left:20px}.richtext-content a{color:var(--tenant-primary, #1f6f68);font-weight:800}.richtext-editor{display:grid;gap:10px}.richtext-editor__toolbar{display:flex;flex-wrap:wrap;gap:8px}.richtext-editor__toolbar button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #d8d1c3);border-radius:6px;color:var(--tenant-text, #2b312d);font-size:.84rem;font-weight:800;min-height:34px;padding:6px 12px}.richtext-editor__toolbar button.is-active{background:var(--tenant-primary, #1f6f68);border-color:var(--tenant-primary, #1f6f68);color:var(--tenant-primary-text, #ffffff)}.richtext-editor__surface{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:8px;line-height:1.55;min-height:220px;padding:14px 16px}.richtext-editor__surface:focus{border-color:var(--tenant-primary, #1f6f68);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary, #1f6f68) 12%,transparent);outline:none}.richtext-editor__hint{color:var(--tenant-muted, #62645f);font-size:.82rem;line-height:1.4}.payment-panel{background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #d8d1c3);border-radius:8px;margin:4px 0 18px;padding:18px}.payment-panel--error{display:grid;gap:6px}.payment-panel__header{color:var(--tenant-text, #17201c);font-size:1.25rem;font-weight:800;line-height:1.2;margin-bottom:16px}.payment-panel h3{font-size:1.25rem;margin:0 0 14px}.stripe-form{display:grid;gap:18px}.payment-option-selector{display:grid;gap:10px;margin:16px 0}.payment-option-selector>span{color:var(--tenant-text, #2b312d);font-size:.88rem;font-weight:800}.payment-option-selector__options{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.payment-option-selector__options button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:8px;color:var(--tenant-text, #17201c);display:grid;gap:4px;min-height:58px;padding:10px 12px;text-align:left}.payment-option-selector__options button.active{border-color:var(--tenant-primary, #1f6f68);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary, #1f6f68) 12%,transparent)}.payment-option-selector__options strong{font-size:.92rem}.payment-option-selector__options small{color:var(--tenant-muted, #62645f);font-size:.82rem;font-weight:800}.tip-selector{display:grid;gap:10px;margin:16px 0}.tip-selector>span{color:var(--tenant-text, #2b312d);font-size:.88rem;font-weight:800}.tip-options{display:flex;flex-wrap:wrap;gap:8px}.tip-options button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:999px;color:var(--tenant-text, #17201c);font-weight:800;min-height:38px;padding:8px 12px}.tip-options button.active{background:var(--tenant-primary, #1f6f68);border-color:var(--tenant-primary, #1f6f68);color:var(--tenant-primary-text, #ffffff)}.tip-options small{display:block;font-size:.72rem;font-weight:700;margin-top:2px}.tip-custom{align-items:center;background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:999px;display:flex;gap:6px;min-height:38px;padding:6px 10px}.tip-custom span{font-size:.85rem;font-weight:800}.tip-custom input{border:0;min-width:0;outline:0;width:72px}.promotion-code,.gift-card-certificate{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;margin:16px 0}.promotion-code label,.gift-card-certificate label{display:grid;gap:6px}.promotion-code label span,.gift-card-certificate label span{color:var(--tenant-text, #2b312d);font-size:.88rem;font-weight:800}.promotion-code input,.gift-card-certificate input{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);color:var(--tenant-text, #17201c);border-radius:6px;min-height:38px;padding:8px 10px}.promotion-code button,.gift-card-certificate button{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #cfc8ba);border-radius:6px;color:var(--tenant-text, #17201c);font-weight:800;min-height:38px;padding:8px 12px}.promotion-code .text-button,.gift-card-certificate .text-button{border:0;color:var(--tenant-primary, #1f6f68)}.checkout-code__applied{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.checkout-code__applied:empty{display:none}.checkout-code__applied .text-button{align-items:flex-start;display:inline-flex;flex-direction:column;gap:2px}.checkout-code__applied small{color:#6e746f;font-size:.76rem;font-weight:700}.promotion-code p,.gift-card-certificate p{color:#7e2d1c;grid-column:1 / -1;margin:0}.gift-card-certificate__success{color:#195f39!important}.gift-card-type-selector,.gift-card-amount-options{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.gift-card-type-selector button,.gift-card-amount-options button{background:var(--tenant-surface-alt, #fbfaf7);border:1px solid var(--tenant-border, #d8d1c3);border-radius:999px;color:var(--tenant-text, #17201c);font-weight:800;min-height:38px;padding:8px 14px}.gift-card-type-selector button.active,.gift-card-amount-options button.active{background:var(--tenant-primary, #1f6f68);border-color:var(--tenant-primary, #1f6f68);color:var(--tenant-primary-text, #ffffff)}.payment-breakdown{background:var(--tenant-surface, #ffffff);border:1px solid var(--tenant-border, #e8e2d6);border-radius:8px;display:grid;gap:8px;margin:12px 0;padding:12px}.payment-breakdown div{display:flex;justify-content:space-between;gap:16px}.payment-breakdown dt,.payment-breakdown dd{margin:0}.payment-breakdown dt{color:var(--tenant-muted, #62645f);font-weight:700}.payment-breakdown dd{font-weight:800}.payment-breakdown dd small{color:var(--tenant-muted, #62645f);display:block;font-size:.72rem;margin-top:2px}.payment-breakdown__total{border-top:1px solid var(--tenant-border, #e8e2d6);padding-top:8px}.primary-action,.secondary-action,.back-button{border:0;border-radius:6px;font-weight:800;min-height:44px;padding:10px 18px}.primary-action{background:var(--tenant-primary, #1f6f68);color:var(--tenant-primary-text, #ffffff);width:100%}.primary-action:not(:disabled):hover{background:var(--tenant-primary-hover, var(--tenant-primary, #1f6f68))}.primary-action:disabled{background:#aab5ae}.secondary-action{background:var(--tenant-surface-alt, #eee8dc);color:var(--tenant-text, #17201c);width:100%}.secondary-action:disabled{color:var(--tenant-muted, #8b928c)}.back-button{background:var(--tenant-surface-alt, #eee8dc);color:var(--tenant-text, #17201c);margin-bottom:18px}.alert{background:#fff2ed;border:1px solid #d16b4f;border-radius:8px;color:#7e2d1c;margin-bottom:18px;padding:12px 14px}.success-banner{background:#edf8f1;border:1px solid #8ac69f;border-radius:8px;color:#205b35;margin-bottom:18px;padding:12px 14px}.empty-copy{color:var(--tenant-muted, #62645f)}.empty-copy--compact{font-size:.9rem}.confirmation dl{display:grid;gap:14px;margin:24px 0 0}.confirmation div{border-top:1px solid var(--tenant-border, #e8e2d6);display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding-top:14px}.confirmation dt{color:var(--tenant-muted, #62645f);font-weight:700}.confirmation dd{margin:0;overflow-wrap:anywhere}.confirmation dd small{color:var(--tenant-muted, #62645f);display:block;font-size:.85rem;line-height:1.4;margin-top:4px}.empty-state{max-width:560px}.admin-screen{background:#f5f2ea;min-height:100vh;padding:32px}.admin-shell{display:grid;gap:20px;margin:0 auto;max-width:1120px}.admin-header{align-items:end;display:flex;gap:18px;justify-content:space-between}.admin-header h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:0;margin:8px 0 0}.admin-header a{color:var(--tenant-primary, #1f6f68);font-weight:800}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tabs button{background:#fff;border:1px solid #d8d1c3;border-radius:999px;color:#2b312d;font-weight:800;min-height:38px;padding:8px 14px}.admin-tabs button.active{background:var(--tenant-primary, #1f6f68);border-color:var(--tenant-primary, #1f6f68);color:#fff}.admin-toolbar{align-items:end;background:#fff;border:1px solid #ddd8cd;border-radius:8px;display:grid;gap:16px;grid-template-columns:180px minmax(220px,1fr) 180px;padding:18px}.admin-toolbar--settings-key{grid-template-columns:minmax(220px,1fr) 180px}.admin-toolbar--gift-cards{grid-template-columns:repeat(3,minmax(160px,1fr))}.admin-toolbar .field{margin-bottom:0}.admin-summary{align-items:baseline;display:flex;gap:10px}.admin-summary strong{font-size:2rem}.admin-summary span{color:#62645f;font-weight:700}.appointment-admin-panel{background:#fff;border:1px solid #ddd8cd;border-radius:8px;display:grid;gap:16px;padding:20px}.appointment-admin-panel__note,.appointment-admin-form__meta{color:#62645f;font-size:.88rem;font-weight:700}.appointment-admin-form{display:grid;gap:14px}.appointment-admin-form .field{margin-bottom:0}.appointment-admin-form__actions,.appointment-card__status-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.appointment-card__status-actions{justify-content:flex-end}.appointment-card__status-actions button{background:#fff;border:1px solid #d8d1c3;border-radius:6px;color:#1f2523;font-weight:800;min-height:34px;padding:6px 10px}.appointment-card__status-actions button:disabled{color:#8b928c}.appointment-card__editor{border-top:1px solid #e8e2d6;margin-top:16px;padding-top:16px}.appointment-change-log{border-top:1px solid #e8e2d6;margin-top:18px;padding-top:16px}.appointment-change-log__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.appointment-change-log__header h3{font-size:1rem;letter-spacing:0;margin:0}.appointment-change-log__header span,.appointment-change-log__entry-heading>span{background:#f2eee6;border-radius:999px;color:#62645f;font-size:.78rem;font-weight:800;padding:4px 8px;text-transform:uppercase}.appointment-change-log__empty{color:#62645f;margin:0}.appointment-change-log__list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.appointment-change-log__list>li{background:#fbfaf7;border:1px solid #e8e2d6;border-radius:8px;padding:12px}.appointment-change-log__entry-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.appointment-change-log__entry-heading strong{color:#17201c}.appointment-change-log__entry-heading p{color:#62645f;font-size:.84rem;margin:3px 0 0}.appointment-change-log__list dl{display:grid;gap:8px;margin:12px 0 0}.appointment-change-log__list dl>div{border-top:1px solid #eee7dc;display:grid;gap:4px;padding-top:8px}.appointment-change-log__list dt{color:#62645f;font-size:.78rem;font-weight:800;text-transform:uppercase}.appointment-change-log__list dd{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:0}.appointment-change-log__list dd span,.appointment-change-log__list dd strong{overflow-wrap:anywhere}.appointment-list{display:grid;gap:14px}.appointment-card{background:#fff;border:1px solid #ddd8cd;border-radius:8px;padding:20px}.appointment-card header{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.appointment-card h2{font-size:1.35rem;letter-spacing:0;margin:0}.appointment-card header p{color:#62645f;font-weight:700;margin:4px 0 0}.appointment-card header span{background:#e9f2ef;border:1px solid #bcd7cf;border-radius:999px;color:var(--tenant-primary, #1f6f68);font-size:.78rem;font-weight:800;padding:6px 10px;text-transform:uppercase}.appointment-card>dl{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.appointment-card>dl>div{border-top:1px solid #e8e2d6;padding-top:12px}.appointment-card dt{color:#62645f;font-size:.82rem;font-weight:800;margin-bottom:4px}.appointment-card dd{margin:0;overflow-wrap:anywhere}.appointment-card dd small{color:#62645f;display:block;font-size:.82rem;line-height:1.4;margin-top:4px}.admin-payment-summary{display:grid;gap:10px}.admin-payment-summary__status{display:grid;gap:3px}.admin-payment-summary__status strong{color:#17201c}.admin-payment-summary__status span{color:#62645f;font-size:.86rem}.admin-payment-breakdown{display:grid;gap:5px}.admin-payment-breakdown div{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.admin-payment-breakdown span{color:#62645f;font-size:.84rem}.admin-payment-breakdown strong{color:#17201c;font-size:.88rem}.admin-payment-due{align-items:center;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.admin-payment-due span{font-size:.9rem;font-weight:800}.admin-payment-due strong{font-size:1.28rem;line-height:1}.admin-payment-due--open{background:#fff2ee;border:1px solid #d88978;color:#922919}.admin-payment-due--settled{background:#edf7f1;border:1px solid #87bfa0;color:#195f39}.appointment-communication{border-top:1px solid #e8e2d6;margin-top:18px;padding-top:16px}.appointment-communication__header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.appointment-communication__header h3{font-size:1rem;letter-spacing:0;margin:0}.appointment-communication__header span{background:#f2efe8;border:1px solid #d8d0c1;border-radius:999px;color:#4b514d;font-size:.78rem;font-weight:800;min-width:28px;padding:4px 8px;text-align:center}.appointment-communication__empty{color:#62645f;font-size:.9rem;margin:0}.appointment-communication__list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.appointment-communication__list li{align-items:start;border-top:1px solid #eee7dc;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding-top:10px}.appointment-communication__list li:first-child{border-top:0;padding-top:0}.appointment-communication__list strong{color:#17201c}.appointment-communication__list p,.appointment-communication__list small{color:#62645f;display:block;font-size:.84rem;line-height:1.4;margin:4px 0 0;overflow-wrap:anywhere}.admin-settings{display:grid;gap:18px}.settings-panel{background:#fff;border:1px solid #ddd8cd;border-radius:8px;padding:20px}.section-heading--spread{align-items:end;display:flex;justify-content:space-between;gap:16px}.primary-action--inline{width:auto}.business-hours-grid{display:grid;gap:10px}.business-hour-row{align-items:center;border-top:1px solid #e8e2d6;display:grid;gap:12px;grid-template-columns:minmax(160px,1fr) 140px 140px;padding-top:10px}.business-hour-row .check-row{margin:0}.business-hour-row input[type=time]{border:1px solid #cfc8ba;border-radius:6px;min-height:40px;padding:8px 10px}.settings-checkbox-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.communication-history-list{display:grid;gap:10px;margin-top:12px}.communication-history-item{align-items:start;background:#fbfaf7;border:1px solid #e8e2d6;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.communication-history-item strong{color:#17201c}.communication-history-item p,.communication-history-item small{color:#62645f;display:block;font-size:.86rem;line-height:1.45;margin:5px 0 0;overflow-wrap:anywhere}.payment-reconciliation-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 16px}.payment-reconciliation-summary div{background:#fbfaf7;border:1px solid #e8e2d6;border-radius:8px;display:grid;gap:4px;padding:12px}.payment-reconciliation-summary span,.stripe-payment-meta dt{color:#62645f;font-size:.8rem;font-weight:800}.payment-reconciliation-summary strong{color:#17201c;font-size:1.12rem}.stripe-payment-reconcile{align-items:end;border-top:1px solid #e8e2d6;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin:16px 0;padding-top:16px}.stripe-payment-card--needs-attention{border-color:#d88978}.stripe-payment-meta{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.stripe-payment-meta div{border-top:1px solid #e8e2d6;padding-top:10px}.stripe-payment-meta dd{color:#17201c;margin:4px 0 0;overflow-wrap:anywhere}.notice{background:#edf7f1;border:1px solid #87bfa0;border-radius:8px;color:#195f39;padding:12px 14px}.admin-record-list{display:grid;gap:16px}.admin-record-card{background:#fbfaf7;border:1px solid #ddd8cd;border-radius:8px;display:grid;gap:16px;padding:18px}.admin-record-card header{align-items:start;border-bottom:1px solid #e8e2d6;display:flex;gap:16px;justify-content:space-between;padding-bottom:14px}.admin-record-card__actions{align-items:center;display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.service-link-panel{background:#fff;border:1px solid #e8e2d6;border-radius:8px;display:grid;gap:10px;padding:14px}.service-link-panel .field{margin-bottom:0}.service-link-panel input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem}.admin-record-card h3{font-size:1.15rem;margin:0}.admin-record-card header p{color:#62645f;font-size:.8rem;margin:4px 0 0;overflow-wrap:anywhere}.status-pill{border:1px solid #cfc8ba;border-radius:999px;color:#2b312d;font-size:.78rem;font-weight:800;padding:6px 10px}.status-pill--active,.status-pill--sent{background:#edf7f1;border-color:#87bfa0;color:#195f39}.status-pill--failed{background:#fff0ed;border-color:#d98c7c;color:#9b2f1f}.status-pill--processing{background:#eef4ff;border-color:#9bb8df;color:#214b78}.status-pill--skipped{background:#f4f1ea;border-color:#cfc8ba;color:#5c5547}.status-pill--booked,.status-pill--succeeded{background:#edf7f1;border-color:#87bfa0;color:#195f39}.status-pill--paid_unbooked,.status-pill--requires_capture{background:#fff0ed;border-color:#d98c7c;color:#9b2f1f}.status-pill--inactive,.status-pill--expired,.status-pill--exhausted,.status-pill--redeemed,.status-pill--void,.status-pill--at_risk,.status-pill--lapsed{background:#f4efe6;color:#6d5533}.status-pill--pending_payment{background:#eef4ff;border-color:#9bb8df;color:#214b78}.promo-code-card{background:#fff}.promo-code-metrics{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.promo-code-metrics div{background:#fbfaf7;border:1px solid #e8e2d6;border-radius:8px;display:grid;gap:4px;padding:12px}.promo-code-metrics span,.promo-code-usage__row span{color:#62645f;font-size:.8rem}.promo-code-metrics strong{color:#17201c;font-size:1.05rem}.promo-code-usage{display:grid;gap:10px}.promo-code-usage__list{border:1px solid #e8e2d6;border-radius:8px;overflow:hidden}.promo-code-usage__row{align-items:center;background:#fff;border-top:1px solid #e8e2d6;display:grid;gap:12px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;padding:12px}.promo-code-usage__row:first-child{border-top:0}.promo-code-usage__row div{display:grid;gap:3px;min-width:0}.promo-code-usage__row strong,.promo-code-usage__row span{overflow-wrap:anywhere}.service-assignment-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.service-assignment-grid .check-row{background:#fff;border:1px solid #e8e2d6;border-radius:6px;margin:0;padding:10px}.promotion-days-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.promotion-days-grid .check-row{background:#fff;border:1px solid #e8e2d6;border-radius:6px;margin:0;padding:10px}.promotion-time-ranges{display:grid;gap:10px;margin-bottom:16px}.promotion-time-ranges__header{align-items:center;display:flex;justify-content:space-between;gap:12px}.promotion-time-ranges__header strong{color:#2b312d}.promotion-time-range{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr)) auto}.promotion-time-range .field{margin-bottom:0}.text-button{background:transparent;border:0;color:var(--tenant-primary, #1f6f68);font-weight:800;min-height:38px;padding:8px 0}@media(max-width:820px){.screen{display:block}.tenant-panel{border-right:0;min-height:auto;padding:28px 22px;position:relative}.tenant-brand{align-items:center;grid-template-columns:auto minmax(0,1fr);gap:16px}.tenant-logo-frame{height:84px;padding:12px;width:104px}.tenant-logo-frame--initials{font-size:1.65rem}.tenant-panel h1{font-size:2rem}.tenant-details{margin-top:0}.screen--embedded .tenant-detail+.tenant-detail{border-left:0;border-top:1px solid var(--tenant-border, #e8e2d6)}.booking-flow{padding:22px}.flow-section{padding:20px}.service-row,.date-nav,.promotion-code,.gift-card-certificate,.form-grid,.brand-color-grid,.confirmation div,.admin-toolbar,.appointment-card>dl,.appointment-change-log__entry-heading,.appointment-communication__list li,.business-hour-row,.communication-history-item,.appointment-admin-form__actions,.payment-reconciliation-summary,.settings-checkbox-grid,.service-assignment-grid,.stripe-payment-reconcile,.stripe-payment-meta,.promotion-days-grid,.promotion-time-range{grid-template-columns:1fr}.section-heading--spread{align-items:start;flex-direction:column}.appointment-change-log__entry-heading{flex-direction:column}.tenant-logo-editor,.brand-preview{align-items:flex-start;flex-direction:column}.admin-screen{padding:22px}.admin-header{align-items:start;flex-direction:column}.service-meta{text-align:left}}
