.salon-brand-link{color:inherit;text-decoration:none}.salon-brand-link:focus-visible,.salon-official-link:focus-visible{outline:2px solid var(--salon-brass,#a5824b);outline-offset:4px;border-radius:2px}.footer-inner:has(.salon-footer-links){flex-wrap:wrap;justify-content:space-between;gap:8px 24px}.salon-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}.salon-official-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:inherit;font-size:14px;text-decoration:underline;-webkit-text-decoration-color:var(--salon-brass,#a5824b);text-decoration-color:var(--salon-brass,#a5824b);text-underline-offset:4px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])){--salon-bg:#fff;--salon-surface:#fff;--salon-surface-muted:#f5f5f5;--salon-ink:#202124;--salon-muted:#646464;--salon-primary:#484a48;--salon-primary-hover:#3e403e;--salon-border:#dadada;--salon-control-border:#858585;--salon-brass:#a5824b;--salon-brass-text:#8b693d;--salon-danger:#8f3228;--bg:var(--salon-bg);--card:var(--salon-surface);--ink:var(--salon-ink);--muted:var(--salon-muted);--brand:var(--salon-primary);--royal:var(--salon-primary);--royal-dark:var(--salon-primary-hover);--slate:var(--salon-muted);--accent:var(--salon-brass);--border:var(--salon-border);--shadow:none;--button-primary-start:var(--salon-primary);--button-primary:var(--salon-primary);--button-primary-end:var(--salon-primary);--button-primary-shadow:transparent;--button-primary-border:var(--salon-primary);--gs-badge-bg:var(--salon-surface-muted);--gs-badge-border:transparent;--gs-badge-text:var(--salon-muted);color:var(--salon-ink);background:var(--salon-bg);font-size:16px;line-height:1.6;color-scheme:light}body:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])){background:#fff}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .main{background:var(--salon-bg);padding:40px 0 32px;min-width:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.card,.salon-card){background:var(--salon-surface);border:1px solid var(--salon-border);border-radius:8px;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.muted,.hero-sub){color:var(--salon-muted)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-header{background:var(--salon-bg);border-bottom:1px solid var(--salon-border);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-inner{width:min(1320px,calc(100% - 64px));min-height:94px;padding:16px 0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px 28px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand{flex:0 1 auto;min-width:0;gap:12px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-title{font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;letter-spacing:0;line-height:1.2}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-sub{font-family:var(--font-sans);font-size:12px;font-weight:400;letter-spacing:.04em;margin-top:3px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav{display:flex;align-items:center;justify-content:center;flex:1 1 auto;gap:12px 24px;width:auto;margin:0;font-size:16px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 2px;border-radius:0;color:var(--salon-ink);border-bottom:2px solid transparent;text-decoration:none;white-space:normal}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav a[aria-current=page]{border-bottom-color:var(--salon-brass)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav a:hover{background:var(--salon-surface-muted)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility{position:static;gap:14px;margin-left:auto}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-language-switch{order:0;flex:0 0 auto}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility .mypage-notification-bar{order:1}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility .mypage-notification-panel{width:min(360px,calc(100vw - 32px));max-height:min(60vh,480px);max-height:min(60dvh,480px);overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-language-switch button{min-height:44px;min-width:36px;font-size:14px;font-weight:500;color:var(--salon-muted)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-language-switch button.is-active{color:var(--salon-ink);-webkit-text-decoration-color:var(--salon-brass);text-decoration-color:var(--salon-brass);text-decoration-thickness:2px;text-underline-offset:7px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility .mypage-notification summary{width:44px;height:44px;border:0;background:var(--salon-bg);color:var(--salon-ink);box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-footer-logout{padding:8px 2px;min-height:44px;border:0;background:transparent;color:var(--salon-ink);font:inherit;font-size:16px;cursor:pointer;white-space:nowrap}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-footer{margin-top:0;padding:0;background:var(--salon-bg);border:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .footer-inner{width:calc(100% - 48px);min-height:48px;padding:12px 16px;border-top:1px solid var(--salon-border)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-reservation-title{font-family:var(--font-sans);font-size:12px;line-height:1.6;white-space:normal}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn,.salon-action-primary,.salon-action-secondary){min-height:48px;padding:12px 20px;border-radius:6px;font-size:16px;line-height:1.5;box-shadow:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn.primary,.salon-action-primary){background:var(--salon-primary);color:#fff;border:1px solid var(--salon-primary)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn.secondary,.salon-action-secondary){background:#fff;color:var(--salon-ink);border:1px solid var(--salon-control-border)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn.primary,.salon-action-primary):hover:not(:disabled){background:var(--salon-primary-hover);box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn.secondary,.salon-action-secondary):hover:not(:disabled){background:var(--salon-surface-muted);box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn.secondary.danger,.salon-action-danger){color:var(--salon-danger);border-color:var(--salon-danger)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn,.salon-action-primary,.salon-action-secondary):disabled{background:var(--salon-surface-muted);color:var(--salon-muted);border-color:var(--salon-border);opacity:1;filter:none;box-shadow:none;cursor:not-allowed;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--salon-primary);outline-offset:3px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:48px;padding:11px 16px;border-radius:6px;border:1px solid var(--salon-control-border);background-color:var(--salon-surface);color:var(--salon-ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(input,select,textarea):disabled{background-color:var(--salon-surface-muted);color:var(--salon-muted);opacity:1;cursor:not-allowed}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(input,textarea)[aria-invalid=true]{border-color:var(--salon-danger)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(input[type=checkbox],input[type=radio]){accent-color:var(--salon-primary)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.error,.login-error-message,.signup-error-message){color:var(--salon-danger);font-size:14px;overflow-wrap:anywhere}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) [id]{scroll-margin-top:120px}@media (max-width:1023px){.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-inner{width:calc(100% - 40px);gap:12px 20px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-title{font-size:24px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav{gap:8px 16px}}@media (max-width:767px){.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .main{padding:28px 0 24px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;width:calc(100% - 32px);min-height:108px;padding:12px 0 4px;grid-gap:4px 8px;gap:4px 8px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand{grid-area:1/1/2/3;gap:8px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-title{font-size:20px;overflow-wrap:normal}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-sub{font-size:10px;letter-spacing:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-mark{width:34px;height:38px;flex:0 0 34px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .brand-mark img{width:32px;height:36px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility{display:contents}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-language-switch{grid-area:1/3/2/4;justify-content:flex-end}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .site-language-switch button{min-width:30px;min-height:44px;font-size:13px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav{grid-area:2/1/3/3;display:flex;flex-wrap:wrap;justify-content:flex-start;width:auto;min-width:0;gap:4px 16px;font-size:14px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-inner:not(:has(.mypage-notification-bar)) .nav{grid-column:1/-1;justify-content:center}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .nav a{display:inline-flex;min-height:44px;padding:5px 0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .header-utility .mypage-notification-bar{grid-area:2/3/3/4;justify-self:end}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .footer-inner{width:calc(100% - 32px);padding:12px 0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn,.salon-action-primary,.salon-action-secondary){padding-inline:16px}}@media (prefers-reduced-motion:reduce){.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.btn,a,button){transition:none;transform:none}}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.login-page,.signup-page){width:calc(100% - 32px);min-height:0;padding:0 0 24px;color:var(--salon-ink,#202124)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-page{max-width:664px;display:block}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page{max-width:672px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-stage{min-height:0;padding:0;display:block}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page>.section{margin:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card{--control-height:52px;width:100%;max-width:none;padding:32px;border:1px solid var(--salon-border,#dadada);border-radius:8px;background:#fff;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-panel{gap:16px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-brand-intro{display:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-heading{gap:12px;margin:0;text-align:center}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-heading h1{margin:0;font-family:var(--font-serif),serif;font-size:40px;font-weight:600;line-height:1.3;color:var(--salon-ink,#202124)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-heading p{margin:0;font-size:18px;font-weight:500;color:var(--salon-muted,#646464);line-height:1.6}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-destination-note{margin:-4px 0 16px;padding:0;border:0;border-radius:0;background:transparent;color:var(--salon-muted,#646464);font-size:14px;font-weight:400;text-align:center}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(label,.salon-auth-field){color:var(--salon-ink,#202124);font-size:16px;font-weight:600}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.salon-auth-field,.login-form-panel>label){display:grid;grid-gap:6px;gap:6px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-field>label{margin:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(input:not([type=checkbox]),select,textarea){border:1px solid var(--salon-control-border,#858585);border-radius:6px;background:#fff;color:var(--salon-ink,#202124);font-family:var(--font-sans),sans-serif;font-size:16px;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(input,textarea)::placeholder{color:#818181;opacity:1}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(input:not([type=checkbox]),select,textarea):focus{border-color:var(--salon-primary,#484a48);outline:2px solid var(--salon-primary,#484a48);outline-offset:2px;box-shadow:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(input,select,textarea):disabled{background:var(--salon-surface-muted,#f5f5f5);color:var(--salon-muted,#646464)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card input[aria-invalid=true]{border-color:var(--salon-danger,#8f3228)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-field{position:relative;min-width:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-field>input{padding-right:52px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--salon-ink,#202124);cursor:pointer}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-toggle svg{width:22px;height:22px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-toggle:disabled{color:#858585;cursor:default}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-toggle:focus-visible{outline:2px solid var(--salon-primary,#484a48);outline-offset:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-password-link{justify-self:end;min-height:44px;margin:-12px 0 -10px;color:var(--salon-muted,#646464);font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:3px;text-align:right}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;min-height:44px;margin:0;padding:0;border:0;background:transparent;font-weight:500}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option input{width:22px;min-width:22px;height:22px;min-height:22px;margin:2px 0 0;padding:0;accent-color:var(--salon-primary,#484a48)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option strong{font-size:16px;font-weight:500;line-height:1.5}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option small{color:var(--salon-muted,#646464);font-size:13px;font-weight:400;line-height:1.6}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.btn.primary,.login-inline-send){min-height:52px;width:100%;padding:12px 20px;border:1px solid var(--salon-primary,#484a48);border-radius:6px;background:var(--salon-primary,#484a48);color:#fff;font-size:16px;font-weight:600;box-shadow:none;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.btn.primary,.login-inline-send):hover:not(:disabled){background:var(--salon-primary-hover,#3e403e);box-shadow:none;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .btn.secondary{min-height:52px;width:100%;border:1px solid var(--salon-control-border,#858585);border-radius:6px;background:#fff;color:var(--salon-ink,#202124);font-size:16px;font-weight:500;box-shadow:none;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .btn.secondary:hover:not(:disabled){background:var(--salon-surface-muted,#f5f5f5);box-shadow:none;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.btn,.login-inline-send):disabled{opacity:1;filter:none;background:#e7e7e7;border-color:var(--salon-border,#dadada);color:#646464;box-shadow:none;transform:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(button,a,summary):focus-visible{outline:2px solid var(--salon-primary,#484a48);outline-offset:3px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-submit-button{position:relative;margin-top:4px;min-height:56px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-submit-button>svg{position:absolute;right:20px;width:22px;height:22px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-links{gap:4px;padding:0;border-top:0;font-size:14px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-links>button{min-height:44px;padding:6px 0;color:var(--salon-muted,#646464);font-weight:400;text-decoration:underline;text-underline-offset:3px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-login-signup{display:grid;grid-gap:12px;gap:12px;width:100%;margin-top:8px;padding-top:20px;border-top:1px solid var(--salon-border,#dadada)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-login-signup>span{color:var(--salon-muted,#646464)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-login-signup .btn{gap:12px;text-decoration:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-login-signup svg{width:24px;height:24px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-migration-panel{width:100%;max-width:none;padding:16px;border-color:var(--salon-border,#dadada);background:#fff}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.login-recovery-note,.login-status-message,.notice){margin:0;padding:12px 14px;border:1px solid var(--salon-border,#dadada);border-radius:6px;background:var(--salon-surface-muted,#f5f5f5);color:var(--salon-muted,#646464);font-size:14px;font-weight:400;line-height:1.7;overflow-wrap:anywhere}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card :is(.login-error-message,.signup-error-message,.customer-phone-input-error){color:var(--salon-danger,#8f3228);font-size:14px;line-height:1.6;font-weight:500}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-confirmation-panel{width:100%;padding:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-confirmation-panel h1{font-family:var(--font-serif),serif;color:var(--salon-ink,#202124)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .salon-auth-card{--control-height:48px;padding:32px 36px 36px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero{gap:14px;justify-items:center;margin:0 0 36px;padding:0;text-align:center}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero>.badge{padding:4px 16px;border:0;border-radius:999px;background:#e9e9e9;color:var(--salon-ink,#202124);font-size:13px;font-weight:400;line-height:1.6}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero .hero-title{margin:4px 0 0;font-size:40px;font-weight:600;line-height:1.3;overflow-wrap:normal;word-break:normal}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero .hero-sub{max-width:100%;margin:0;color:var(--salon-muted,#646464);font-size:15px;line-height:1.7}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .form{gap:20px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .form>div>label{margin:0 0 6px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page :is(#signup-password-note,.customer-phone-input-note,.salon-optional-note){display:block;margin-top:4px;color:var(--salon-muted,#646464);font-size:13px;line-height:1.6}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section{display:block;padding:0;border:1px solid var(--salon-border,#dadada);border-radius:6px;background:#fff}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary{min-height:52px;padding:12px 16px;list-style:none;font-weight:500}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary::-webkit-details-marker{display:none}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary span{font-size:16px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary svg{flex:0 0 auto;width:20px;height:20px;transition:transform .12s ease}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section[open] summary svg{transform:rotate(180deg)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section>:not(summary){margin:16px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .salon-optional-note{margin:-14px 0 8px;padding-inline:12px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-announcement-toggle{background:var(--salon-surface-muted,#f5f5f5);border-color:var(--salon-border,#dadada)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-submit-note{margin:0;padding-top:20px;border-top:1px solid var(--salon-border,#dadada);color:var(--salon-muted,#646464);font-size:14px;font-weight:400}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-legal-links{gap:8px 14px;margin:-4px 0 0;font-size:12px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-legal-links a{color:var(--salon-muted,#646464);font-weight:400}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-legal-links .salon-legal-divider{width:auto}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .auth-switch{display:grid;grid-gap:16px;gap:16px;padding-top:4px;border:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .auth-switch>span{display:flex;align-items:center;gap:16px;color:var(--salon-muted,#646464);font-size:14px;text-align:center}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .auth-switch>span:after,.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-page .auth-switch>span:before{content:"";flex:1 1;border-top:1px solid var(--salon-border,#dadada)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-booking-summary{margin:0 0 24px;text-align:left}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-panel .salon-auth-booking-summary{margin:0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-booking-summary p{margin:4px 0}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-booking-summary small{font-size:12px;line-height:1.6}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-verification-sent h2{font-family:var(--font-serif),serif;font-size:28px;line-height:1.4}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-code-verification{display:grid;grid-gap:16px;gap:16px}@media (max-width:767px){.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.login-page,.signup-page){width:calc(100% - 32px);padding-bottom:8px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.login-page,.signup-page) .salon-auth-card{padding:24px 20px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) :is(.login-form-heading h1,.signup-hero .hero-title){font-size:30px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .login-form-heading p{font-size:16px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero{margin-bottom:28px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-hero .hero-sub{font-size:14px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option strong{font-size:14px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .login-remember-option small{font-size:12px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-grid{grid-template-columns:minmax(0,1fr)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary span{font-size:14px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-announcement-toggle{flex-direction:column;align-items:stretch;gap:12px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-announcement-toggle .switch-control{justify-content:flex-start;min-height:44px}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-announcement-toggle .switch-control strong{white-space:nowrap}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .salon-auth-card .btn{white-space:normal;overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .signup-optional-section summary svg{transition:none}}.booking-container[data-customer-ui=salon-white]{--booking-section-content-max:100%;width:min(1060px,calc(100% - 48px));margin-inline:auto;color:var(--salon-ink)}.booking-container[data-customer-ui=salon-white][data-booking-view=payment]{width:min(888px,calc(100% - 48px))}.booking-container[data-customer-ui=salon-white] .booking-hero{width:100%;padding:38px 0 0;margin:0 auto 32px;gap:8px;text-align:left}.booking-container[data-customer-ui=salon-white] .hero-title{font-size:32px;line-height:1.3}.booking-container[data-customer-ui=salon-white] .hero-sub{font-size:16px;color:var(--salon-muted)}.booking-container[data-customer-ui=salon-white] .booking-flow-progress{--salon-flow-node-size:52px;width:100%;margin:0 0 32px;padding:22px 16px 16px;border:0;border-radius:0;background:transparent;box-shadow:none}.booking-container[data-customer-ui=salon-white] .booking-flow-track{--salon-flow-progress:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;isolation:isolate;overflow:visible}.booking-container[data-customer-ui=salon-white] .booking-flow-track:has(>.booking-flow-step:nth-child(2).is-active){--salon-flow-progress:.5}.booking-container[data-customer-ui=salon-white] .booking-flow-track:has(>.booking-flow-step:nth-child(3).is-active){--salon-flow-progress:1}.booking-container[data-customer-ui=salon-white] .booking-flow-track:after,.booking-container[data-customer-ui=salon-white] .booking-flow-track:before{content:"";position:absolute;top:calc(var(--salon-flow-node-size) / 2 - 1px);left:calc(100% / 6);right:calc(100% / 6);height:3px;border-radius:3px;pointer-events:none}.booking-container[data-customer-ui=salon-white] .booking-flow-track:before{background:var(--salon-border)}.booking-container[data-customer-ui=salon-white] .booking-flow-track:after{background:linear-gradient(90deg,var(--salon-primary),var(--salon-brass));transform:scaleX(var(--salon-flow-progress));transform-origin:left center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.booking-container[data-customer-ui=salon-white] .booking-flow-step{gap:12px;min-width:0;padding:0 4px;color:var(--salon-ink)}.booking-container[data-customer-ui=salon-white] .booking-flow-index{position:relative;width:var(--salon-flow-node-size);height:var(--salon-flow-node-size);border:0;color:var(--salon-muted);background:radial-gradient(circle at 30% 25%,#fff 8%,#f2f2f2 40%,#d6d6d6 76%,#bababa 100%);box-shadow:inset 2px 2px 5px hsla(0,0%,100%,.85),inset -3px -4px 6px rgba(72,74,72,.12),0 8px 12px -5px rgba(32,33,32,.3);font-size:20px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease}.booking-container[data-customer-ui=salon-white] .booking-flow-index:after{content:none}.booking-container[data-customer-ui=salon-white] .booking-flow-step.is-done .booking-flow-index{background:radial-gradient(circle at 30% 25%,#fff 8%,#f2f2f2 40%,#d6d6d6 76%,#bababa 100%);color:var(--salon-primary);box-shadow:inset 2px 2px 5px hsla(0,0%,100%,.85),inset -3px -4px 6px rgba(72,74,72,.12),0 8px 12px -5px rgba(32,33,32,.3)}.booking-container[data-customer-ui=salon-white] .booking-flow-step.is-active .booking-flow-index{background:radial-gradient(circle at 20% 16%,#ababab 0,#747474 17%,#595a59 48%,var(--salon-primary) 70%,#2b2c2b 100%);color:#fff;box-shadow:inset 2px 2px 5px hsla(0,0%,100%,.3),inset -4px -5px 8px rgba(20,23,20,.32),0 10px 14px -5px rgba(32,33,32,.42);text-shadow:0 1px 2px rgba(20,23,20,.3);transform:translateY(-2px);animation:salon-flow-arrive .45s cubic-bezier(.22,1,.36,1) both}.booking-container[data-customer-ui=salon-white] .booking-flow-copy strong{padding:6px 10px;border-radius:7px;color:var(--salon-muted);font-size:16px;font-weight:600;line-height:1.4;transition:color .3s ease,background-color .3s ease}.booking-container[data-customer-ui=salon-white] .booking-flow-step.is-done .booking-flow-copy strong{color:var(--salon-ink)}.booking-container[data-customer-ui=salon-white] .booking-flow-step.is-active .booking-flow-copy strong{color:var(--salon-ink);background:rgba(72,74,72,.065)}@keyframes salon-flow-arrive{0%{opacity:.65;transform:translateY(4px) scale(.92)}to{opacity:1;transform:translateY(-2px) scale(1)}}@media (prefers-reduced-motion:reduce){.booking-container[data-customer-ui=salon-white] .booking-flow-copy strong,.booking-container[data-customer-ui=salon-white] .booking-flow-index,.booking-container[data-customer-ui=salon-white] .booking-flow-track:after{transition:none}.booking-container[data-customer-ui=salon-white] .booking-flow-step.is-active .booking-flow-index{animation:none;transform:none}}.booking-container[data-customer-ui=salon-white] .booking-shell{grid-template-columns:1fr;gap:16px}.booking-container[data-customer-ui=salon-white] .booking-shell .booking-panel,.booking-container[data-customer-ui=salon-white] .booking-shell .booking-side>.card.sticky-card{width:100%;padding:28px 30px;border:1px solid var(--salon-border);border-radius:8px;background:#fff;box-shadow:none}.booking-container[data-customer-ui=salon-white] .booking-customer-form>*,.booking-container[data-customer-ui=salon-white] .booking-panel>*{width:100%;max-width:none}.booking-container[data-customer-ui=salon-white] .booking-step-heading>.badge{position:static;background:var(--salon-surface-muted);border-color:transparent;color:var(--salon-ink);font-size:14px;font-weight:500}.booking-container[data-customer-ui=salon-white] .booking-step-heading h3{font-size:32px;line-height:1.3}.booking-container[data-customer-ui=salon-white] .booking-panel-head{margin-bottom:20px}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls .quick-availability-lite-fields{grid-template-columns:minmax(0,1.08fr) repeat(2,minmax(0,1fr));gap:28px}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls :is(input,select,.date-control-display){min-height:48px;height:48px;background:#fff;border-color:var(--salon-control-border);font-size:16px;color:var(--salon-ink)}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls select:disabled{background:var(--salon-surface-muted);color:var(--salon-muted)}.page:has([data-customer-ui=salon-white]):not(:has([data-login-host=admin])) .booking-container[data-customer-ui=salon-white] .booking-date-time-controls .quick-availability-lite-fields select{max-height:none;padding:0 16px}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls :is(label>span,.quick-availability-date-field>span){color:var(--salon-muted);font-size:16px}.booking-container[data-customer-ui=salon-white] .booking-inline-help{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--salon-border);border-radius:6px;background:var(--salon-surface-muted);color:var(--salon-ink);font-size:16px;font-weight:400;line-height:1.6}.booking-container[data-customer-ui=salon-white] .booking-inline-help>svg{flex:0 0 24px;width:24px;height:24px}.booking-container[data-customer-ui=salon-white] :is(.booking-deadline-note,.booking-room-navigation-note){color:var(--salon-muted);font-size:14px;line-height:1.7}.booking-container[data-customer-ui=salon-white] .booking-room-navigation-note a{color:var(--salon-primary)}.booking-container[data-customer-ui=salon-white] .booking-calendar-toggle-row{margin:20px 0 12px;text-align:center}.booking-container[data-customer-ui=salon-white] .booking-calendar-toggle-button{width:328px;max-width:100%;min-height:54px;border-color:var(--salon-brass);background:#fff;color:var(--salon-ink);font-size:16px}.booking-container[data-customer-ui=salon-white] .booking-calendar-toggle-button>svg,.booking-container[data-customer-ui=salon-white] .date-control-icon{color:var(--salon-brass)}.booking-container[data-customer-ui=salon-white] :is(.booking-explicit-date-summary,.booking-explicit-date-cta-card){border-color:var(--salon-border);background:var(--salon-surface-muted);color:var(--salon-ink);box-shadow:none}.booking-container[data-customer-ui=salon-white] .booking-explicit-complete-label{background:#fff;color:var(--salon-ink);border-color:var(--salon-border)}.booking-container[data-customer-ui=salon-white] .booking-side .form{grid-template-columns:1fr}.booking-container[data-customer-ui=salon-white] .booking-side-section-head{margin-bottom:12px}.booking-container[data-customer-ui=salon-white] .booking-side-section-head p{color:var(--salon-muted);font-size:16px;margin-top:8px}.booking-container[data-customer-ui=salon-white] .booking-customer-form.is-waiting-for-date>.auth-required-box{display:grid}.booking-container[data-customer-ui=salon-white] .booking-customer-form.is-waiting-for-date:has(.auth-required-box)>.booking-step-wait-card{display:none}.booking-container[data-customer-ui=salon-white] .auth-required-box{padding:0;border:0;background:transparent;box-shadow:none;gap:12px}.booking-container[data-customer-ui=salon-white] .auth-required-box[data-selection-ready=false]>:is(.badge,strong,p){display:none}.booking-container[data-customer-ui=salon-white] .salon-booking-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;width:min(100%,640px);margin-inline:auto}.booking-container[data-customer-ui=salon-white] .salon-booking-auth-actions .btn{width:100%;min-height:54px;font-size:18px}.booking-container[data-customer-ui=salon-white] .salon-booking-auth-note{color:var(--salon-muted);font-size:14px;text-align:center}.booking-container[data-customer-ui=salon-white][data-booking-view=payment] .booking-main:empty{display:none}.booking-container[data-customer-ui=salon-white][data-booking-view=payment] .booking-shell .booking-side>.card.sticky-card{padding:0;border:0;background:transparent}.booking-container[data-customer-ui=salon-white] .confirmation-panel{gap:16px}.booking-container[data-customer-ui=salon-white] :is(.salon-booking-details-card,.confirmation-guest-card,.salon-booking-payment-card){display:grid;grid-gap:24px;gap:24px;padding:28px 26px;border:1px solid var(--salon-border);border-radius:8px;background:#fff}.booking-container[data-customer-ui=salon-white] .salon-booking-details-card{position:relative}.booking-container[data-customer-ui=salon-white] :is(.confirmation-head h3,.confirmation-guest-card h3,.salon-booking-payment-card h3){margin:0;font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1.3}.booking-container[data-customer-ui=salon-white] .confirmation-head{justify-content:flex-start;align-items:baseline;gap:16px}.booking-container[data-customer-ui=salon-white] .confirmation-head>span{padding:0;border:0;font-size:16px;font-weight:400}.booking-container[data-customer-ui=salon-white] .reservation-batch-confirmation-item{grid-template-columns:1fr;padding:0;border:0;gap:18px}.booking-container[data-customer-ui=salon-white] .confirmation-reservation-list{gap:24px}.booking-container[data-customer-ui=salon-white] .salon-booking-facts{display:grid;grid-gap:10px;gap:10px;margin:0}.booking-container[data-customer-ui=salon-white] .salon-booking-facts>div{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:16px;gap:16px;min-width:0}.booking-container[data-customer-ui=salon-white] .salon-booking-facts dt{color:var(--salon-muted);font-size:16px;font-weight:400}.booking-container[data-customer-ui=salon-white] .salon-booking-facts dd{margin:0;color:var(--salon-ink);font-size:16px;font-weight:400;overflow-wrap:anywhere}.booking-container[data-customer-ui=salon-white] :is(.confirmation-plan-line,.salon-booking-extra-detail){font-size:14px;color:var(--salon-muted)}.booking-container[data-customer-ui=salon-white] .reservation-batch-actions{display:flex;grid-column:1/-1;justify-self:stretch;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:12px;border-top:1px solid var(--salon-border);padding-top:18px;padding-right:250px}.booking-container[data-customer-ui=salon-white] .reservation-batch-actions .btn{flex:0 0 auto;min-width:116px;min-height:48px;font-size:16px}.booking-container[data-customer-ui=salon-white] .add-reservation-link{justify-self:end;width:auto;max-width:100%;min-height:48px;margin:0;padding:10px 16px;color:var(--salon-ink);font-size:16px}.booking-container[data-customer-ui=salon-white] .salon-booking-details-card:has(.reservation-batch-actions)>.add-reservation-link{position:absolute;right:26px;bottom:28px}.booking-container[data-customer-ui=salon-white] .add-reservation-link span{color:var(--salon-ink);background:transparent;border:1px solid;width:20px;height:20px}.booking-container[data-customer-ui=salon-white] .confirmation-guest-card>.salon-booking-review-notes{display:grid;grid-gap:20px;gap:20px;border-top:1px solid var(--salon-border);padding-top:18px}.booking-container[data-customer-ui=salon-white] .salon-booking-note-field{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:16px;gap:16px}.booking-container[data-customer-ui=salon-white] .salon-booking-note-field label{color:var(--salon-muted);font-size:16px;font-weight:400}.booking-container[data-customer-ui=salon-white] .salon-booking-note-field textarea{width:100%;min-height:88px;padding:14px 16px;border:1px solid var(--salon-border);border-radius:6px;background:var(--salon-surface-muted);color:var(--salon-ink);font-size:16px;resize:vertical}.booking-container[data-customer-ui=salon-white] .salon-booking-note-field small{display:block;margin-top:6px;font-size:12px;line-height:1.5}.booking-container[data-customer-ui=salon-white] .batch-total-box{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:baseline;grid-gap:8px 16px;gap:8px 16px;padding:0 0 22px;border-top:0;border-bottom:1px solid var(--salon-border)}.booking-container[data-customer-ui=salon-white] .batch-total-box>span{font-size:16px}.booking-container[data-customer-ui=salon-white] .batch-total-box>strong{color:var(--salon-primary);font-family:var(--font-serif);font-size:38px;font-weight:700}.booking-container[data-customer-ui=salon-white] .batch-total-box>small{grid-column:2;color:var(--salon-muted);font-size:14px}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options{position:relative;min-width:0;margin:0;padding:0 0 0 176px;border:0}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options legend{position:absolute;top:12px;left:0;width:160px;font-size:16px;color:var(--salon-muted)}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options label{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 16px;border:1px solid var(--salon-border);border-radius:6px;color:var(--salon-ink);font-size:16px;font-weight:400;cursor:pointer}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:22px;height:22px;min-height:0;padding:0;flex:0 0 22px;accent-color:var(--salon-primary)}.booking-container[data-customer-ui=salon-white] .payment-availability-note{font-size:14px;margin-bottom:12px}.booking-container[data-customer-ui=salon-white] .salon-booking-confirmation-note{display:flex;align-items:center;gap:14px;min-height:58px;margin:0;padding:14px 18px;border:1px solid var(--salon-border);border-radius:6px;background:var(--salon-surface-muted);font-size:16px;line-height:1.6}.booking-container[data-customer-ui=salon-white] .salon-booking-confirmation-note>svg{flex:0 0 24px}.booking-container[data-customer-ui=salon-white] .booking-payment-actions{grid-template-columns:minmax(0,1fr)}.booking-container[data-customer-ui=salon-white] .booking-payment-actions .btn{min-height:56px;font-size:18px;position:relative}.booking-container[data-customer-ui=salon-white] .booking-payment-actions .btn>svg{position:absolute;right:24px}.booking-container[data-customer-ui=salon-white] .booking-payment-actions .salon-booking-restart{justify-self:center;width:auto;min-height:44px;padding:6px 12px;border:0;border-radius:0;background:transparent;color:var(--salon-muted);font-size:14px;text-decoration:underline;text-underline-offset:3px;box-shadow:none}.booking-container[data-customer-ui=salon-white] .payment-security-note{color:var(--salon-muted);font-size:12px}.booking-container[data-customer-ui=salon-white] .estimate-highlight{background:var(--salon-surface-muted);border-color:var(--salon-border);box-shadow:none}.booking-container[data-customer-ui=salon-white] .estimate-highlight strong{color:var(--salon-ink)}@media (max-width:767px){.booking-container[data-customer-ui=salon-white],.booking-container[data-customer-ui=salon-white][data-booking-view=payment]{width:calc(100% - 32px)}.booking-container[data-customer-ui=salon-white] .booking-hero{padding-top:24px;margin-bottom:24px}.booking-container[data-customer-ui=salon-white] .booking-flow-progress{--salon-flow-node-size:44px;width:100%;margin:0 0 24px;padding:20px 8px 12px;border-radius:0}.booking-container[data-customer-ui=salon-white] .booking-flow-copy strong{padding:6px 4px;font-size:14px;white-space:normal}.booking-container[data-customer-ui=salon-white] .booking-shell .booking-panel,.booking-container[data-customer-ui=salon-white] .booking-shell .booking-side>.card.sticky-card,.booking-container[data-customer-ui=salon-white] :is(.salon-booking-details-card,.confirmation-guest-card,.salon-booking-payment-card){padding:20px 16px}.booking-container[data-customer-ui=salon-white] .booking-step-heading h3,.booking-container[data-customer-ui=salon-white] .hero-title{font-size:24px}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls .quick-availability-lite-fields{grid-template-columns:minmax(0,1fr);gap:16px}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls .quick-availability-lite-fields>:is(label,.quick-availability-date-field){grid-template-rows:auto minmax(48px,auto);gap:6px;margin:0}.booking-container[data-customer-ui=salon-white] .booking-date-time-controls .quick-availability-lite-fields>:is(label,.quick-availability-date-field)>span{height:auto;line-height:1.5}.booking-container[data-customer-ui=salon-white] .batch-total-box,.booking-container[data-customer-ui=salon-white] .salon-booking-auth-actions,.booking-container[data-customer-ui=salon-white] .salon-booking-facts>div,.booking-container[data-customer-ui=salon-white] .salon-booking-note-field,.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options>div{grid-template-columns:minmax(0,1fr);gap:8px}.booking-container[data-customer-ui=salon-white] .salon-booking-facts{gap:16px}.booking-container[data-customer-ui=salon-white] .reservation-batch-actions{padding-right:0}.booking-container[data-customer-ui=salon-white] .salon-booking-details-card:has(.reservation-batch-actions)>.add-reservation-link{position:static;width:100%}.booking-container[data-customer-ui=salon-white] .batch-total-box>small{grid-column:1}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options{padding:0}.booking-container[data-customer-ui=salon-white] .salon-booking-payment-options legend{position:static;width:auto;margin-bottom:12px}.booking-container[data-customer-ui=salon-white] .booking-payment-actions .btn{padding-inline:36px;font-size:16px}.booking-container[data-customer-ui=salon-white] .booking-payment-actions .btn>svg{right:10px}}@media (max-width:359px){.booking-container[data-customer-ui=salon-white] .booking-flow-step{padding-inline:2px}.booking-container[data-customer-ui=salon-white] .booking-flow-copy strong{padding-inline:2px;font-size:13px}}.page .mypage-container[data-customer-ui=salon-white]{--portal-primary:#202124;--portal-accent:#a5824b;--salon-ink:#202124;--salon-soft:#646464;--salon-accent:#a5824b;--salon-surface:#fff;--salon-subtle:#f5f5f5;--salon-line:#dadada;width:min(960px,calc(100% - 64px));max-width:960px;margin:0 auto;padding:0;color:var(--salon-ink);background:#fff}.page .mypage-container[data-customer-ui=salon-white] [hidden]{display:none!important}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading{margin:12px 0 48px;text-align:left}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading h1{margin:0;font-family:var(--font-serif);font-size:40px;line-height:1.3;font-weight:600;letter-spacing:.04em}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading p{margin:0;color:var(--salon-muted);font-size:20px;overflow-wrap:anywhere}.page .mypage-container[data-customer-ui=salon-white] .mypage-service-band{width:100%;margin:0 0 44px;padding:0;background:#fff;border:0;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .mypage-service-band-inner{width:100%;margin:0}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:0;gap:0;overflow:visible}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:94px;margin:0;padding:0 8px 20px;gap:10px;border:0;border-radius:0;color:var(--salon-ink);background:#fff;box-shadow:none;text-decoration:none}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a+a:before{content:"";position:absolute;top:0;left:0;height:66px;border-left:1px solid var(--salon-border)}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a:after{content:none}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a[aria-current=location]:after{content:"";position:absolute;bottom:0;left:12%;right:12%;height:2px;width:auto;border:0;transform:none;opacity:1;background:var(--salon-brass)}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a:hover{background:var(--salon-surface-muted);transform:none}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu-icon{display:grid;place-items:center;width:34px;height:34px;color:var(--salon-brass);background:transparent;border:0;border-radius:0}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu-icon svg{width:32px;height:32px}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu-copy{display:block;text-align:center;line-height:1.4;font-size:18px;font-weight:500;white-space:normal}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-panel>.section{margin:0 0 32px;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;scroll-margin-top:112px}.page .mypage-container[data-customer-ui=salon-white] .section-heading{display:flex;align-items:flex-end;justify-content:flex-start;gap:24px;margin:0 0 20px;width:100%;align-self:start;text-align:left}.page .mypage-container[data-customer-ui=salon-white] .section-heading>div{margin:0;min-width:0;text-align:left}.page .mypage-container[data-customer-ui=salon-white] #ticket-balance>.section-heading{align-items:flex-start}.page .mypage-container[data-customer-ui=salon-white] .section-heading :is(h2,h3){margin:0;color:var(--salon-ink);font-family:var(--font-serif);font-size:32px;font-weight:600;line-height:1.35}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-eyebrow{display:block;margin-bottom:8px;color:var(--salon-brass-text);font-size:12px;letter-spacing:.12em;line-height:1.5}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-reservation-section{padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-reservation-count{margin:0 0 7px;padding:0;color:var(--salon-ink);font-size:18px;line-height:1.5;text-decoration:none}.page .mypage-container[data-customer-ui=salon-white] :is(.mypage-reservation-card-ui,.mypage-next-visit-card){padding:18px 18px 30px;border:1px solid var(--salon-border);border-radius:8px;background:#fff;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .mypage-reservation-card-ui.is-reservation-card-compact{gap:0;min-height:0}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row{min-height:50px;margin:0 0 24px;padding:12px 22px;justify-content:flex-start;gap:16px;border:0;border-radius:6px;background:var(--salon-surface-muted)}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row :is(.status-pill,.mypage-dashboard-kicker){display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--salon-ink);font-size:16px;line-height:1.5;font-weight:500;margin-left:0}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row :is(.status-confirmed,.status-changed){color:var(--salon-brass-text);font-weight:600}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row .status-pill>span[aria-hidden]{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--salon-brass-text);color:#fff}.page .mypage-container[data-customer-ui=salon-white] :is(.is-payment-pending,.is-bank-transfer-pending)>.mypage-card-title-row{border-top:3px solid #d98a80;background:#fff0ed}.page .mypage-container[data-customer-ui=salon-white] .is-lesson-reservation>.mypage-card-title-row{border-top:3px solid #f39c12;background:#fff5e7}.page .mypage-container[data-customer-ui=salon-white] .is-payment-pending.is-lesson-reservation>.mypage-card-title-row{border-top-color:#d98a80;background:#fff0ed}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-status-divider{color:#aaa}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:20px 28px;gap:20px 28px;margin:0 20px;text-align:left}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-head>div{width:auto;min-width:0}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time{display:grid;grid-template-columns:34px minmax(0,1fr);grid-column:1/-1;align-items:center;grid-gap:4px 22px;gap:4px 22px;padding-bottom:18px;border-bottom:1px solid var(--salon-border)}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time>.salon-icon{grid-row:1/3;align-self:start;margin-top:5px;width:30px;height:30px;color:var(--salon-brass)}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time>strong{font-family:var(--font-serif);font-size:30px;line-height:1.4}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time>.salon-reservation-time{color:var(--salon-ink);font-size:24px;line-height:1.4;text-align:left}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:4px 22px;gap:4px 22px;align-items:center}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room .salon-icon{grid-row:1/3;align-self:start;width:28px;height:28px;color:var(--salon-brass)}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room>strong{font-size:18px;line-height:1.5}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room>span{color:var(--salon-muted);font-size:16px;line-height:1.5;text-align:left;white-space:normal;overflow:visible}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;padding-left:32px;border-left:1px solid var(--salon-border)}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment>strong{font-size:18px;line-height:1.5}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment .salon-icon{width:30px;height:30px;color:var(--salon-brass)}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment-label{font-size:14px;color:var(--salon-muted)}.page .mypage-container[data-customer-ui=salon-white] .mypage-next-visit-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,.9fr);grid-gap:16px;gap:16px;margin:32px 20px 0}.page .mypage-container[data-customer-ui=salon-white] .mypage-next-visit-actions>.btn{min-height:54px;padding:12px 16px;font-size:16px;line-height:1.5;white-space:normal}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-cancel{min-height:48px;padding:10px 4px;border:0;background:transparent;color:var(--salon-ink);font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-cancel:disabled{color:var(--salon-muted);cursor:not-allowed}.page .mypage-container[data-customer-ui=salon-white] .mypage-reservation-card-detail-panel{margin-top:24px}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-visit-links{display:block;margin-top:14px}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-visit-action-links{display:flex;justify-content:center;gap:24px;margin:0}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-text-link{display:inline-flex;min-height:44px;align-items:center;gap:10px;color:var(--salon-ink);font-size:16px;text-decoration:none}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-text-link:hover{text-decoration:underline;text-underline-offset:4px}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-text-link .salon-icon{color:var(--salon-brass)}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-panel-navigation{margin:0 0 20px}.page .mypage-container[data-customer-ui=salon-white] #ticket-balance .ticket-summary-card{padding:26px 36px 0;border:1px solid var(--salon-border);border-radius:8px;background:#fff;box-shadow:none;gap:0}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-overview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-gap:32px;gap:32px;margin-bottom:24px}.page .mypage-container[data-customer-ui=salon-white] .ticket-summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;margin:0;padding:0 0 0 64px;border:0;border-radius:0;background:transparent;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .ticket-summary>strong{color:var(--salon-ink);font-family:var(--font-serif);font-size:48px;font-weight:600;line-height:1.2}.page .mypage-container[data-customer-ui=salon-white] .ticket-summary>strong>.salon-ticket-unit{color:var(--salon-ink);font-size:28px;font-weight:500}.page .mypage-container[data-customer-ui=salon-white] .ticket-summary>span{color:var(--salon-muted);font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown{display:grid;align-content:center;grid-gap:16px;gap:16px;min-width:0;padding-left:48px;border-left:1px solid var(--salon-border)}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown :is(.ticket-list,.ticket-balance-private-offers){margin:0;padding:0;border:0;background:transparent;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown .ticket-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;padding:0;border:0;background:transparent}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown .ticket-list li+li{padding-top:12px;border-top:1px solid var(--salon-border)}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown .ticket-list span{font-size:16px;font-weight:600;overflow-wrap:anywhere}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown .ticket-list strong{font-size:14px;font-weight:500}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown .ticket-list small{grid-column:1/-1;font-size:14px;color:var(--salon-muted)}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history{margin:0;padding:0;border:0;border-top:1px solid var(--salon-border);border-radius:0;background:#fff;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 4px;color:var(--salon-ink);font-size:16px;font-weight:500}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history>summary>strong{color:var(--salon-muted);font-size:14px;font-weight:400}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history>summary>span{display:inline-flex;align-items:center;gap:20px;color:var(--salon-ink)}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history>summary .salon-icon{color:var(--salon-brass);width:26px;height:26px}.page .mypage-container[data-customer-ui=salon-white] .ticket-usage-history[open]>:not(summary){margin-bottom:20px}.page .mypage-container[data-customer-ui=salon-white] .mypage-dashboard:empty{display:none}.page .mypage-container[data-customer-ui=salon-white] .mypage-dashboard{padding:0;border:0;background:#fff;box-shadow:none}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-empty{padding:28px}.page .mypage-container[data-customer-ui=salon-white] :is(a,button,summary,[tabindex="-1"]):focus-visible{outline:2px solid var(--salon-primary);outline-offset:3px}@media (max-width:767px){.page .mypage-container[data-customer-ui=salon-white]{width:calc(100% - 32px)}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading{margin:0 0 32px}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading h1{font-size:32px}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-heading p{font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 0}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu a:nth-child(3n+1):before{display:none}.page .mypage-container[data-customer-ui=salon-white] .portal-customer-menu-copy{font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .section-heading :is(h2,h3){font-size:26px}.page .mypage-container[data-customer-ui=salon-white] #next-reservation .section-heading{align-items:flex-start}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-reservation-count{font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .mypage-reservation-card-ui{padding:12px 12px 20px}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row{padding:10px 12px;gap:8px;flex-wrap:wrap}.page .mypage-container[data-customer-ui=salon-white] .mypage-card-title-row :is(.status-pill,.mypage-dashboard-kicker){font-size:14px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-head{grid-template-columns:minmax(0,1fr);margin:0 4px;gap:18px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time{grid-template-columns:26px minmax(0,1fr);gap:4px 12px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time>strong{font-size:24px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-date-time>.salon-reservation-time{font-size:22px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room{grid-template-columns:26px minmax(0,1fr);gap:4px 12px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-room>strong{font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment{margin-left:38px;padding:0;border:0}.page .mypage-container[data-customer-ui=salon-white] .salon-reservation-payment>strong{font-size:16px}.page .mypage-container[data-customer-ui=salon-white] .mypage-next-visit-actions{grid-template-columns:minmax(0,1fr);margin:24px 4px 0;gap:12px}.page .mypage-container[data-customer-ui=salon-white] .mypage-next-visit-actions>.btn{width:100%;min-height:48px}.page .mypage-container[data-customer-ui=salon-white] .mypage-upcoming-visit-action-links{flex-wrap:wrap;gap:4px 20px}.page .mypage-container[data-customer-ui=salon-white] .salon-mypage-text-link{font-size:14px}.page .mypage-container[data-customer-ui=salon-white] #ticket-balance .ticket-summary-card{padding:20px 18px 0}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-overview{grid-template-columns:minmax(0,1fr);gap:18px}.page .mypage-container[data-customer-ui=salon-white] .ticket-summary{padding-left:0}.page .mypage-container[data-customer-ui=salon-white] .salon-ticket-balance-breakdown{padding:18px 0 0;border-left:0;border-top:1px solid var(--salon-border)}}.piano-loading{--piano-press-distance:1px;position:relative;display:inline-block;flex:0 0 auto;width:56px;height:28px;vertical-align:middle;pointer-events:none;animation:piano-loading-reveal .12s ease-out .15s both}.piano-loading--page{--piano-press-distance:2px;width:112px;height:56px}.piano-loading--small{width:36px;height:18px}.piano-loading--immediate{animation-delay:0ms}.piano-loading-white-keys{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;width:100%;height:100%}.piano-loading-white-key{border:1px solid #d7d7d7;border-radius:1px 1px 3px 3px;background:linear-gradient(180deg,#fff,#fff 76%,#eee);box-shadow:inset 0 -2px 0 #d9d9d9,0 3px 4px -3px rgba(32,33,32,.35);transform-origin:50% 0;animation:piano-key-press 2.1s ease-in-out infinite;animation-delay:calc(var(--piano-key-index) * .18s)}.piano-loading-black-key{position:absolute;z-index:1;top:0;left:calc(var(--piano-black-position) * 100% / 7);width:9%;height:60%;border:1px solid #3e403e;border-radius:1px 1px 2px 2px;background:linear-gradient(160deg,#686a68,#484a48 45%,#353735);box-shadow:inset 0 -2px 0 #303230,0 2px 3px rgba(32,33,32,.2);transform:translateX(-50%)}.app-loading-page:has(.piano-loading) .app-loading-page-inner{flex-direction:column;gap:20px}:is(.app-loading-page-inner,.mypage-navigation-loading-panel):has(.piano-loading) .app-loading-text{background:none;color:#484a48;animation:none;line-height:1.5}.app-loading-page:has(.piano-loading) .app-loading-text{font-size:16px;font-weight:400;letter-spacing:.04em}@keyframes piano-loading-reveal{0%{opacity:0}to{opacity:1}}@keyframes piano-key-press{0%,30%,to{transform:translateY(0) scaleY(1);box-shadow:inset 0 -2px 0 #d9d9d9,0 3px 4px -3px rgba(32,33,32,.35)}12%,20%{transform:translateY(var(--piano-press-distance)) scaleY(.97);box-shadow:inset 0 -2px 0 #a5824b,0 1px 2px -2px rgba(32,33,32,.2)}}@media (prefers-reduced-motion:reduce){.piano-loading,.piano-loading-white-key{animation:none}.piano-loading{opacity:1}}