#customer-shell{--public-background:#fff;--public-surface:#fff;--public-text:#181818;--public-color:#111;--public-button-text:#fff;background:var(--public-background);color:var(--public-text);min-height:100vh;--green:var(--public-color);--muted:var(--public-text);--line:color-mix(in srgb,var(--public-text) 16%,transparent)}
#customer-shell button,#customer-shell .button,.customer-dialog button{background:var(--public-color);color:var(--public-button-text);border-color:var(--public-color);border-radius:10px;cursor:pointer}#customer-shell button.secondary,#customer-shell .button.secondary,.customer-dialog button.secondary{background:transparent;color:var(--public-text);border:1px solid var(--line)}#customer-shell button.ghost{background:transparent;color:var(--public-text);border:0}#customer-shell[data-shape=square] button,#customer-shell[data-shape=square] .button{border-radius:3px}#customer-shell[data-shape=pill] button,#customer-shell[data-shape=pill] .button{border-radius:999px}#customer-shell[data-font=serif] h1,#customer-shell[data-font=serif] h2{font-family:Georgia,serif}#customer-shell input,#customer-shell select{background:var(--public-surface);color:var(--public-text);border-color:var(--line)}
.customer-nav{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:20px max(24px,calc((100% - 1140px)/2));border-bottom:1px solid var(--line);background:var(--public-surface)}.customer-brand{display:flex;gap:12px;align-items:center;color:inherit}.customer-brand .customer-logo,.customer-brand .customer-monogram{width:42px;height:42px;border-radius:12px;font-size:22px}.customer-nav nav{display:flex;gap:24px;align-items:center}.customer-nav nav a,.customer-nav nav button{background:none!important;color:var(--public-text)!important;border:0!important;font-size:14px;padding:8px 0;font-weight:600}.customer-nav [aria-current=page]{border-bottom:2px solid var(--public-color)!important}.customer-main{max-width:1140px;margin:auto;padding:42px 24px 80px}.customer-hero{position:relative;min-height:540px;display:grid;place-items:center}.customer-cover{width:100%;height:480px;object-fit:cover;border-radius:24px}.customer-cover+.customer-intro{position:relative;margin-top:-150px;background:var(--public-surface);padding:40px;border-radius:24px;max-width:850px;width:90%}.customer-intro{text-align:center;max-width:900px;width:100%}.customer-intro>.customer-logo{width:160px;height:160px;object-fit:contain;margin-bottom:22px}.customer-monogram{display:inline-grid;place-items:center;width:120px;height:120px;border-radius:24px;background:var(--public-color);color:var(--public-button-text);font-size:65px;margin-bottom:20px}.customer-intro .eyebrow{display:block}.customer-intro h1{font-size:44px;margin:12px 0}.customer-intro p{opacity:.75;margin:15px auto 35px;max-width:560px}.customer-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:800px;margin:30px auto}.customer-home-actions button,.customer-home-actions .button{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:23px}.customer-home-actions span{font-size:30px}.customer-home-actions small{font-size:12px;opacity:.7}.customer-heading{margin-bottom:30px}.customer-heading h1{font-size:34px;line-height:1.2;margin:12px 0}.customer-heading p{opacity:.7}.customer-search{display:block;max-width:650px;margin:0 auto 30px}.customer-service-grid,.customer-professional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.customer-service,.customer-professional{background:var(--public-surface);border:1px solid var(--line);border-radius:16px;padding:25px;display:flex;flex-direction:column;gap:15px}.customer-service h2,.customer-professional h2{font-size:20px;margin:7px 0}.customer-service p,.customer-professional p{font-size:13px;opacity:.7;min-height:24px}.customer-service>img{width:100%;height:160px;object-fit:cover;border-radius:10px}.service-monogram,.professional-avatar{display:grid;place-items:center;background:color-mix(in srgb,var(--public-color) 12%,var(--public-surface));width:64px;height:64px;border-radius:50%;color:var(--public-text);font-size:24px}.customer-service-meta{display:flex;justify-content:space-between;margin:15px 0}.customer-service>button,.customer-professional>button{margin-top:auto;width:100%}.customer-professional{text-align:center;align-items:center;min-height:260px}.customer-date{max-width:550px;display:block;margin-bottom:25px}.customer-time-period{margin:28px 0}.customer-time-period h2{font-size:19px;display:flex;justify-content:space-between}.customer-time-period h2 small{font-size:12px;opacity:.6}.customer-time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.customer-time-grid button{min-height:52px}.customer-login{max-width:480px;margin:35px auto;background:var(--public-surface);padding:30px;border-radius:18px;border:1px solid var(--line)}.customer-login h1{font-size:30px}.customer-login-actions{display:flex;gap:10px;margin:18px 0}.customer-login-actions>*{flex:1}.customer-login .button{display:flex;justify-content:center;margin:16px 0}.customer-reservation{display:flex;gap:20px;justify-content:space-between;align-items:center}.customer-reservation h2{font-size:20px;margin:15px 0 8px}.customer-benefits{margin-top:25px}#customer-shell .card{background:var(--public-surface);color:var(--public-text);border-color:var(--line)}.customer-profile{max-width:620px}.customer-footer{text-align:center;padding:30px 24px;border-top:1px solid var(--line);opacity:.7;font-size:13px}.customer-footer p{font-size:11px;margin-top:20px}.customer-location{display:block;text-align:center}.customer-dialog{background:var(--public-surface);color:var(--public-text)}.customer-dialog input,.customer-dialog select{background:var(--public-surface);color:var(--public-text)}
#customer-shell[data-template=imperial] .customer-nav{background:var(--public-color);color:var(--public-button-text)}#customer-shell[data-template=imperial] .customer-nav nav a,#customer-shell[data-template=imperial] .customer-nav nav button{color:var(--public-button-text)!important}#customer-shell[data-template=imperial] .customer-service{border-radius:5px;box-shadow:0 2px 7px #0002}#customer-shell[data-template=imperial] .customer-service>img{width:72px;height:72px;border-radius:50%;align-self:center}#customer-shell[data-template=imperial] .customer-intro>.customer-logo{width:240px;height:210px}#customer-shell[data-template=night] .customer-service-grid{grid-template-columns:1fr}#customer-shell[data-template=night] .customer-service{display:grid;grid-template-columns:72px 1fr 130px;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}#customer-shell[data-template=night] .customer-service>img{width:64px;height:64px;border-radius:50%}#customer-shell[data-template=night] .customer-service>button{grid-column:3}#customer-shell[data-template=night] .customer-service-meta{justify-content:flex-start;gap:25px}#customer-shell[data-template=studio] .customer-intro{text-align:left}#customer-shell[data-template=studio] .customer-intro h1{font-family:Georgia,serif;font-size:64px}#customer-shell[data-template=studio] .customer-home-actions{margin-left:0}#customer-shell[data-template=studio] .customer-service-grid{grid-template-columns:repeat(2,1fr)}#customer-shell[data-template=studio] .customer-service{border-radius:0;padding:32px}#customer-shell[data-template=soft] .customer-service{border-radius:28px}#customer-shell[data-template=bold] .customer-intro h1{text-transform:uppercase;font-size:58px}#customer-shell [hidden]{display:none!important}
@media(max-width:700px){.customer-nav{padding:14px 18px;display:block}.customer-nav nav{margin-top:18px;gap:0;justify-content:space-between}.customer-nav nav a,.customer-nav nav button{font-size:12px}.customer-main{padding:28px 18px 60px}.customer-hero{min-height:450px}.customer-intro h1{font-size:32px}.customer-home-actions{gap:12px}.customer-home-actions button,.customer-home-actions .button{font-size:18px;padding:20px 10px;min-height:145px}.customer-home-actions small{font-size:10px}.customer-service-grid,.customer-professional-grid,#customer-shell[data-template=studio] .customer-service-grid{grid-template-columns:1fr}.customer-time-grid{grid-template-columns:repeat(3,1fr);gap:10px}.customer-heading h1{font-size:28px}.customer-login{padding:22px;margin:15px auto}.customer-cover{height:250px}.customer-cover+.customer-intro{padding:25px 18px;width:95%;margin-top:-70px}.customer-reservation{align-items:flex-start}.customer-reservation>strong{white-space:nowrap}#customer-shell[data-template=night] .customer-service{padding:20px 0;grid-template-columns:52px 1fr 90px;gap:12px}#customer-shell[data-template=night] .customer-service>img,#customer-shell[data-template=night] .service-monogram{width:48px;height:48px;font-size:18px}#customer-shell[data-template=night] .customer-service h2{font-size:17px}#customer-shell[data-template=night] .customer-service>button{font-size:12px;padding:12px}#customer-shell[data-template=studio] .customer-intro h1{font-size:44px}#customer-shell[data-template=bold] .customer-intro h1{font-size:40px}}

.professional-avatar{object-fit:cover}.customer-promotions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:25px 0}
@media(max-width:700px){#customer-shell input,#customer-shell select,.customer-dialog input,.customer-dialog select,.customer-dialog textarea{font-size:16px;min-height:48px}.customer-nav nav a,.customer-nav nav button{min-height:44px;display:inline-flex;align-items:center}.customer-professional-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customer-professional{padding:18px 12px;min-height:210px}.customer-professional:first-child{grid-column:1/-1;min-height:170px}.customer-professional h2{font-size:17px}.customer-professional button{min-height:48px}.customer-login-actions{flex-direction:column}.customer-login-actions button{min-height:48px}.customer-reservation{flex-wrap:wrap}.customer-heading button{min-height:48px}}
.message-token{max-width:100%;white-space:normal;vertical-align:middle}.message-token>span{min-width:0;overflow-wrap:anywhere}.message-token-remove{flex-shrink:0}.customer-brand{min-width:0}.customer-brand strong{min-width:0;overflow-wrap:anywhere}.customer-brand .customer-logo,.customer-brand .customer-monogram{flex-shrink:0}
@media(max-width:700px){.customer-hero{min-height:0}.customer-cover{height:180px}.customer-intro{display:flex;flex-direction:column;align-items:center}.customer-intro>.customer-logo{width:90px;height:90px;margin-bottom:15px}.customer-intro>.customer-monogram{width:80px;height:80px;font-size:40px;margin-bottom:15px}.customer-intro>h1{font-size:28px;margin:10px 0}.customer-intro>.customer-home-actions{order:1;width:100%;margin:18px auto}.customer-home-actions button,.customer-home-actions .button{min-height:124px;padding:18px 10px}.customer-intro>p{order:2;font-size:14px;margin:12px auto 8px}.customer-cover+.customer-intro{padding:20px;width:95%}#customer-shell[data-template=imperial] .customer-intro>.customer-logo{width:120px;height:100px}#customer-shell[data-template=studio] .customer-intro h1,#customer-shell[data-template=bold] .customer-intro h1{font-size:34px}}

.simple-message-editor{margin:25px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.simple-message-editor h4{font-size:18px;margin:0 0 10px}.message-token-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.message-token-buttons button{font-size:14px;padding:12px 15px;min-height:44px}.message-composer{min-height:130px;border:1px solid #bccbc0;border-radius:9px;padding:18px;white-space:pre-wrap;line-height:2.2;overflow-wrap:anywhere;outline-offset:3px}.message-token{display:inline-flex;align-items:center;gap:8px;background:#e7f3ec;color:#164e3f;border:1px solid #b4d3bf;border-radius:7px;padding:1px 7px;vertical-align:baseline;font-weight:600;font-size:13px;line-height:1.7;user-select:all}.message-token-remove{padding:0!important;border:0!important;color:#164e3f!important;background:transparent!important;min-width:24px;min-height:30px;font-size:20px!important}.simple-message-editor+.form-note{padding:12px 18px;background:#f4f8f4;border-radius:8px;font-size:14px;color:#17372a}@media(max-width:600px){.simple-message-editor{padding:15px}.message-token-buttons{gap:8px}.message-token-buttons button{width:100%;justify-content:flex-start}.message-composer{padding:12px;min-height:160px}}
/* Customer notices must use the same readable palette in every booking step. */
#customer-shell .notice,.customer-dialog .notice{background:color-mix(in srgb,var(--public-surface) 90%,var(--public-text));color:var(--public-text);border:1px solid color-mix(in srgb,var(--public-text) 24%,transparent);line-height:1.6;overflow-wrap:anywhere}
#customer-shell .notice.error,.customer-dialog .notice.error{border-color:#c95b5b}
.customer-dialog .form-note,.customer-dialog .muted{color:var(--public-text);opacity:.8}
.customer-dialog .button{background:var(--public-color);color:var(--public-button-text);border-color:var(--public-color)}
.customer-dialog .button.secondary{background:transparent;color:var(--public-text);border:1px solid color-mix(in srgb,var(--public-text) 45%,transparent)}
.simple-message-editor .message-clear{min-height:44px;margin:12px 0;white-space:normal}@media(max-width:700px){.simple-message-editor .message-clear{width:100%}}
.message-token-picker{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:0 14px}.message-token-picker summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:600;list-style-position:inside}.message-token-picker[open] .message-token-buttons{padding-bottom:14px}.message-token-picker summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.ready-message-controls{margin:18px 0}.ready-message-controls select{font-size:16px;min-height:48px}.ready-message-controls button{min-height:48px}.ready-message-card{padding:16px 0}.ready-message-card[hidden]{display:none}
