:root{color:#191c1e;--app-font-family:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--app-font-size:12px;font-family:var(--app-font-family);--bg:#f7f9fb;--bg-strong:#eef2f7;--surface:#fff;--surface-2:#f2f4f6;--surface-3:#e6e8ea;--text:#191c1e;--muted:#64748b;--border:#dce2ea;--border-strong:#c3cad5;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#dbeafe;--teal:#0f766e;--teal-soft:#ccfbf1;--warning:#b45309;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--success:#15803d;--success-soft:#dcfce7;--sidebar:#0f172a;--sidebar-surface:#172033;--sidebar-text:#f8fafc;--sidebar-muted:#aab6c8;--shadow:0 16px 42px #0f172a14;--shadow-tight:0 8px 22px #0f172a12;--card-bg:#fff;--card-border:#c6c6cd9e;--card-border-hover:#76777d70;--card-radius:16px;--card-radius-sm:12px;--card-shadow:0 4px 10px #0f172a0d;--card-shadow-hover:0 10px 24px #0f172a14;--control-height:48px;--control-radius:12px;--label-letter-spacing:.02em;--font-display:var(--app-font-family);--motion-fast:.14s;--motion-base:.22s;--motion-slow:.32s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);background:#f7f9fb}*{box-sizing:border-box}html{min-width:320px}body{background:var(--bg);color:var(--text);font-family:var(--app-font-family);font-size:var(--app-font-size);margin:0;line-height:1.5}button,input,select,textarea{font:inherit;font-family:var(--app-font-family);font-size:var(--app-font-size)}button{color:inherit}button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:2px}a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:2px}input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:2px}select:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:2px}h1,h2,h3,p{margin:0}h1{max-width:760px;font-size:2rem;line-height:1.15}h2{font-size:1.35rem;line-height:1.25}h3{align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;line-height:1.3;display:flex}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.no-sidebar{grid-template-columns:minmax(0,1fr)}.app-sidebar{background:linear-gradient(180deg, #2563eb1f, transparent 240px), var(--sidebar);height:100vh;color:var(--sidebar-text);border-right:1px solid #ffffff14;padding:24px 18px;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:12px;margin-bottom:32px;text-decoration:none;display:flex}.brand div{gap:2px;min-width:0;display:grid}.brand strong{font-size:1.2rem}.brand-suite{color:var(--sidebar-muted);font-size:.86rem;line-height:1.25}.pp-brand-wordmark{color:inherit;display:inline-flex}.pp-brand-wordmark>.pp-brand-wordmark__visual{color:inherit;font-family:var(--app-font-family);font-size:var(--pp-brand-wordmark-size,1.12rem);letter-spacing:normal;white-space:nowrap;align-items:baseline;gap:0;font-weight:760;display:inline-flex}.pp-brand-wordmark .pp-brand-wordmark__accent{color:#f59e0b;font:inherit;letter-spacing:inherit}.primary-nav{gap:8px;display:grid}.primary-nav a{min-height:44px;color:var(--sidebar-muted);border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.primary-nav a.active,.primary-nav a:hover{color:var(--sidebar-text);background:var(--sidebar-surface);border-color:#ffffff14}.primary-nav a.active{box-shadow:inset 3px 0 0 var(--accent)}.app-workspace{background:linear-gradient(180deg, #dbe1ff73, transparent 300px), var(--bg);min-width:0;padding:28px}.app-topbar{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow-tight);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding:18px;display:flex}.eyebrow,.page-heading span,.metric span:not(.metric-icon){color:var(--muted);font-size:.78rem;font-weight:800}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.segmented-control{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;min-height:40px;padding:3px;display:inline-flex}.segmented-control button{min-width:40px;min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:800}.segmented-control button.active{color:var(--text);background:var(--accent-soft)}.icon-segment button{justify-content:center;align-items:center;display:inline-flex}.route-surface{width:100%;min-width:0}.login-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 72%, transparent) 0, transparent 360px), var(--bg);grid-template-rows:auto minmax(0,1fr);min-height:100vh;padding:24px;display:grid}.login-topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100%);min-height:64px;margin:0 auto;display:flex}.login-brand{min-width:0;color:var(--text);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.login-brand>span:last-child{gap:2px;min-width:0;display:grid}.login-brand strong{font-size:1.1rem}.login-brand small{color:var(--muted);font-size:.84rem;line-height:1.25}.login-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.login-return-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.auth-mode-tabs button.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.login-error{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border));background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:10px 12px;font-weight:800;line-height:1.4}.login-divider{color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;font-size:.78rem;font-weight:800;display:grid}.login-divider:before,.login-divider:after{content:"";background:var(--border);height:1px}.login-return-panel div{gap:4px;min-width:0;display:grid}.login-return-panel strong{line-height:1.25}.login-return-panel span{color:var(--muted);line-height:1.45}.session-dot.active{background:var(--success);box-shadow:0 0 0 5px var(--success-soft)}.login-return-panel{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.login-return-panel>svg{color:var(--accent)}.login-role-warning{background:var(--warning-soft);min-height:40px;color:var(--warning);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:.84rem;font-weight:900;display:inline-flex}.page{gap:20px;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-heading>div:first-child{gap:6px;display:grid}.section-tabs{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.section-tabs a{min-height:40px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:800;text-decoration:none;display:inline-flex}.section-tabs a.active,.section-tabs a:hover{color:var(--text);background:var(--accent-soft)}.section-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-title>div{gap:6px;display:grid}.section-title span,.panel-eyebrow{color:var(--muted);font-size:.78rem;font-weight:800}.metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.metric,.panel,.table,.empty-state,.loading-state{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-tight);border-radius:8px}.metric{border-top-color:color-mix(in srgb, var(--surface) 75%, #fff);align-content:space-between;gap:10px;min-height:118px;padding:16px;display:grid}.metric strong{overflow-wrap:anywhere;min-width:0;font-size:1.72rem;line-height:1.1}.panel,.empty-state,.loading-state{padding:18px}.panel{min-width:0}.muted-text{color:var(--muted)}.button{white-space:nowrap;cursor:pointer;min-height:40px;transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)scale(.985)}.button:focus-visible{box-shadow:var(--focus-ring);outline:none}.button:disabled{opacity:.58;cursor:not-allowed}.button.primary{color:var(--on-accent);background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--shadow-tight)}.button.secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.button.secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.button.ghost{min-height:34px;color:var(--accent);background:var(--accent-soft);padding:0 10px}.table{overflow:hidden}.row{border-bottom:1px solid var(--border);grid-template-columns:1.4fr .8fr 1.1fr .7fr .7fr;align-items:center;gap:12px;min-height:60px;padding:0 16px;display:grid}.row strong{align-items:center;gap:8px;min-width:0;display:flex}.row span,.appointment span,.summary-row span,.choice span{color:var(--muted)}.row.header{background:var(--surface-2);min-height:44px;color:var(--muted);font-size:.82rem;font-weight:800}.row:last-child{border-bottom:0}.field{min-width:0;color:var(--muted);gap:7px;font-size:.82rem;font-weight:800;display:grid}.phone-field-input-wrap{border:1px solid var(--border);background:var(--surface-2);transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.phone-field-input-wrap:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.phone-field--error .phone-field-input-wrap{border-color:var(--danger,#dc2626)}.phone-field-input-wrap .phone-field-country-select{width:max(6.75rem,min(28vw,8.5rem));min-width:0;max-width:42%;min-height:0;color:var(--text);text-overflow:ellipsis;cursor:pointer;flex:0 0 max(6.75rem,min(28vw,8.5rem));padding-inline-start:10px;padding-inline-end:26px;font-size:.82rem;font-weight:700;border:0!important;border-inline-end:1px solid var(--border)!important;background-color:var(--surface-3)!important;box-shadow:none!important;border-radius:0!important;outline:0!important}.phone-field-input-wrap .phone-field-country-select:focus{border-color:var(--border)!important;box-shadow:none!important;outline:0!important}.phone-field-input-wrap .phone-field-country-select:focus-visible{border-color:var(--border)!important;box-shadow:none!important;outline:0!important}.phone-field-input-wrap .phone-field-country-select:disabled{cursor:not-allowed}.phone-field-input-wrap input{flex:1;min-width:0;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.field-error{color:var(--danger,#dc2626);margin-top:-2px;font-size:.78rem;font-weight:600}input:not([type=checkbox]),select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:var(--surface-2);transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);border-radius:8px;padding:0 12px}input:not([type=checkbox]):focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}input:not([type=checkbox]):read-only{cursor:default;background:var(--surface-3);color:var(--muted);border-color:var(--border)}select{cursor:pointer}.date-picker,.time-picker{position:relative}.date-picker-trigger,.time-picker-trigger{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:42px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.date-picker-trigger:hover:not(:disabled),.time-picker-trigger:hover:not(:disabled){border-color:var(--border-strong)}.date-picker-trigger:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.time-picker-trigger:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.date-picker-trigger>svg,.time-picker-trigger>svg{color:var(--muted);flex:none}.date-picker-trigger span,.time-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.date-picker-placeholder,.time-picker-placeholder{color:color-mix(in srgb, var(--muted) 80%, transparent);font-weight:500}.date-picker-trigger:disabled,.time-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.date-picker-popover,.time-picker-popover{z-index:100;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;position:absolute;top:calc(100% + 6px);left:0}.date-picker-popover{padding:12px}.time-picker-popover{max-height:240px;margin:0;padding:6px;list-style:none;right:0;overflow-y:auto}.time-picker-popover.time-picker-popover--up{top:auto;bottom:calc(100% + 6px)}.time-picker-option{width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-weight:600}.time-picker-option:hover{background:var(--surface-2)}.time-picker-option.is-selected{background:var(--accent);color:var(--on-accent)}.calendar{gap:8px;width:264px;display:grid}.calendar-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-title{color:var(--text);text-transform:capitalize;font-size:.92rem;font-weight:800}.calendar-nav-btn{border:1px solid var(--border);background:var(--surface-2);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.calendar-nav-btn:hover{background:var(--surface-3)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays span{text-align:center;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.calendar-day{min-height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;font-weight:600;position:relative}.calendar-day:hover:not(:disabled){background:var(--surface-2)}.calendar-day.is-outside{color:var(--muted);opacity:.6}.calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day.is-selected{background:var(--accent);color:var(--on-accent);font-weight:800}.calendar-day.is-marked:after{content:"";background:var(--accent);border-radius:999px;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.is-selected.is-marked:after{background:var(--on-accent)}.calendar-day.is-closed:not(.is-selected){color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.calendar-day.is-closed:not(.is-selected):hover:not(:disabled){background:color-mix(in srgb, var(--danger) 20%, transparent)}.calendar-day.is-closed.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--danger)}.calendar-day.is-closed.is-marked:after{background:var(--danger)}.calendar-day.is-selected.is-closed{background:var(--danger);color:var(--on-accent)}.calendar-day.is-selected.is-closed.is-marked:after{background:var(--on-accent)}.calendar-day:disabled{color:var(--muted);opacity:.35;cursor:not-allowed}.calendar-day.is-closed:disabled{color:color-mix(in srgb, var(--danger) 70%, var(--muted));opacity:.5}.status-badge{background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.status-badge--confirmed{background:var(--success-soft);color:var(--success)}.status-badge--cancelled{background:var(--danger-soft);color:var(--danger)}.status-badge--pending,.status-badge--muted{background:var(--warning-soft);color:var(--warning)}.holiday-list-panel.is-open .holiday-list-chevron{transform:rotate(180deg)}.holiday-row.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@media (max-width:720px){.calendar{width:auto}}.appointment{border-bottom:1px solid var(--border);grid-template-columns:130px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:12px 0;display:grid}.appointment strong{align-items:center;gap:6px;display:inline-flex}.appointment:last-child{border-bottom:0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status{border-radius:999px;justify-content:center;justify-self:start;align-items:center;min-width:92px;padding:6px 10px;font-size:.76rem;font-weight:900;display:inline-flex}.confirmed,.active,.sent{background:var(--success-soft);color:var(--success)}.requested{background:var(--warning-soft);color:var(--warning)}.cancelled,.inactive,.disabled,.failed{background:var(--danger-soft);color:var(--danger)}.completed{background:var(--accent-soft);color:var(--accent)}.choice{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:62px;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;gap:5px;padding:12px;display:grid}.choice:hover{border-color:var(--accent)}.choice.selected,.slot.selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.choice.selected span{color:color-mix(in srgb, var(--on-accent) 78%, transparent)}.slot{border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;font-weight:800}.slot.busy,.slot:disabled{color:var(--muted);background:var(--surface-2);opacity:.62;cursor:not-allowed;border-style:dashed}.summary-row{border-bottom:1px solid var(--border);gap:4px;padding-bottom:12px;display:grid}.summary-row:last-child{border-bottom:0;padding-bottom:0}.summary-row strong{overflow-wrap:anywhere}.client-section{gap:16px;display:grid}.shop-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid}.confirmation-card{align-items:flex-start}.confirmation-card div{gap:2px;display:grid}.confirmation-card span{font-weight:700;line-height:1.45}.login-callout{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-callout h3{margin-bottom:8px}.history-list{gap:10px;display:grid}.timeline-item{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(190px,.8fr) minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.timeline-item>div{gap:4px;min-width:0;display:grid}.timeline-item>span:not(.status),.timeline-item>div span{color:var(--muted);overflow-wrap:anywhere}.client-page--account{width:100%}.profile-settings-page{gap:24px;width:min(800px,100%);margin:0 auto;padding:0 0 24px;display:grid}.profile-settings-form{gap:24px;min-width:0;display:grid}.profile-settings-heading{gap:8px;min-width:0;display:grid}.profile-settings-heading h2{color:var(--text);font-size:2rem;line-height:1.2}.profile-settings-heading p{color:var(--muted);line-height:1.5}.profile-settings-section{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-tight);border-radius:8px;gap:24px;padding:24px;display:grid}.profile-settings-section h3{border-bottom:1px solid var(--surface-3);color:var(--text);margin:0;padding-bottom:12px;font-size:1.2rem;line-height:1.35;display:block}.profile-personal-row{align-items:center;gap:24px;display:flex}.profile-avatar-wrap{flex:none;position:relative}.profile-avatar-large{border:2px solid var(--surface);background:var(--accent);width:96px;height:96px;color:var(--on-accent);box-shadow:var(--shadow-tight);border-radius:999px;justify-content:center;align-items:center;font-size:1.35rem;font-weight:900;display:inline-flex}.profile-avatar-wrap button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--accent);cursor:pointer;box-shadow:var(--shadow-tight);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;right:0}.profile-avatar-wrap button:hover{background:var(--surface-2)}.profile-name-field{flex:auto;min-width:0}.profile-field-grid,.profile-preference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-password-stack{gap:16px;width:min(420px,100%);display:grid}.profile-preference-stack,.profile-notification-stack{align-content:start;gap:24px;min-width:0;display:grid}.profile-notification-stack{gap:14px}.profile-toggle-row small{color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.4;display:block}.profile-settings-label{color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:900;display:block}.profile-choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-choice-row button{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:40px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.profile-choice-row button:hover{background:var(--surface-2)}.profile-choice-row button.selected{border-width:2px;border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.profile-toggle-row{min-height:28px;color:var(--text);cursor:pointer;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:16px;display:grid}.profile-toggle-row>span:first-child{min-width:0;line-height:1.4}.profile-toggle-row input{opacity:0;pointer-events:none;position:absolute}.profile-toggle-track{background:var(--surface-3);border-radius:999px;grid-column:2;width:40px;height:22px;transition:background .16s;position:relative}.profile-toggle-track:after{content:"";border:2px solid var(--border-strong);background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .16s,border-color .16s;position:absolute;top:2px;left:2px}.profile-toggle-row input:checked+.profile-toggle-track{background:var(--accent)}.profile-toggle-row input:checked+.profile-toggle-track:after{border-color:#fff;transform:translate(18px)}.profile-toggle-row:focus-within .profile-toggle-track{outline:3px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:2px}.profile-toggle-row--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.profile-settings-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.profile-login-callout{margin-top:24px}.detail-command-bar{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.appointment-detail-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.appointment-detail-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 45%, var(--surface)), var(--surface) 62%), var(--surface);grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:16px;min-height:132px;display:flex}.appointment-detail-hero div{gap:8px;min-width:0;display:grid}.appointment-detail-hero h3{margin-bottom:0;font-size:1.35rem}.appointment-detail-hero p{color:var(--muted);line-height:1.5}.detail-card,.appointment-detail-actions{gap:12px;display:grid}.appointment-detail-actions{grid-column:1/-1}.code-pill{min-width:46px;min-height:30px;color:var(--accent);background:var(--accent-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.76rem;font-weight:900;display:inline-flex}.success,.error-banner{border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-weight:800;display:flex}.success{background:var(--success-soft);color:var(--success)}.error-banner{background:var(--danger-soft);color:var(--danger)}.empty-state,.loading-state{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:220px;display:grid}.empty-state p{max-width:520px;color:var(--muted);line-height:1.55}.empty-state-action{justify-content:center;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-grid{grid-template-columns:1fr}}@media (max-width:820px){.login-shell{padding:18px}.login-topbar{flex-direction:column;align-items:flex-start}.login-controls{justify-content:flex-start;width:100%}.login-return-panel{grid-template-columns:auto minmax(0,1fr)}.login-return-panel .button{grid-column:1/-1;width:100%}.app-shell{grid-template-columns:1fr}.app-sidebar{height:auto;padding:18px;position:static}.brand{margin-bottom:16px}.primary-nav{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.primary-nav a{justify-content:center}.primary-nav a span{display:none}.app-workspace{padding:18px}.app-topbar,.page-heading{flex-direction:column}.topbar-actions{justify-content:flex-start;width:100%}h1{font-size:1.55rem}.row,.appointment,.timeline-item{grid-template-columns:1fr;align-items:start;padding:14px 16px}.row.header{display:none}.actions{justify-content:flex-start}.section-tabs a{flex:150px}.login-callout{flex-direction:column;align-items:stretch}}@media (max-width:560px){.login-controls .segmented-control{max-width:100%}.metrics{grid-template-columns:1fr}.topbar-actions .button{width:100%}}:root{--bg:#f7f9fb;--bg-strong:#eef2f7;--surface:#fff;--surface-2:#f2f4f6;--surface-3:#e6e8ea;--text:#191c1e;--primary:#0f172a;--muted:#626f7f;--border:#d9dee7;--border-strong:#c6c6cd;--accent:#0051d5;--accent-strong:#003b9b;--accent-soft:#e8f0fe;--teal:#006c51;--teal-soft:#d8f4ec;--warning:#b75d00;--warning-soft:#fff3e0;--danger:#ba1a1a;--danger-soft:#ffebee;--success:#2e7d32;--success-soft:#e8f5e9;--sidebar:#fff;--sidebar-surface:#f1f4f7;--sidebar-text:#0f172a;--sidebar-muted:#626f7f;--shadow:0 16px 36px #0f172a14;--shadow-tight:0 4px 14px #0f172a0f;--text-primary:var(--text);--text-secondary:var(--muted);--surface-lowest:var(--surface);--surface-low:var(--surface-2);--surface-container:var(--surface-3);--border-subtle:var(--border);--secondary:var(--accent);--muted-color:var(--muted);--border-color:var(--border);--surface-color:var(--surface);--input-bg:var(--surface);--error-color:var(--danger);--on-accent:#fff}input[type=date],input[type=time],input[type=month],input[type=week]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){input[type=date],input[type=time],input[type=month],input[type=week]{--lightningcss-light: ;--lightningcss-dark:initial}}h1,h2,h3{color:var(--primary);letter-spacing:0}.app-shell{background:var(--bg);grid-template-columns:260px minmax(0,1fr)}.app-sidebar{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:24px 0;display:flex;box-shadow:4px 0 24px #0f172a08}.brand{margin:0;padding:0 24px}.brand strong{color:var(--sidebar-text)}.brand-suite{color:var(--sidebar-muted)}.sidebar-cta{min-height:42px;color:var(--on-accent);background:var(--accent);box-shadow:var(--shadow-tight);border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:0 24px;font-weight:800;text-decoration:none;display:inline-flex}.primary-nav{gap:2px}.primary-nav a{min-height:44px;color:var(--sidebar-muted);border:0;border-left:3px solid #0000;border-radius:0;margin:0;padding:0 24px}.primary-nav a:hover{color:var(--sidebar-text);background:var(--sidebar-surface);border-color:#0000}.utility-nav{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.app-sidebar-toggle{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow-tight);border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;margin:0 18px -8px 0;display:inline-flex}.app-sidebar-toggle:hover{color:var(--accent);background:var(--accent-soft)}.app-shell--sidebar-collapsed .app-sidebar{width:84px;padding-inline-start:0;padding-inline-end:0}.app-shell--sidebar-collapsed .app-sidebar-toggle{align-self:center;margin:0 0 -8px}.app-shell--sidebar-collapsed .brand{justify-content:center;padding-inline-start:0;padding-inline-end:0}.app-shell--sidebar-collapsed .brand div,.app-shell--sidebar-collapsed .sidebar-cta span{opacity:0;pointer-events:none;width:0;overflow:hidden}.app-shell--sidebar-collapsed .sidebar-cta{width:44px;min-width:44px;margin-inline-start:auto;margin-inline-end:auto;padding:0}.app-shell--sidebar-collapsed .primary-nav a{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding-block-start:8px;padding-block-end:8px;padding-inline-start:4px;padding-inline-end:4px}.app-shell--sidebar-collapsed .primary-nav a span{white-space:nowrap;text-overflow:ellipsis;text-align:center;opacity:.75;letter-spacing:.01em;width:auto;max-width:72px;font-size:10px;font-weight:500;line-height:1;overflow:hidden}.app-shell--portal.app-shell--sidebar-collapsed .brand{padding-bottom:18px}.app-workspace{background:var(--bg);min-height:100vh;padding:0}.app-topbar{z-index:40;border:0;border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);min-height:64px;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:0;align-items:center;margin:0;padding:0 24px;position:sticky;top:0}.topbar-leading{align-items:center;gap:22px;min-width:0;display:flex}.topbar-leading h1{font-size:1.1rem;display:none}.topbar-search{border:1px solid var(--border);background:var(--surface-2);width:min(360px,44vw);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.topbar-search input{background:0 0;border:0;min-height:0;padding:0}.icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--accent);background:var(--surface-2)}.user-menu{flex:none;align-items:center;display:inline-flex;position:relative}.user-menu__trigger[aria-expanded=true]{color:var(--accent);background:var(--surface-2)}.user-menu__panel{z-index:400;border:1px solid var(--border);background:var(--surface);min-width:168px;box-shadow:var(--shadow-tight);animation:modal-pop var(--motion-fast) var(--ease-out) both;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 10px);right:0}.user-menu__panel:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:var(--surface);width:10px;height:10px;position:absolute;top:-6px;right:12px;transform:rotate(45deg)}.user-menu__item{z-index:1;width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 10px;font-size:.88rem;font-weight:800;display:flex;position:relative}.user-menu__item:hover{background:var(--surface-2);color:var(--accent)}.user-menu__item:focus-visible{background:var(--surface-2);color:var(--accent)}.user-menu__item--danger{color:var(--danger)}.user-menu__item--danger:hover{background:var(--danger-soft);color:var(--danger)}.user-menu__item--danger:focus-visible{background:var(--danger-soft);color:var(--danger)}.route-surface{width:min(1320px,100%);margin:0 auto;padding:24px}.login-shell{background:var(--surface);min-height:100vh;padding:0;display:flex}.login-panel{z-index:2;background:var(--surface);flex-direction:column;width:50%;min-width:520px;display:flex;position:relative;box-shadow:4px 0 24px #0f172a08}.login-topbar{z-index:20;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:72px;padding:24px;display:flex;position:absolute;top:0;left:0}.login-brand{color:var(--primary);font-size:1.2rem;font-weight:800}.login-brand svg{color:var(--primary)}.login-form-wrap{flex-direction:column;justify-content:center;gap:22px;width:min(360px,100% - 64px);min-height:100vh;margin:0 auto;padding:112px 0 48px;display:flex}.auth-form-header{text-align:left;gap:8px;display:grid}.auth-form-header h1{font-size:1.75rem}.auth-form-header p{color:var(--muted);line-height:1.55}.google-button{width:100%;min-height:42px}.login-refined-form,.register-refined-form{gap:18px;display:grid}.login-refined-form .button,.register-refined-form .button{width:100%;min-height:44px}.password-field>span:last-child{display:block;position:relative}.password-field svg{pointer-events:none}.password-toggle{cursor:pointer;width:42px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--text)}.password-field input{padding-right:42px}.auth-inline-options{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.auth-inline-options label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.auth-inline-options input{width:16px;height:16px;accent-color:var(--accent)}.auth-inline-options a,.auth-footer-link a{color:var(--accent);font-weight:800;text-decoration:none}.auth-footer-link{color:var(--muted);text-align:center;line-height:1.5}.forgot-password-icon-wrap{background:color-mix(in srgb, var(--accent) 12%, transparent);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.forgot-password-success{text-align:left;gap:16px;display:grid}.forgot-password-success-icon{color:#22c55e;background:#22c55e24;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:inline-flex}.forgot-password-success h1{font-size:1.75rem}.forgot-password-success p{color:var(--muted);line-height:1.55}.forgot-password-back-link{color:var(--accent);align-items:center;gap:6px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.login-hero{background:#0f172a;width:50%;min-height:100vh;position:relative;overflow:hidden}.login-hero img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.login-hero-overlay{background:linear-gradient(#0003,#0000006b 48%,#000000e6);position:absolute;top:0;bottom:0;left:0;right:0}.login-hero-content{z-index:1;color:#fff;flex-direction:column;justify-content:flex-end;gap:24px;min-height:100%;padding:80px;display:flex;position:relative}.login-hero-content h2{color:#fff;max-width:560px;font-size:3.35rem;line-height:1.02}.login-hero-content p{color:#ffffffd1;max-width:520px;font-size:1.05rem;line-height:1.6}.hero-badge{color:#fff;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;min-height:34px;padding:0 12px;font-size:.75rem;font-weight:900;display:inline-flex}.hero-badge span{background:#22c55e;border-radius:999px;width:8px;height:8px}.hero-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.hero-step{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:16px;min-height:132px;padding:16px;display:flex}.hero-step:nth-child(2){transform:translateY(16px)}.hero-step:nth-child(3){transform:translateY(32px)}.hero-step-icon{color:#fff;background:#0051d54d;border:1px solid #8ab4ff73;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.hero-step div{gap:4px;display:grid}.hero-step span:not(.hero-step-icon){color:#ffffff9e;font-size:.75rem;font-weight:800}.hero-step strong{color:#fff}.register-shell{background:var(--bg);justify-content:center;align-items:center;padding:96px 24px 32px;position:relative}.register-shell .login-topbar{position:fixed}.register-card{border:1px solid var(--border);background:var(--surface);width:min(1200px,100%);min-height:720px;box-shadow:var(--shadow);border-radius:16px;display:flex;overflow:hidden}.register-visual{color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;width:41.666%;padding:48px;display:flex;position:relative}.register-visual-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a7a;position:absolute;top:0;bottom:0;left:0;right:0}.register-visual>div{z-index:1;position:relative}.register-visual>:-webkit-any(strong,.pp-brand-wordmark){z-index:1;position:relative}.register-visual>:-moz-any(strong,.pp-brand-wordmark){z-index:1;position:relative}.register-visual>:is(strong,.pp-brand-wordmark){z-index:1;position:relative}.register-visual>:-webkit-any(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:3rem}.register-visual>:-moz-any(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:3rem}.register-visual>:is(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:3rem}.register-visual h2{color:#fff;font-size:1.35rem}.register-visual p{color:#ffffffd1;margin-top:8px;line-height:1.6}.register-panel{flex-direction:column;justify-content:center;width:58.334%;padding:64px;display:flex}.register-mobile-brand{display:none}.role-card.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));box-shadow:0 0 0 1px var(--accent)}.role-card.active svg{color:var(--accent)}.register-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.register-input-grid .field:first-child{grid-column:1/-1}.page-heading{align-items:center}.page-heading h2{font-size:1.8rem}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.table,.empty-state,.loading-state,.shop-card,.timeline-item{border-color:var(--border);box-shadow:var(--shadow-tight);border-radius:12px}.metric{min-height:136px;position:relative;overflow:hidden}.metric:before{content:"";background:var(--accent);height:3px;position:absolute;top:0;bottom:auto;left:0;right:0}.metric:nth-child(2):before{background:var(--teal)}.metric:nth-child(3):before{background:#8b5cf6}.metric:nth-child(4):before{background:var(--primary)}.metric em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:800}.section-tabs{width:-moz-fit-content;width:fit-content;box-shadow:var(--shadow-tight)}.client-stitch-dashboard{flex-direction:column;gap:24px;width:min(1280px,100%);margin:0 auto;padding-bottom:32px;display:flex}.client-stitch-header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.client-stitch-header>div{gap:6px;min-width:0;display:grid}.client-stitch-header h2{color:var(--text);font-size:2rem;font-weight:700;line-height:1.2}.client-stitch-header p{color:var(--muted);font-size:.94rem;line-height:1.5}.client-stitch-primary-action{background:var(--accent);width:-moz-fit-content;width:fit-content;min-height:44px;color:var(--on-accent);box-shadow:var(--shadow-tight);border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.client-stitch-primary-action:hover{background:#316bf3}.client-stitch-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 4px 10px #0f172a0d}.client-stitch-stat{flex-direction:column;justify-content:space-between;min-height:136px;padding:16px;display:flex}.client-stitch-stat-line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 26%, transparent), transparent);height:1px;position:absolute;top:0;bottom:auto;left:0;right:0}.client-stitch-stat--danger .client-stitch-stat-line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--danger) 28%, transparent), transparent)}.client-stitch-stat-top,.client-stitch-stat-value-row,.client-stitch-card-kicker,.client-stitch-section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.client-stitch-stat-top>span:first-child{color:var(--muted);font-size:.76rem;font-weight:900}.client-stitch-stat-icon{color:var(--border-strong)}.client-stitch-stat-icon--accent{color:var(--accent)}.client-stitch-stat-value-row{justify-content:flex-start;align-items:flex-end}.client-stitch-stat-value{min-width:0;color:var(--primary);font-size:3rem;font-weight:800;line-height:1.05}.client-stitch-stat-value--compact{text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.35;overflow:hidden}.client-stitch-stat-value-row em{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;margin-bottom:4px;padding:6px 8px;font-size:.72rem;font-style:normal;font-weight:900;line-height:1}.client-stitch-content-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.client-stitch-upcoming,.client-stitch-favorites{gap:16px;min-width:0;display:grid}.client-stitch-upcoming>h3,.client-stitch-section-title h3{color:var(--text);margin:0;font-size:1.25rem;font-weight:700;display:block}.client-stitch-section-title{align-items:center}.client-stitch-section-title a{color:var(--accent);font-size:.78rem;font-weight:900;text-decoration:none}.client-stitch-section-title a:hover{text-decoration:underline}.client-stitch-appointment-card{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);display:grid}.client-stitch-appointment-card:before{content:"";z-index:2;background:linear-gradient(90deg,#0000,#ffffffc7,#0000);height:1px;position:absolute;top:0;bottom:auto;left:0;right:0}.client-stitch-appointment-media{background:var(--surface-3);min-height:292px;position:relative}.client-stitch-appointment-media img,.client-stitch-favorite-thumb img{object-fit:cover;width:100%;height:100%}.client-stitch-status-pill{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 90%, transparent);min-height:30px;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.72rem;font-weight:900;display:inline-flex;position:absolute;top:16px;left:16px}.client-stitch-status-pill span{background:var(--accent);border-radius:999px;width:8px;height:8px}.client-stitch-appointment-body{flex-direction:column;justify-content:space-between;gap:24px;min-width:0;padding:24px;display:flex}.client-stitch-card-kicker{color:var(--accent);text-transform:uppercase;align-items:center;margin-bottom:8px;font-size:.78rem;font-weight:900}.client-stitch-card-kicker button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.client-stitch-card-kicker button:hover{color:var(--primary);background:var(--surface-2)}.client-stitch-appointment-body h4{color:var(--primary);margin:0;font-size:2rem;font-weight:800;line-height:1.2}.client-stitch-appointment-body p{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:.9rem;display:flex}.client-stitch-appointment-details{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, var(--bg));border-radius:8px;align-items:center;gap:16px;padding:16px;display:flex}.client-stitch-detail-item{flex:1 1 0;align-items:center;gap:12px;min-width:0;display:flex}.client-stitch-detail-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.client-stitch-detail-item div{gap:4px;min-width:0;display:grid}.client-stitch-detail-item span:not(.client-stitch-detail-icon){color:var(--muted);font-size:.72rem;font-weight:900}.client-stitch-detail-item strong{min-width:0;color:var(--primary);font-size:.9rem;line-height:1.35}.client-stitch-detail-divider{background:var(--border);width:1px;height:40px}.client-stitch-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.client-stitch-card-actions a{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--primary);box-shadow:var(--shadow-tight);border-radius:8px;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.client-stitch-card-actions a:hover{background:var(--surface-2)}.client-stitch-card-actions a.danger{color:var(--danger)}.client-stitch-card-actions a.danger:hover{border-color:var(--danger);background:var(--danger-soft)}.client-stitch-favorite-list{gap:12px;display:grid}.client-stitch-favorite-card{grid-template-columns:56px minmax(0,1fr) 32px;align-items:center;gap:16px;min-height:82px;padding:12px;display:grid}.client-stitch-favorite-card:hover{border-color:var(--accent)}.client-stitch-favorite-thumb{background:var(--surface-3);width:56px;height:56px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.client-stitch-favorite-card:hover .client-stitch-favorite-thumb img{transform:scale(1.05)}.client-stitch-favorite-thumb img{transition:transform .18s}.client-stitch-favorite-card div:nth-child(2){gap:4px;min-width:0;display:grid}.client-stitch-favorite-card h4{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:900;line-height:1.25;overflow:hidden}.client-stitch-favorite-card p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;line-height:1.3;overflow:hidden}.client-stitch-favorite-card span{color:var(--text);align-items:center;gap:4px;font-size:.72rem;font-weight:900;display:inline-flex}.client-stitch-favorite-card span svg{color:var(--accent)}.client-stitch-favorite-card button,.client-stitch-favorite-card>a{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.client-stitch-favorite-card button:hover,.client-stitch-favorite-card>a:hover{border-color:var(--accent);color:var(--accent)}.client-stitch-add-favorite{border:1px dashed var(--border-strong);min-height:96px;color:var(--muted);background:0 0;border-radius:12px;align-content:center;place-items:center;gap:6px;font-size:.72rem;font-weight:900;text-decoration:none;display:grid}.client-stitch-add-favorite:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}@media (max-width:1120px){.client-stitch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-stitch-content-grid{grid-template-columns:1fr}.client-stitch-appointment-card{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}}@media (max-width:760px){.client-stitch-header{flex-direction:column;align-items:stretch}.client-stitch-primary-action{width:100%}.client-stitch-appointment-card{grid-template-columns:1fr}.client-stitch-appointment-media{min-height:192px}.client-stitch-appointment-body{padding:18px}.client-stitch-appointment-body h4{font-size:1.5rem}.client-stitch-appointment-details{flex-direction:column;align-items:stretch}.client-stitch-detail-divider{width:100%;height:1px}}@media (max-width:520px){.client-stitch-dashboard{gap:18px}.client-stitch-header h2{font-size:1.5rem}.client-stitch-stats{gap:12px}.client-stitch-stat{min-height:122px;padding:14px}.client-stitch-stat-value{font-size:2.25rem}.client-stitch-stat-value--compact{white-space:normal;font-size:1rem}.client-stitch-card-actions{grid-template-columns:1fr}.client-stitch-favorite-card{grid-template-columns:52px minmax(0,1fr) 32px;gap:12px}.client-stitch-favorite-thumb{width:52px;height:52px}}.choice{background:var(--surface);min-height:68px}.choice.selected,.slot.selected{background:var(--accent);border-color:var(--accent)}.timeline-item{grid-template-columns:minmax(220px,.95fr) minmax(0,1fr) auto auto;min-height:112px;padding:18px}.timeline-item:hover{border-color:var(--accent)}.appointment-detail-hero{background:linear-gradient(135deg, #0f172ae6, #0051d5b8), var(--primary);min-height:180px}.appointment-detail-hero h3,.appointment-detail-hero .panel-eyebrow{color:#fff}.appointment-detail-hero p{color:#ffffffc7}.mini-calendar-grid button.active{color:var(--on-accent);background:var(--accent);font-weight:900}.staff-calendar-header.current,.staff-day-cell.current{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.staff-calendar-header.current{color:var(--accent);position:relative}.staff-calendar-header.current:before{content:"";top:0;background:var(--accent);height:3px;position:absolute;left:0;right:0}.shift-block.available{background:var(--success-soft);color:var(--success);border:1px solid #a5d6a7}.shift-block.busy{background:var(--danger-soft);color:var(--danger);border:1px solid #ef9a9a}.shift-block.leave{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-soft);color:var(--accent-strong)}.app-workspace--portal{background:var(--bg)}.portal-stitch-topbar{z-index:120;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:0 24px;display:flex;position:sticky;top:0}.portal-stitch-topbar-leading{align-items:center;gap:22px;min-width:0;display:flex}.portal-stitch-topbar-leading h1{color:var(--primary);margin:0;font-size:1.25rem;line-height:1.2;display:none}.portal-stitch-search{border:1px solid var(--border);background:var(--surface-2);width:300px;min-height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex}.portal-stitch-search input{background:0 0;border:0;min-height:0;padding:0}.portal-stitch-topbar-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.portal-stitch-language{align-items:center;gap:12px;display:inline-flex}.portal-stitch-language button,.portal-stitch-icon-button,.portal-stitch-login-link{color:var(--muted);cursor:pointer;background:0 0;border:0}.portal-stitch-language button{padding:0;font-size:.78rem;font-weight:800}.portal-stitch-language button.active{color:var(--primary)}.portal-stitch-icon-button{justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.portal-stitch-login-link{min-height:32px;color:var(--accent);align-items:center;gap:6px;font-size:.78rem;font-weight:900;text-decoration:none;display:inline-flex}.portal-stitch-language button:hover,.portal-stitch-icon-button:hover,.portal-stitch-login-link:hover{color:var(--accent)}.portal-stitch-branch-button.is-single{cursor:default}.portal-stitch-branch-button.is-single:hover{border-color:var(--hairline,#0000001f);color:inherit}.portal-stitch-branch-item.is-active{color:var(--primary)}.route-surface--portal{width:min(1280px,100%);padding:24px}.route-surface--portal:has(.portal-operational-page){width:100%;max-width:none}.staff-filter-chip.is-active{background:var(--accent);color:var(--on-accent)}.staff-row.selected{background:var(--accent-soft)}.staff-row.is-inactive td{color:var(--muted)}.staff-row.is-inactive .staff-avatar{opacity:.6}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-stitch-metric strong.compact{font-size:1.35rem;line-height:1.25}.analytics-card-heading.compact{margin-bottom:16px}.analytics-segmented button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-tight)}.analytics-heatmap-cell.intensity-1,.analytics-heatmap-legend i.intensity-1{background:#a7f3d0}.analytics-heatmap-cell.intensity-2,.analytics-heatmap-legend i.intensity-2{background:#93c5fd}.analytics-heatmap-cell.intensity-3,.analytics-heatmap-legend i.intensity-3{background:#fb923c}.analytics-heatmap-cell.intensity-4,.analytics-heatmap-legend i.intensity-4{background:#dc2626}.business-table tbody tr.active{background:color-mix(in srgb, var(--accent-soft) 52%, transparent)}.portal-status--inchair{background:var(--accent-soft);color:var(--accent-strong)}.portal-status--inchair i{background:var(--accent)}.portal-status--confirmed{background:var(--accent-soft);color:var(--accent-strong)}.portal-status--confirmed i{background:var(--accent)}.portal-status--cancelled,.portal-status--failed,.portal-status--no_show{background:var(--danger-soft);color:var(--danger)}.portal-status--cancelled i,.portal-status--failed i,.portal-status--no_show i{background:var(--danger)}.mini-calendar-grid button.has-event:after{content:"";background:var(--accent);border-radius:999px;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.mini-calendar-grid button.active.has-event:after{background:var(--on-accent)}.app-shell--portal-calendar .brand strong{font-size:1.25rem;line-height:1.25}.app-shell--portal-calendar .primary-nav:not(.utility-nav){order:2;padding-top:0}.app-shell--portal-calendar .sidebar-cta{order:1;margin:0 24px 8px}.app-shell--portal-calendar .utility-nav{order:3}.app-shell--portal-calendar .portal-stitch-search{border-radius:8px;width:min(280px,34vw)}.route-surface--portal-calendar{width:100%;max-width:none;padding:24px}.staff-calendar-view-toggle button.active{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-tight)}.staff-calendar-day-header.current{background:color-mix(in srgb, var(--accent-soft) 38%, var(--surface))}.staff-calendar-day-header.current:before{content:"";background:var(--accent);height:4px;position:absolute;top:0;bottom:auto;left:0;right:0}.staff-calendar-day-header.current span,.staff-calendar-day-header.current strong{color:var(--accent)}.staff-calendar-day-header.weekend{background:var(--surface-2)}.staff-calendar-day-header.closed{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}.staff-calendar-day-header.closed:before{content:"";background:var(--danger);height:4px;position:absolute;top:0;bottom:auto;left:0;right:0}.staff-calendar-day-header.closed span,.staff-calendar-day-header.closed strong{color:var(--danger)}.staff-calendar-day-cell.is-closed{background:color-mix(in srgb, var(--danger) 7%, transparent)}.staff-calendar-day-cell.is-current{background:color-mix(in srgb, var(--accent-soft) 24%, var(--surface))}.staff-calendar-day-cell.is-weekend{background:var(--surface-2)}.staff-shift-block.selected{box-shadow:0 0 0 1px var(--accent), 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.staff-calendar-legend-swatch--available{background:#a5d6a7;border:1px solid #2e7d32}.staff-calendar-legend-swatch--busy{background:#ef9a9a;border:1px solid #c62828}.staff-calendar-legend-swatch--off{border:1px solid var(--border);background:var(--surface-3)}.staff-calendar-legend-swatch--overtime{background:#ffcc80;border:1px solid #e65100}.staff-calendar-legend-swatch--leave{background:#fef3c7;border:1px solid #f59e0b}.staff-calendar-legend-swatch--unavailable{background:#ffebee;border:1px solid #c62828}.staff-calendar-legend-swatch--sick{background:#ffedd5;border:1px solid #ea580c}@media (max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-grid{grid-template-columns:1fr}.register-card{min-height:auto}.register-visual{display:none}.register-panel{width:100%}.register-mobile-brand{color:var(--primary);align-items:center;gap:8px;margin-bottom:24px;font-weight:900;display:inline-flex}}@media (max-width:900px){.app-shell--portal .brand{border-bottom:0}.portal-stitch-topbar{width:100vw;max-width:100vw;padding:0 16px}.portal-stitch-topbar-leading h1{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-stitch-search{display:none}.portal-stitch-topbar-actions{flex:none;gap:12px}.route-surface--portal,.route-surface--portal-calendar{padding:16px}.app-shell{grid-template-columns:1fr}.app-sidebar{z-index:55;gap:10px;height:auto;padding:12px;position:sticky;top:0}.app-sidebar .brand{padding:0}.sidebar-cta,.utility-nav{display:none}.primary-nav{padding-bottom:2px;display:flex;overflow-x:auto}.primary-nav a{border-left:0;border-radius:8px;justify-content:center;min-width:76px;padding:0 12px}.primary-nav a span{display:none}.app-topbar{padding:12px;position:static}.topbar-leading h1{display:block}.topbar-search{display:none}.route-surface{padding:16px}.login-shell{display:block}.login-panel{width:100%;min-width:0}.login-hero{display:none}.login-topbar{padding:18px;position:static}.login-form-wrap{min-height:auto;padding:40px 0}.register-shell{padding:0 16px 24px}.register-shell .login-topbar{padding-inline-start:0;padding-inline-end:0;position:static}.register-panel{padding:28px}.hero-step:nth-child(2),.hero-step:nth-child(3){transform:none}}@media (max-width:640px){.metrics,.register-input-grid{grid-template-columns:1fr}.register-card{border-radius:12px}.register-input-grid .field:first-child{grid-column:auto}.auth-inline-options,.page-heading{flex-direction:column;align-items:stretch}.timeline-item{grid-template-columns:1fr}.section-tabs{width:100%}.login-topbar{flex-direction:column;align-items:center;gap:14px}.login-controls{justify-content:center}.login-form-wrap{gap:18px;max-width:300px;width:min(300px,100vw - 96px)!important;margin:0 auto!important}.login-shell,.login-panel{overflow-x:hidden;width:100vw!important;min-width:0!important}.auth-form-header h1{font-size:1.45rem}.auth-form-header p,.auth-footer-link{overflow-wrap:anywhere;max-width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-bottom-nav{display:none}html,body,#root{max-width:100%;overflow-x:hidden}.route-surface--edge{width:100%;max-width:none;margin:0;padding:0}.client-page--directory{min-height:calc(100vh - 64px);display:block}.barber-selection-screen{background:var(--bg);grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 64px);display:grid}.barber-results-pane{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.barber-search-header{z-index:30;border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-tight);gap:16px;padding:24px;display:grid;position:sticky;top:64px}.barber-search-title-row,.barber-results-toolbar,.barber-card-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.barber-search-title-row h2{font-size:1.25rem;line-height:1.4}.barber-location-button,.barber-map-search-button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:.78rem;font-weight:900;display:inline-flex}.barber-location-button{padding:0 12px}.barber-location-button:hover,.barber-map-search-button:hover{border-color:var(--accent);background:var(--surface-2)}.barber-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;display:grid}.barber-filter-control{border:1px solid var(--border);background:var(--bg);min-width:0;min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.barber-filter-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.barber-filter-control svg{flex:none}.barber-filter-control select{min-width:0;height:38px;min-height:0;color:var(--text);background:0 0;border:0;padding:0}.barber-filter-error,.barber-filter-note{font-size:.84rem;font-weight:800;line-height:1.4}.barber-filter-error{color:var(--danger)}.barber-filter-note{color:var(--teal)}.barber-results-section{background:var(--bg);flex:1;align-content:start;gap:16px;padding:24px;display:grid}.barber-results-toolbar p{color:var(--muted);line-height:1.5}.barber-results-toolbar strong{color:var(--primary)}.barber-view-toggle{gap:8px;display:inline-flex}.barber-view-toggle button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.barber-view-toggle button.active,.barber-view-toggle button:hover{color:var(--primary);background:var(--surface-2)}.barber-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.barber-card-grid--list{grid-template-columns:1fr}.barber-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-tight), inset 0 1px 0 #ffffff80;border-radius:12px;flex-direction:column;transition:border-color .18s,opacity .18s;display:flex;overflow:hidden}.barber-card:hover{border-color:var(--accent)}.barber-card--closed{opacity:.82}.barber-card--closed:hover{opacity:1}.barber-card-visual{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-3) 85%, #fff), var(--surface-2)), var(--surface-2);min-height:128px;position:relative;overflow:visible}.barber-card-visual:before{content:"";opacity:.8;background:linear-gradient(120deg,#0000 0 42%,#ffffff52 42% 50%,#0000 50%),radial-gradient(circle at 22% 72%,#0051d52e,#0000 30%),radial-gradient(circle at 82% 22%,#0f766e29,#0000 28%);position:absolute;top:0;bottom:0;left:0;right:0}.barber-rating-badge,.barber-closed-overlay span{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--primary);box-shadow:var(--shadow-tight);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;align-items:center;gap:4px;font-size:.76rem;font-weight:900;display:inline-flex}.barber-rating-badge{z-index:2;padding:6px 8px;position:absolute;top:12px;right:12px}.barber-rating-badge svg{color:var(--accent)}.barber-avatar{z-index:2;border:2px solid var(--surface);background:var(--surface);width:48px;height:48px;color:var(--accent);box-shadow:var(--shadow-tight);border-radius:999px;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:inline-flex;position:absolute;bottom:-24px;left:16px}.barber-closed-overlay{z-index:1;background:color-mix(in srgb, var(--surface) 58%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.barber-closed-overlay span{color:var(--muted);padding:8px 12px;font-size:.72rem}.barber-card-body{flex-direction:column;flex:1;gap:14px;padding:32px 16px 16px;display:flex}.barber-card-heading{gap:5px;min-width:0;display:grid}.barber-card-heading h3{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;line-height:1.35;display:block;overflow:hidden}.barber-card:hover .barber-card-heading h3{color:var(--accent)}.barber-card-heading p{min-width:0;color:var(--muted);align-items:center;gap:5px;font-size:.88rem;line-height:1.45;display:flex}.barber-card-heading p span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.barber-distance{background:var(--teal-soft);width:-moz-fit-content;width:fit-content;min-height:24px;color:var(--teal);border-radius:999px;align-items:center;padding:0 8px;font-size:.74rem;font-weight:900;display:inline-flex}.barber-tags{flex-wrap:wrap;gap:8px;display:flex}.barber-tags span{border:1px solid var(--border);background:var(--surface-3);min-height:24px;color:var(--muted);border-radius:6px;align-items:center;padding:0 8px;font-size:.74rem;font-weight:800;display:inline-flex}.barber-tags span.primary{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.barber-card-meta{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.barber-card-meta>div:first-child,.barber-price{gap:5px;min-width:0;display:grid}.barber-status{color:var(--muted);align-items:center;gap:5px;font-size:.72rem;font-weight:900;display:inline-flex}.barber-status>span{background:var(--success);border-radius:999px;width:8px;height:8px}.barber-status--closed>span{background:var(--danger)}.barber-card-meta strong{min-width:0;color:var(--primary);align-items:center;gap:5px;font-size:.88rem;line-height:1.4;display:flex}.barber-card-meta small{color:var(--muted);font-size:.75rem;font-weight:500}.barber-price{text-align:right}.barber-price span{color:var(--muted);font-size:.72rem;font-weight:900}.barber-price strong{justify-content:flex-end;font-size:1.25rem;font-weight:900}.barber-card-action{padding:0 16px 16px}.barber-book-button{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--accent);cursor:pointer;border-radius:8px;font-size:.78rem;font-weight:900;box-shadow:inset 0 1px #ffffff80}.barber-book-button:hover{background:var(--surface-2)}.barber-book-button--primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-tight), inset 0 1px 0 #ffffff52;border-color:#0000}.barber-book-button--primary:hover{background:#316bf3}.barber-map-panel{border-left:1px solid var(--border);background:var(--surface-3);min-width:0;display:none}.barber-map-canvas{background:linear-gradient(90deg, #76777d29 1px, transparent 1px), linear-gradient(0deg, #76777d29 1px, transparent 1px), var(--surface-3);background-size:64px 64px;height:calc(100vh - 64px);position:sticky;top:64px;overflow:hidden}.barber-map-pattern{opacity:.6;background-image:radial-gradient(#76777d 1px,#0000 1px);background-size:20px 20px;position:absolute;top:0;bottom:0;left:0;right:0}.barber-map-controls{z-index:2;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-tight);border-radius:8px;display:grid;position:absolute;top:16px;right:16px;overflow:hidden}.barber-map-controls button{background:var(--surface);width:40px;height:40px;color:var(--primary);border:0;font-size:1.1rem;font-weight:900}.barber-map-controls button+button{border-top:1px solid var(--border)}.barber-map-pin{z-index:2;justify-items:center;gap:5px;display:grid;position:absolute;transform:translate(-50%,-50%)}.barber-map-pin span{background:var(--accent);min-height:27px;color:var(--on-accent);box-shadow:var(--shadow-tight);border-radius:6px;align-items:center;padding:0 9px;font-size:.72rem;font-weight:900;display:inline-flex;position:relative}.barber-map-pin span:after{content:"";background:inherit;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.barber-map-pin i{border:2px solid var(--surface);background:var(--accent);width:12px;height:12px;box-shadow:var(--shadow-tight);border-radius:999px}.barber-map-pin--selected{z-index:3}.barber-map-pin--selected span,.barber-map-pin--selected i{background:var(--primary);transform:scale(1.08)}.barber-map-pin--closed span{border:1px solid var(--border);background:var(--surface);color:var(--muted)}.barber-map-pin--closed i{border-color:var(--border);background:var(--surface-3)}.barber-map-search-button{z-index:2;color:var(--primary);box-shadow:var(--shadow-tight);padding:0 16px;position:absolute;bottom:16px;left:50%}@media (min-width:901px){.app-shell{display:block}.app-sidebar{z-index:50;width:260px;height:100vh;position:fixed;top:0;bottom:0;left:0;right:auto}.app-workspace{margin-left:260px}.app-shell--sidebar-collapsed .app-sidebar{width:84px}.app-shell--sidebar-collapsed .app-workspace{margin-left:84px}}@media (min-width:1280px){.barber-selection-screen{grid-template-columns:minmax(0,1fr) 400px}.barber-map-panel{display:block}}@media (max-width:1100px){.barber-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (min-width:760px){.barber-card-grid--list .barber-card{grid-template-columns:220px minmax(0,1fr) 180px;display:grid}.barber-card-grid--list .barber-card-visual{min-height:100%}.barber-card-grid--list .barber-card-body{padding-top:18px}.barber-card-grid--list .barber-card-action{align-items:end;padding:18px;display:flex}}@media (max-width:900px){.app-shell{padding-bottom:72px;display:block}.app-sidebar{display:none}.app-workspace{margin-left:0}.app-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100vw;max-width:100vw;min-height:64px;padding:0 16px;display:grid;position:sticky;top:0}.topbar-leading{min-width:0;display:block}.topbar-leading h1{text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.topbar-actions{flex-wrap:nowrap;justify-self:end;gap:8px}.topbar-actions .icon-button,.topbar-actions .button,.topbar-actions .segmented-control:first-of-type{display:none}.route-surface{max-width:100vw;padding:16px;overflow-x:hidden}.route-surface--edge{padding:0}.app-workspace,.barber-selection-screen,.barber-results-pane{max-width:100vw;overflow-x:hidden}.barber-search-header{padding:16px;position:static;top:auto}.barber-results-section{padding:16px 16px 28px}.mobile-bottom-nav{z-index:60;width:100vw;max-width:100vw;min-height:64px;padding:6px 0 max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);justify-content:space-around;align-items:center;gap:0;display:flex;position:fixed;top:auto;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 24px #0f172a14}.mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;min-height:52px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.66rem;font-weight:900;text-decoration:none;display:inline-flex}.mobile-bottom-nav a.active,.mobile-bottom-nav button.active{color:var(--accent);background:var(--surface-2)}}@media (max-width:640px){.topbar-actions{display:none}.barber-search-title-row,.barber-results-toolbar,.barber-card-meta{flex-direction:column;align-items:stretch}.barber-search-title-row h2{font-size:1.18rem}.barber-location-button,.barber-map-search-button{width:100%}.barber-filter-grid{grid-template-columns:1fr}.barber-card-grid{grid-template-columns:1fr;gap:16px}.barber-price{text-align:left}.barber-price strong{justify-content:flex-start}}@media (max-width:480px){.mobile-bottom-nav{width:calc(100vw - 56px)}.barber-results-section{padding-right:56px}}@media (max-width:900px){.app-shell--portal .mobile-bottom-nav{max-width:none;min-height:64px;padding:6px 0 max(6px, env(safe-area-inset-bottom));background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;justify-content:stretch!important;width:auto!important;display:grid!important}.app-shell--portal .mobile-bottom-nav a,.app-shell--portal .mobile-bottom-nav button{border-radius:0}.app-shell--portal .mobile-bottom-nav a.active,.app-shell--portal .mobile-bottom-nav button.active,.app-shell--backoffice .mobile-bottom-nav a.active,.app-shell--backoffice .mobile-bottom-nav button.active{background:0 0}.mobile-more-item.active{color:var(--accent);background:var(--surface-2)}.mobile-more-item.active .mobile-more-icon{color:var(--accent)}}@media (max-width:480px){.portal-stitch-topbar{gap:10px}.portal-stitch-topbar-actions{gap:8px;display:flex}.portal-stitch-topbar-actions .portal-stitch-language,.portal-stitch-topbar-actions .portal-stitch-icon-button{display:none}.app-shell--portal .mobile-bottom-nav{width:auto!important}.app-shell--portal .route-surface--portal{padding-right:16px}}.app-shell--transactional{min-height:100vh;display:block}.app-shell--transactional .app-workspace,.app-workspace--transactional{background:var(--bg);min-height:100vh;margin-left:0;padding:0}.client-page--booking,.booking-stitch-page{min-height:100vh}.booking-stitch-page{width:100%;max-width:100vw;color:var(--text);background:var(--bg);overflow-x:hidden}.booking-task-header{z-index:70;border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:100vw;max-width:100vw;min-height:64px;padding:0 24px;display:grid;position:sticky;top:0}.booking-task-leading{align-items:center;gap:16px;min-width:0;display:inline-flex}.booking-task-leading :-webkit-any(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:1.2rem;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;overflow:hidden}.booking-task-leading :-moz-any(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:1.2rem;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;overflow:hidden}.booking-task-leading :is(strong,.pp-brand-wordmark){--pp-brand-wordmark-size:1.2rem;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;overflow:hidden}.booking-task-header>span{min-width:0;color:var(--muted);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.78rem;font-weight:900;overflow:hidden}.booking-task-icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.booking-task-icon-button:hover{color:var(--text);background:var(--surface-2)}.booking-task-header>.booking-task-icon-button{justify-self:end}.booking-canvas{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:24px;width:min(1280px,100%);max-width:100vw;margin:0 auto;padding:24px 24px 32px;display:grid}.booking-step-list{flex-direction:column;grid-column:span 8;gap:0;min-width:0;max-width:100%;display:flex}.booking-step{grid-template-columns:32px minmax(0,1fr);gap:16px;min-width:0;max-width:100%;display:grid;position:relative}.booking-step-rail{z-index:1;justify-content:center;display:flex;position:relative}.booking-step:not(:last-child) .booking-step-rail:after{content:"";background:var(--surface-3);width:2px;position:absolute;top:40px;bottom:-16px;left:15px}.booking-step-dot{z-index:2;border:1px solid var(--border-strong);background:var(--surface-3);width:32px;height:32px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:900;display:inline-flex;position:relative}.booking-step-body{gap:16px;min-width:0;max-width:100%;padding-bottom:24px;display:grid}.booking-step-body h2{color:var(--text);font-size:1.25rem;line-height:1.35}.booking-branch-toolbar{grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:12px;display:grid}.booking-mini-field{min-width:0;color:var(--text);gap:6px;font-size:.72rem;font-weight:900;display:grid}.booking-mini-field select,.booking-mini-field input{background:var(--surface-2);min-height:40px}.booking-location-button{border:1px solid var(--border);background:var(--surface);width:-moz-fit-content;width:fit-content;min-height:40px;color:var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.booking-location-button:hover{border-color:var(--accent);background:var(--surface-2)}.booking-step-note{color:var(--teal);font-size:.84rem;font-weight:800;line-height:1.45}.booking-step-note--danger{color:var(--danger)}.booking-branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-tight), inset 0 1px 0 #ffffff6b;border-radius:8px}.booking-branch-card,.booking-service-card,.booking-staff-card{cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.booking-branch-card:hover,.booking-service-card:hover,.booking-staff-card:hover{border-color:var(--accent)}.booking-staff-card.is-disabled,.booking-staff-card:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.4)}.booking-staff-card.is-disabled:hover,.booking-staff-card:disabled:hover{border-color:var(--card-border)}.booking-branch-card{width:100%;min-width:0;min-height:142px;color:var(--text);text-align:left;align-content:start;gap:12px;padding:16px;display:grid}.booking-branch-card.selected,.booking-service-card.selected,.booking-staff-card.selected{border-width:2px;border-color:var(--accent)}.booking-card-title-row,.booking-service-card,.booking-service-meta,.booking-date-control,.booking-summary-totals>div{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.booking-card-title-row h3{color:var(--text);margin:0;font-size:1rem;line-height:1.35;display:block}.booking-branch-card p{color:var(--muted);line-height:1.45}.booking-radio{border:2px solid var(--border-strong);border-radius:999px;flex:none;width:20px;height:20px}.booking-radio.selected{border:6px solid var(--accent)}.booking-tag-row{flex-wrap:wrap;gap:8px;display:flex}.booking-tag-row span{background:var(--surface-2);min-height:24px;color:var(--muted);border-radius:6px;align-items:center;padding:0 8px;font-size:.72rem;font-weight:900;display:inline-flex}.booking-service-list{gap:10px;display:grid}.booking-service-card{width:100%;min-height:82px;color:var(--text);text-align:left;padding:16px}.booking-service-card>div:first-child,.booking-service-meta>div,.booking-summary-item div{gap:5px;min-width:0;display:grid}.booking-service-card>div:first-child span,.booking-service-meta span,.booking-summary-item span,.booking-summary-panel p,.booking-summary-totals span{color:var(--muted)}.booking-service-card svg{color:var(--border-strong);flex:none}.booking-service-card.selected svg{color:var(--accent)}.booking-service-meta{flex:none;align-items:center}.booking-service-meta>div{text-align:right}.booking-service-meta strong{color:var(--text)}.booking-staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.booking-staff-card{width:100%;min-width:0;min-height:148px;color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.booking-avatar{border:1px solid var(--border);background:var(--surface-2);width:64px;height:64px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.booking-avatar--plain{color:var(--muted)}.booking-rating,.booking-staff-hint{min-height:18px;color:var(--muted);align-items:center;gap:4px;font-size:.72rem;font-weight:900;display:inline-flex}.booking-rating svg{color:var(--accent)}.booking-calendar-card,.booking-contact-card,.booking-summary-panel{min-width:0;max-width:100%;padding:16px}.booking-calendar-head{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:10px;min-height:42px;padding-bottom:10px;display:grid}.booking-calendar-head button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.booking-calendar-head button:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.booking-calendar-head button:disabled{opacity:.44;cursor:not-allowed}.booking-calendar-head span{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.booking-date-control{align-items:center;padding:14px 0}.booking-date-control>div{min-width:0;color:var(--muted);text-align:right;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.booking-date-control strong{color:var(--text);line-height:1.35}.booking-shop-closed-notice{background:var(--surface-2);border:1px dashed var(--border);color:var(--text-secondary);border-radius:12px;align-items:center;gap:10px;padding:18px 20px;font-size:14px;display:flex}.booking-slot-grid{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:10px;display:grid}.booking-slot{border:1px solid var(--border);background:var(--surface-2);min-height:42px;color:var(--text);cursor:pointer;border-radius:8px;font-weight:900}.booking-slot:hover:not(:disabled){border-color:var(--accent)}.booking-slot.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.booking-slot.busy,.booking-slot:disabled{color:var(--muted);background:var(--surface-2);opacity:.62;cursor:not-allowed;border-style:dashed}.booking-slot.pending{cursor:wait}.booking-hold-timer,.booking-summary-hold{border:1px solid var(--warning);background:var(--warning-soft);color:var(--warning);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;font-weight:900;display:flex}.booking-hold-timer{justify-content:flex-start;margin-top:12px;padding:10px 12px;font-size:.9rem}.booking-hold-timer--pending{border-color:var(--border);background:var(--surface-2);color:var(--muted)}.booking-inline-alert{margin-top:12px}.booking-summary-hold{padding:12px}.booking-summary-hold span{color:inherit;font-size:.78rem;font-weight:800}.booking-summary-hold strong{color:inherit;font-size:1.15rem}.booking-contact-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.booking-contact-card .field:last-child{grid-column:1/-1}.booking-summary-panel{grid-column:span 4;gap:20px;display:grid;position:sticky;top:88px}.booking-summary-panel h3{border-bottom:1px solid var(--border);color:var(--text);margin:0;padding-bottom:12px;font-size:1.18rem;display:block}.booking-summary-stack{gap:16px;display:grid}.booking-summary-item{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.booking-summary-icon{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.booking-summary-item strong{min-width:0;color:var(--text);overflow-wrap:anywhere;line-height:1.35}.booking-summary-item.muted .booking-summary-icon,.booking-summary-item.muted strong,.booking-summary-item.muted span{color:var(--border-strong)}.booking-summary-totals{border-top:1px solid var(--border);gap:8px;padding-top:16px;display:grid}.booking-summary-totals>div{align-items:center}.booking-summary-totals>div:last-child strong{font-size:1.35rem}.booking-submit-button{width:100%;min-height:48px}.booking-submit-button:disabled{background:var(--surface-3);color:var(--muted);opacity:1;border-color:#0000}.booking-summary-panel p{text-align:center;font-size:.78rem;font-weight:800;line-height:1.45}@media (max-width:1120px){.booking-canvas{grid-template-columns:1fr}.booking-step-list,.booking-summary-panel{grid-column:auto}.booking-summary-panel{position:static}}@media (max-width:760px){.profile-settings-page{width:100%;padding-bottom:12px}.profile-settings-heading h2{font-size:1.55rem}.profile-settings-section{gap:18px;padding:16px}.profile-personal-row{flex-direction:column;align-items:flex-start;width:100%}.profile-name-field{width:100%}.profile-field-grid,.profile-preference-grid{grid-template-columns:1fr}.profile-settings-actions{grid-template-columns:1fr;display:grid}.profile-settings-actions .button{width:100%}.booking-task-header{grid-template-columns:auto minmax(0,1fr) auto;padding:0 16px}.booking-task-leading{gap:8px}.booking-task-leading :-webkit-any(strong,.pp-brand-wordmark){display:none}.booking-task-leading :-moz-any(strong,.pp-brand-wordmark){display:none}.booking-task-leading :is(strong,.pp-brand-wordmark){display:none}.booking-task-header>.booking-task-icon-button{z-index:80;background:var(--surface);position:fixed;top:12px;left:calc(100vw - 56px);right:auto}.booking-canvas{width:min(374px,100vw - 64px);max-width:min(374px,100vw - 64px);padding:18px 0 28px}.booking-branch-grid,.booking-staff-grid,.booking-contact-card{grid-template-columns:1fr}.booking-branch-toolbar,.booking-date-control{grid-template-columns:1fr;align-items:stretch}.booking-location-button{width:100%}.booking-date-control>div{text-align:left;justify-content:flex-start}.booking-service-card,.booking-card-title-row,.booking-service-meta{align-items:flex-start}.booking-service-card{flex-direction:column}.booking-service-meta{width:100%}.booking-service-meta>div{text-align:left}}@media (max-width:640px){.booking-canvas{width:min(310px,100vw - 72px);max-width:min(310px,100vw - 72px)}}@media (max-width:480px){.booking-task-header>.booking-task-icon-button{left:min(100vw - 56px,334px)}.booking-canvas{width:min(300px,100vw - 72px);max-width:min(300px,100vw - 72px);padding-left:0;padding-right:0}.booking-step{grid-template-columns:1fr;gap:10px}.booking-step-rail{justify-content:flex-start}.booking-step:not(:last-child) .booking-step-rail:after{display:none}.booking-step-body{padding-bottom:20px}}.portal-operational-kpi.tone-success>span{color:#059669;background:#ecfdf5;border-color:#bbf7d0}.portal-operational-staff-filter button.active{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface));color:var(--accent)}.portal-operational-slot-row.tone-open .portal-operational-row-track{background:color-mix(in srgb, #dcfce7 58%, var(--surface))}.portal-operational-slot-row.tone-low .portal-operational-row-track{background:color-mix(in srgb, #f7fee7 58%, var(--surface))}.portal-operational-slot-row.tone-partial .portal-operational-row-track{background:color-mix(in srgb, #fef3c7 58%, var(--surface))}.portal-operational-slot-row.tone-high .portal-operational-row-track{background:color-mix(in srgb, #ffedd5 62%, var(--surface))}.portal-operational-slot-row.tone-full .portal-operational-row-track{background:color-mix(in srgb, #fee2e2 62%, var(--surface));cursor:default}.portal-operational-appointment-card.status-completed{border-left-color:var(--success);opacity:.78;flex-basis:164px;width:164px}.portal-operational-appointment-card.is-clickable{font:inherit;text-align:left;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.portal-operational-appointment-card.is-clickable:hover{border-color:var(--accent);box-shadow:0 6px 16px #0f172a24}.portal-operational-time-field.is-pinging select{animation:.62s opTimePulse}.portal-operational-time-field.is-pinging:after{content:"";border:3px solid var(--accent);pointer-events:none;border-radius:10px;animation:.62s ease-out forwards opPing;position:absolute;top:24px;bottom:0;left:0;right:0}@keyframes opTimePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 80%, transparent);background:color-mix(in srgb, var(--accent) 18%, var(--surface-2))}to{background:var(--surface-2);box-shadow:0 0 0 14px #0000}}@keyframes opPing{0%{opacity:1;transform:scale(.92)}60%{opacity:.85}to{opacity:0;transform:scale(1.12)}}.profile-toggle-row>span:first-child>strong{font-size:.78rem;display:block}.portal-operational-staff-picker button.is-pinging{z-index:1;animation:.62s ease-out opStaffPulse;position:relative}.portal-operational-staff-picker button.is-pinging:after{content:"";border:2px solid var(--accent);border-radius:inherit;pointer-events:none;animation:.62s ease-out opPing;position:absolute;top:-3px;bottom:-3px;left:-3px;right:-3px}@keyframes opStaffPulse{0%,to{transform:scale(1)}35%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 18%, transparent);transform:scale(1.035)}}.portal-operational-slot-row.is-pinging .portal-operational-row-track{animation:.62s ease-out opRowPulse}.portal-operational-slot-row.is-pinging .portal-operational-row-track:before{content:"";border:3px solid var(--accent);pointer-events:none;z-index:3;border-radius:8px;animation:.62s ease-out forwards opPing;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes opRowPulse{0%{box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--accent) 24%, transparent)}to{box-shadow:inset 0 0 0 9999px #0000}}.portal-operational-status-segment button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.portal-operational-status-segment button.active.status-completed{border-color:var(--success);color:var(--success);background:color-mix(in srgb, var(--success) 14%, var(--surface));box-shadow:inset 0 0 0 1px var(--success)}.portal-operational-status-segment button.active.status-cancelled,.portal-operational-status-segment button.active.status-no_show{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--surface));box-shadow:inset 0 0 0 1px var(--danger)}@media (prefers-reduced-motion:reduce){.portal-operational-time-field.is-pinging select,.portal-operational-slot-row.is-pinging .portal-operational-row-track,.portal-operational-staff-picker button.is-pinging{animation:none}.portal-operational-time-field.is-pinging:after,.portal-operational-slot-row.is-pinging .portal-operational-row-track:before,.portal-operational-staff-picker button.is-pinging:after{display:none}}.portal-operational-appointment-card.is-new{animation:1.5s ease-out 3 opNewPulse}@keyframes opNewPulse{0%,to{box-shadow:var(--shadow-tight)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent)}}@media (prefers-reduced-motion:reduce){.portal-operational-appointment-card.is-new{animation:none}}.portal-operational-staff-picker button.active{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--primary)}.portal-operational-staff-picker button.active:after{content:"";border:2px solid var(--surface);background:var(--accent);width:10px;height:10px;box-shadow:var(--shadow-tight);border-radius:999px;position:absolute;top:-4px;right:-4px}.portal-operational-day-records-table tbody tr.tone-completed td{color:var(--muted)}.portal-operational-list-item.tone-completed{border-left-color:var(--success);background:color-mix(in srgb, var(--success-soft) 58%, var(--surface))}.portal-operational-list-item.tone-unfinished{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger-soft) 56%, var(--surface))}.portal-operational-list-item.tone-current{border-left-color:var(--muted);background:color-mix(in srgb, var(--surface-2) 76%, var(--surface))}.portal-operational-list-item.tone-cancelled{border-left-color:color-mix(in srgb, var(--danger) 42%, var(--border));opacity:.6}.app-shell--client,.app-shell--portal{font-family:var(--app-font-family);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.app-shell--client ::-webkit-scrollbar{width:6px;height:6px}.app-shell--portal ::-webkit-scrollbar{width:6px;height:6px}.app-shell--client ::-webkit-scrollbar-track{background:0 0}.app-shell--portal ::-webkit-scrollbar-track{background:0 0}.app-shell--client ::-webkit-scrollbar-thumb{background:#d8dadc;border-radius:999px}.app-shell--portal ::-webkit-scrollbar-thumb{background:#d8dadc;border-radius:999px}.app-shell--client :-webkit-any(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--client :-moz-any(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--client :is(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--portal :-webkit-any(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--portal :-moz-any(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--portal :is(h1,h2,h3,h4){color:var(--primary);font-family:var(--app-font-family);letter-spacing:-.01em;font-weight:600}.app-shell--client :-webkit-any(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--client :-moz-any(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--client :is(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--portal :-webkit-any(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--portal :-moz-any(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--portal :is(p,span,small,label,input,select,textarea,button,a){font-family:var(--app-font-family)}.app-shell--client :is(.client-stitch-header h2,.page-heading h2,.booking-step-body h2,.appointment-detail-hero h2){letter-spacing:-.02em;font-size:max(1.5rem,min(2.2vw,2rem));font-weight:600;line-height:1.2}.app-shell--portal :is(.page-heading h2){letter-spacing:-.02em;font-size:max(1.5rem,min(2.2vw,2rem));font-weight:600;line-height:1.2}.app-shell--portal .muted-text{color:var(--muted);font-size:.95rem;font-weight:400;line-height:1.55}.app-shell--client :is(.client-stitch-header p,.booking-step-body p,.barber-card-heading p,.muted-text){color:var(--muted);font-size:.95rem;font-weight:400;line-height:1.55}.app-shell--client :is(.panel-eyebrow,.field,.client-stitch-stat-top>span:first-child,.client-stitch-card-kicker,.client-stitch-detail-item span:not(.client-stitch-detail-icon),.booking-mini-field,.booking-service-meta span,.booking-summary-item span,.barber-card-meta small){color:var(--muted);letter-spacing:var(--label-letter-spacing);font-size:.75rem;font-weight:600}.app-shell--portal :-webkit-any(.panel-eyebrow,.field){color:var(--muted);letter-spacing:var(--label-letter-spacing);font-size:.75rem;font-weight:600}.app-shell--portal :-moz-any(.panel-eyebrow,.field){color:var(--muted);letter-spacing:var(--label-letter-spacing);font-size:.75rem;font-weight:600}.app-shell--portal :is(.panel-eyebrow,.field){color:var(--muted);letter-spacing:var(--label-letter-spacing);font-size:.75rem;font-weight:600}.app-shell--client :is(.button,.sidebar-cta,.primary-nav a,.client-stitch-primary-action,.client-stitch-card-actions a,.client-stitch-section-title a,.client-stitch-favorite-card button,.client-stitch-favorite-card>a,.barber-card-action a,.booking-location-button,.booking-slot,.booking-submit-button){font-weight:600}.app-shell--portal :is(.button,.sidebar-cta,.primary-nav a,.portal-stitch-login-link){font-weight:600}.app-shell--portal .route-surface--portal .panel{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :-webkit-any(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.client-stitch-add-favorite,.barber-card,.barber-map-panel,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel,.confirmation-card,.detail-card,.appointment-detail-hero,.appointment-detail-actions,.login-callout){border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :-moz-any(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.client-stitch-add-favorite,.barber-card,.barber-map-panel,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel,.confirmation-card,.detail-card,.appointment-detail-hero,.appointment-detail-actions,.login-callout){border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :is(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.client-stitch-add-favorite,.barber-card,.barber-map-panel,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel,.confirmation-card,.detail-card,.appointment-detail-hero,.appointment-detail-actions,.login-callout){border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :-webkit-any(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card){transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}.app-shell--client .route-surface--client :-moz-any(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card){transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}.app-shell--client .route-surface--client :is(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card){transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}.app-shell--client .route-surface--client :-webkit-any(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card):hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client :-moz-any(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card):hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client :is(.client-stitch-stat,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card):hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.app-shell--portal .route-surface--portal .metric{padding:20px;overflow:hidden}.app-shell--client .route-surface--client :-webkit-any(.client-stitch-stat,.metric){padding:20px;overflow:hidden}.app-shell--client .route-surface--client :-moz-any(.client-stitch-stat,.metric){padding:20px;overflow:hidden}.app-shell--client .route-surface--client :is(.client-stitch-stat,.metric){padding:20px;overflow:hidden}.app-shell--client .route-surface--client :is(.client-stitch-stat-value,.metric strong){color:var(--primary);letter-spacing:-.02em;font-weight:700}.app-shell--portal .route-surface--portal :is(.metric strong){color:var(--primary);letter-spacing:-.02em;font-weight:700}.app-shell--client .route-surface--client :-webkit-any(.client-stitch-stat-icon,.client-stitch-detail-icon,.booking-summary-icon){border-radius:var(--card-radius-sm);width:48px;height:48px}.app-shell--client .route-surface--client :-moz-any(.client-stitch-stat-icon,.client-stitch-detail-icon,.booking-summary-icon){border-radius:var(--card-radius-sm);width:48px;height:48px}.app-shell--client .route-surface--client :is(.client-stitch-stat-icon,.client-stitch-detail-icon,.booking-summary-icon){border-radius:var(--card-radius-sm);width:48px;height:48px}.app-shell--client .route-surface--client :-webkit-any(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--client .route-surface--client :-moz-any(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--client .route-surface--client :is(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--portal .route-surface--portal :-webkit-any(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--portal .route-surface--portal :-moz-any(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--portal .route-surface--portal :is(input:not([type=checkbox]),select,textarea){min-height:var(--control-height);border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:400}.app-shell--client .route-surface--client :-webkit-any(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--client .route-surface--client :-moz-any(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--client .route-surface--client :is(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--portal .route-surface--portal :-webkit-any(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--portal .route-surface--portal :-moz-any(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--portal .route-surface--portal :is(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:0}.app-shell--portal .portal-stitch-search input,.app-shell--client .topbar-search input,.app-shell--client .booking-mini-field input,.app-shell--client .booking-mini-field select{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0}.app-shell--client .route-surface--client :-webkit-any(.booking-branch-card.selected,.booking-service-card.selected,.booking-staff-card.selected,.booking-slot.selected){border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--primary);box-shadow:0 0 0 1px var(--accent), var(--card-shadow)}.app-shell--client .route-surface--client :-moz-any(.booking-branch-card.selected,.booking-service-card.selected,.booking-staff-card.selected,.booking-slot.selected){border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--primary);box-shadow:0 0 0 1px var(--accent), var(--card-shadow)}.app-shell--client .route-surface--client :is(.booking-branch-card.selected,.booking-service-card.selected,.booking-staff-card.selected,.booking-slot.selected){border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--primary);box-shadow:0 0 0 1px var(--accent), var(--card-shadow)}.app-shell--portal .route-surface--portal :is(.portal-operational-staff-picker button.active,.portal-operational-staff-filter button.active){border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface));color:var(--primary);box-shadow:0 0 0 1px var(--accent), var(--card-shadow)}.app-shell--portal .route-surface--portal .button.primary,.app-shell--client .sidebar-cta,.app-shell--portal .sidebar-cta{border-radius:var(--control-radius);background:var(--primary);min-height:48px;color:var(--on-accent);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :-webkit-any(.button.primary,.client-stitch-primary-action,.booking-submit-button){border-radius:var(--control-radius);background:var(--primary);min-height:48px;color:var(--on-accent);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :-moz-any(.button.primary,.client-stitch-primary-action,.booking-submit-button){border-radius:var(--control-radius);background:var(--primary);min-height:48px;color:var(--on-accent);box-shadow:var(--card-shadow)}.app-shell--client .route-surface--client :is(.button.primary,.client-stitch-primary-action,.booking-submit-button){border-radius:var(--control-radius);background:var(--primary);min-height:48px;color:var(--on-accent);box-shadow:var(--card-shadow)}.app-shell--portal .route-surface--portal .button.primary:hover,.app-shell--client .sidebar-cta:hover,.app-shell--portal .sidebar-cta:hover{background:var(--accent);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client :-webkit-any(.button.primary,.client-stitch-primary-action,.booking-submit-button):hover{background:var(--accent);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client :-moz-any(.button.primary,.client-stitch-primary-action,.booking-submit-button):hover{background:var(--accent);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client :is(.button.primary,.client-stitch-primary-action,.booking-submit-button):hover{background:var(--accent);box-shadow:var(--card-shadow-hover)}.app-shell--client .route-surface--client .client-stitch-appointment-card{grid-template-columns:minmax(220px,1fr) minmax(0,2fr)}.app-shell--client .route-surface--client :-webkit-any(.client-stitch-appointment-media,.client-stitch-favorite-thumb,.barber-card-visual){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client :-moz-any(.client-stitch-appointment-media,.client-stitch-favorite-thumb,.barber-card-visual){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client :is(.client-stitch-appointment-media,.client-stitch-favorite-thumb,.barber-card-visual){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client .client-stitch-appointment-media{margin:12px 0 12px 12px;overflow:hidden}.app-shell--portal .route-surface--portal .portal-operational-appointment-card.status-completed{flex:0 0 164px;width:164px}@media (max-width:760px){.app-shell--portal .route-surface--portal .panel{border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client :-webkit-any(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client :-moz-any(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client :is(.panel,.metric,.client-stitch-stat,.client-stitch-appointment-card,.client-stitch-favorite-card,.barber-card,.booking-branch-card,.booking-service-card,.booking-staff-card,.booking-calendar-card,.booking-contact-card,.booking-summary-panel){border-radius:var(--card-radius-sm)}.app-shell--client .route-surface--client .client-stitch-appointment-media{border-radius:var(--card-radius-sm) var(--card-radius-sm) 0 0;margin:0}}.app-workspace--support{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 42%, transparent) 0, transparent 320px), var(--bg)}.support-page,.support-standalone{min-width:0}.support-hero,.support-standalone-header{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow);gap:18px;display:grid}.support-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:24px}.support-hero h2,.support-standalone-header h1{color:var(--primary);letter-spacing:0;font-size:max(1.7rem,min(2.4vw,2.35rem));line-height:1.12}.support-hero p,.support-standalone-header p{max-width:760px;color:var(--muted);line-height:1.6}.support-hero-actions,.support-form-actions,.support-status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.support-action-grid,.support-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.support-action-card,.support-summary,.support-form-side,.support-doc-section,.support-doc-callout{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.support-action-card{min-height:190px;color:var(--text);align-content:start;gap:12px;padding:20px;text-decoration:none;display:grid}.support-action-card>span,.support-summary>span,.support-doc-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.support-action-card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.support-action-card strong,.support-summary strong{color:var(--primary);font-size:1.05rem;line-height:1.3}.support-action-card p,.support-form-side p,.support-doc-section p,.support-doc-callout p{color:var(--muted);line-height:1.55}.support-action-card em{color:var(--accent);font-style:normal;font-weight:800}.support-summary{gap:8px;min-height:124px;padding:18px;display:grid}.support-summary small,.support-ticket-meta span,.support-detail-item span{color:var(--muted);font-size:.78rem;font-weight:700}.support-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.support-section-heading>div{gap:8px;display:grid}.support-ticket-panel .loading-state,.support-ticket-panel .empty-state{box-shadow:none}.support-ticket-list{gap:12px;display:grid}.support-ticket-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:18px;padding:16px;display:grid}.support-ticket-card>div:first-child{gap:8px;min-width:0;display:grid}.support-ticket-card h3{color:var(--primary);margin:0;font-size:1rem}.support-ticket-card p{color:var(--muted);line-height:1.5}.support-admin-note{border-left:3px solid var(--accent);padding-left:10px;color:var(--text)!important}.support-ticket-meta{text-align:right;align-content:start;justify-items:end;gap:8px;display:grid}.support-ticket-badge{border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:900;display:inline-flex}.support-ticket-badge.tone-open{background:var(--accent-soft);color:var(--accent)}.support-ticket-badge.tone-info{background:var(--teal-soft);color:var(--teal)}.support-ticket-badge.tone-warning{background:var(--warning-soft);color:var(--warning)}.support-ticket-badge.tone-success{background:var(--success-soft);color:var(--success)}.support-standalone{gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.support-standalone-header{padding:24px}.support-standalone-header>div{align-items:center;gap:10px;display:inline-flex}.support-back-link{width:-moz-fit-content;width:fit-content;color:var(--accent);align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.support-doc-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px;display:grid}.support-doc-index{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow);gap:8px;padding:16px;display:grid;position:sticky;top:20px}.support-doc-index a{min-height:38px;color:var(--muted);border-radius:8px;align-items:center;padding:0 10px;font-weight:800;text-decoration:none;display:flex}.support-doc-index a:hover{background:var(--accent-soft);color:var(--accent)}.support-doc-content{gap:14px;display:grid}.support-doc-section{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px;scroll-margin-top:20px;display:grid}.support-doc-section h2{margin-bottom:8px}.support-doc-section ul,.support-form-side ul{color:var(--text);gap:8px;margin:14px 0 0;padding-left:18px;line-height:1.5;display:grid}.support-doc-callout{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;display:grid}.support-doc-callout svg{color:var(--accent)}.support-form-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.support-form{gap:14px;display:grid}.support-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.support-description-field textarea,.support-admin-detail textarea{border:1px solid var(--card-border);border-radius:var(--control-radius);background:var(--surface);min-height:150px;color:var(--text);resize:vertical;padding:12px}.support-context-note,.support-alert{border-radius:12px;align-items:flex-start;gap:9px;padding:12px;line-height:1.45;display:flex}.support-context-note{border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.support-alert.error{border:1px solid color-mix(in srgb, var(--danger) 38%, var(--border));background:var(--danger-soft);color:var(--danger)}.support-alert.success{border:1px solid color-mix(in srgb, var(--success) 38%, var(--border));background:var(--success-soft);color:var(--success)}.support-alert.success div{gap:4px;display:grid}.support-form-side{gap:12px;padding:18px;display:grid}.support-admin-toolbar{grid-template-columns:minmax(240px,1fr) 220px auto;align-items:end;gap:12px;display:grid}.support-admin-layout{grid-template-columns:minmax(280px,.55fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.support-admin-list,.support-admin-detail{min-width:0}.support-admin-list{gap:10px;display:grid}.support-admin-list button{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;justify-items:start;gap:6px;padding:12px;display:grid}.support-admin-list button.selected,.support-admin-list button:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 48%, var(--surface))}.support-admin-list button strong,.support-admin-list button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.support-admin-list button small{color:var(--muted)}.support-admin-detail{gap:14px;display:grid}.support-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.support-detail-item{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:6px;padding:12px;display:grid}.support-detail-item strong{overflow-wrap:anywhere;min-width:0}@media (max-width:980px){.support-hero,.support-doc-layout,.support-form-layout,.support-admin-layout{grid-template-columns:1fr}.support-doc-index{position:static}.support-action-grid,.support-summary-grid,.support-form-grid,.support-detail-grid,.support-admin-toolbar{grid-template-columns:1fr}}@media (max-width:760px){.support-hero,.support-standalone-header,.support-doc-section,.support-doc-callout,.support-form-side{border-radius:var(--card-radius-sm)}.support-hero-actions,.support-form-actions,.support-status-actions{justify-content:stretch}.support-hero-actions .button,.support-form-actions .button,.support-status-actions .button{width:100%}.support-ticket-card,.support-doc-section,.support-doc-callout{grid-template-columns:1fr}.support-ticket-meta{text-align:left;justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.catalog-card.is-selected{border-color:var(--accent,#2563eb);background:var(--accent-soft,#dbeafe)}.catalog-card.is-selected .catalog-card-icon{color:var(--accent)}.services-type-badge.is-catalog{background:var(--accent-soft,#dbeafe);color:var(--accent,#2563eb)}.visibility-toggle.is-visible{color:#15803d;background:#dcfce7}.modal-backdrop{z-index:900;animation:modal-fade var(--motion-fast) var(--ease-out) both;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-card{background:var(--surface-lowest,#fff);width:100%;max-width:480px;animation:modal-pop var(--motion-base) var(--ease-out) both;border-radius:16px;flex-direction:column;display:flex;box-shadow:0 16px 42px #0f172a2e}.modal-card.pp-modal-card{overscroll-behavior:contain;max-height:min(90dvh,820px);overflow-y:auto}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.985)}}.modal-header{z-index:1;background:var(--surface-lowest,#fff);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex;position:sticky;top:0}.modal-header h3{color:var(--text);font-size:1rem;font-weight:600}.modal-close{background:var(--surface-container,#eceef0);width:36px;height:36px;color:var(--muted);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-body{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@media (max-width:640px){.modal-backdrop.pp-modal-backdrop{align-items:flex-end;padding:0}.modal-card.pp-modal-card{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90dvh;overflow-y:auto}.modal-card.pp-modal-card:before{content:"";background:var(--border);border-radius:2px;width:36px;height:4px;margin:10px auto 0;display:block}.modal-header{border-radius:20px 20px 0 0;padding-top:14px}.modal-body{padding:16px 20px 32px}.modal-actions{flex-direction:column;gap:10px}.modal-actions .button{justify-content:center;width:100%;min-height:46px}}.pp-alert-message{color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.pp-alert-message--error{color:var(--danger);font-weight:700}.pp-alert-message--warning{color:var(--warning,#b45309);font-weight:600}.pp-action-feedback-card{max-width:420px}.pp-action-feedback-body{text-align:center;align-items:center;padding-top:10px}.pp-action-feedback-icon{background:color-mix(in srgb, var(--danger) 12%, transparent);width:56px;height:56px;color:var(--danger);box-shadow:0 0 0 6px color-mix(in srgb, var(--danger) 6%, transparent);border-radius:50%;justify-content:center;align-items:center;display:flex}.pp-action-feedback-message{color:var(--text);max-width:36ch;margin:0;font-size:.97rem;line-height:1.55}.pp-action-feedback-body .modal-actions{justify-content:center;width:100%;margin-top:8px}.portal-realtime-toast.is-confirmed{border-left-color:#10b981}.portal-realtime-toast.is-confirmed .portal-realtime-toast-head{color:#047857}.analytics-insight.severity-warn{border-color:color-mix(in srgb, var(--warning-color,#f59e0b) 50%, transparent);background:color-mix(in srgb, var(--warning-color,#f59e0b) 14%, transparent);color:color-mix(in srgb, var(--warning-color,#b45309) 90%, var(--text))}.analytics-insight.severity-good{border-color:color-mix(in srgb, var(--success,#10b981) 50%, transparent);background:color-mix(in srgb, var(--success,#10b981) 14%, transparent);color:color-mix(in srgb, var(--success,#047857) 90%, var(--text))}.analytics-insight.severity-info{border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.analytics-stars .filled{color:#f59e0b;fill:#f59e0b}@media print{.app-sidebar,nav{display:none!important}}.skeleton{gap:10px;display:grid}.skeleton-line{background:linear-gradient(100deg, var(--surface-2) 40%, var(--surface-3) 50%, var(--surface-2) 60%);background-size:200% 100%;border-radius:6px;height:14px;animation:1.4s infinite skeleton-shimmer}.skeleton-line:nth-child(2n){width:86%}.skeleton-line:nth-child(3n){width:72%}.skeleton--block .skeleton-line{border-radius:10px;height:100%;min-height:48px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-card,.user-menu__panel{animation:none}.skeleton-line{background:var(--surface-2);animation:none}.button,input:not([type=checkbox]),select,.date-picker-trigger,.time-picker-trigger{transition:none}}.shop-profile-status.is-active{color:#15803d;background:#16a34a24;border-color:#16a34a52}.shop-profile-stat-value.is-muted{color:var(--muted);font-weight:700}.address-picker{flex-direction:column;gap:12px;display:flex}.address-picker-search{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.address-picker-search input{border:1px solid var(--card-border,#d9d4cc);background:var(--surface,#fff);min-width:0;font:inherit;border-radius:10px;flex:220px;padding:9px 12px 9px 34px}.address-picker-map{border:1px solid var(--card-border,#d9d4cc);z-index:0;border-radius:12px;width:100%;height:320px;overflow:hidden}.address-picker-geo-error{color:var(--danger,#dc2626);margin:0;font-size:.84rem}.address-picker-hint{color:var(--text-muted,#8a8178);align-items:center;gap:6px;margin:0;font-size:.84rem;display:flex}.address-picker-hint.is-set{color:var(--success,#2e7d32)}.address-picker-map-error{color:var(--warning-text,#8a5a00);background:var(--warning-soft,#fdf3e0);border:1px solid var(--warning-border,#f0d9ae);border-radius:10px;align-items:flex-start;gap:6px;margin:0;padding:8px 10px;font-size:.84rem;line-height:1.45;display:flex}.address-picker-map-error svg{flex:none;margin-top:2px}.address-picker-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.address-picker-full textarea{resize:vertical;border:1px solid var(--card-border,#d9d4cc);background:var(--surface,#fff);width:100%;font:inherit;border-radius:10px;padding:9px 12px}@media (max-width:640px){.address-picker-fields{grid-template-columns:1fr}}.merchant-picker-list>li>button.is-active{background:var(--accent-soft)}@media (max-width:768px){.staff-schedule-day-row.is-off{opacity:.65;background:var(--surface-2)}}.booking-staff-price{color:var(--accent,#c8853b);margin-top:4px;font-size:.95rem;font-weight:700}.pp-legal-shell{background:var(--background);min-height:100dvh;color:var(--text)}.pp-legal-header{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem max(1rem,50% - 31rem);display:flex;position:sticky;top:0}.pp-legal-header>div{align-items:center;gap:.5rem;display:flex}.pp-legal-brand{color:var(--text);font-weight:850;text-decoration:none}.pp-legal-document{width:min(100% - 2rem,58rem);margin:0 auto;padding:2rem 0 4rem}.pp-legal-back{color:var(--text-muted);align-items:center;gap:.35rem;margin-bottom:1.5rem;display:inline-flex}.pp-legal-title{border-bottom:1px solid var(--border);align-items:flex-start;gap:.8rem;padding-bottom:1.25rem;display:flex}.pp-legal-title>svg{color:var(--accent)}.pp-legal-title span{color:var(--text-muted);font-size:.78rem;font-weight:700}.pp-legal-title h1{margin:.15rem 0 0;font-size:max(1.65rem,min(3vw,2.35rem))}.pp-legal-content>p,.pp-legal-section p{color:var(--text-muted);line-height:1.75}.pp-legal-section{padding-top:1.15rem}.pp-legal-section h2{margin:0 0 .35rem;font-size:1.05rem}.pp-legal-section p{white-space:pre-line;margin:0}.modal-card.pp-legal-modal-card{max-width:min(52rem,100vw - 2rem)}.pp-legal-modal-body{padding-top:1rem}.pp-legal-modal-body .pp-legal-content{min-width:0}.pp-legal-modal-body .pp-legal-title h1{font-size:max(1.35rem,min(2.5vw,1.85rem))}.pp-legal-embed{gap:.65rem;padding-top:1rem;display:grid}.pp-legal-embed iframe{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;width:100%;min-height:min(62dvh,42rem)}.pp-legal-embed>p{color:var(--text-muted);margin:0;font-size:.78rem}.pp-legal-embed a{color:var(--accent-strong,var(--accent));font-weight:700}@media (max-width:640px){.pp-legal-header{padding-inline-start:1rem;padding-inline-end:1rem}.pp-legal-document{width:min(100% - 1.25rem,58rem);padding-top:1.25rem}.modal-card.pp-legal-modal-card{max-width:100%}.pp-legal-modal-body{padding-top:.75rem}.pp-legal-embed iframe{min-height:60dvh}}.time-picker-clear{top:50%;border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;font-size:13px;line-height:1;display:grid;position:absolute;transform:translateY(-50%)}.time-picker-clear:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:8px}.time-picker-clear:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:8px}.time-picker-clear:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:8px}.time-picker-clear:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:8px}.time-picker-clear:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:8px}.time-picker-clear:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:8px}.time-picker-clear:hover{border-color:var(--accent);color:var(--accent)}.time-picker-clear-row{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:4px}.time-picker-option--clear{color:var(--muted);font-weight:600}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}select option{background-color:var(--surface-2);color:var(--text)}.pp-language-select{border:1px solid var(--border);min-height:40px;color:var(--muted);background:var(--surface);border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.pp-language-select:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.pp-language-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;max-width:10rem;min-height:38px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0 20px 0 0;font-size:.82rem;font-weight:750}.pp-language-select-chevron{pointer-events:none;margin-inline-start:-18px}[dir=rtl] .pp-language-select select{padding:0 0 0 20px}:root{color:#1f1b16;--bg:#faf7f2;--bg-strong:#f1ece3;--surface:#fff;--surface-2:#f7f4ee;--surface-3:#ebe6dc;--text:#1f1b16;--primary:#231f19;--muted:#6f6a60;--border:#e5dfd3;--border-strong:#cfc7b8;--accent:#b45309;--accent-strong:#92400e;--accent-soft:#f9efe0;--on-accent:#fff;--teal:#006c51;--teal-soft:#d8f4ec;--warning:#9a5b00;--warning-soft:#f7ead6;--danger:#ba1a1a;--danger-soft:#ffebee;--success:#2e7d32;--success-soft:#e8f5e9;--sidebar:#16181d;--sidebar-surface:#22252c;--sidebar-text:#f3efe7;--sidebar-muted:#a09a8e;--pp-sidebar-accent:#f59e0b;--shadow:0 16px 36px #231c121a;--shadow-tight:0 4px 14px #231c1212;--card-bg:#fff;--card-border:#bab09e8c;--card-border-hover:#92400e59;--card-shadow:0 4px 10px #231c120d;--card-shadow-hover:0 10px 24px #231c1217;--font-display:"Lora", Georgia, "Times New Roman", serif;--accent-gradient:linear-gradient(135deg, #d97706 0%, #f59e0b 100%);--gold-hairline:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 50%, transparent);--elev-1:0 1px 2px #231c120f, 0 2px 8px #231c120d;--elev-2:0 4px 14px #231c1214;--elev-3:0 16px 40px #231c1224;background:#faf7f2}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.pp-hairline{background:var(--gold-hairline);border:0;height:1px;margin:0}.pp-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:.72rem;font-weight:700;display:inline-flex}@keyframes pp-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-sidebar{background:linear-gradient(180deg, #f59e0b12, transparent 220px), var(--sidebar);border-right:1px solid #ffffff0f;box-shadow:4px 0 24px #140f081f}.primary-nav a{color:var(--sidebar-muted);transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out)}.primary-nav a:hover{color:var(--sidebar-text);background:var(--sidebar-surface)}.primary-nav a.active{color:var(--pp-sidebar-accent);background:color-mix(in srgb, var(--pp-sidebar-accent) 12%, transparent);border-left-color:var(--pp-sidebar-accent);box-shadow:none}.utility-nav{border-top-color:#ffffff14}.app-sidebar-toggle{background:var(--sidebar-surface);color:var(--sidebar-muted);box-shadow:none;transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);border-color:#ffffff1f}.app-sidebar-toggle:hover{color:var(--pp-sidebar-accent);background:color-mix(in srgb, var(--pp-sidebar-accent) 12%, transparent);border-color:color-mix(in srgb, var(--pp-sidebar-accent) 36%, transparent)}.app-workspace{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 280px), var(--bg)}.app-topbar{box-shadow:var(--elev-1);position:relative}.app-topbar .topbar-search{transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.app-topbar .topbar-search:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.app-topbar .topbar-search input:focus-visible{box-shadow:none;border:0}.mobile-bottom-nav{background:var(--sidebar);border-top:1px solid #ffffff14;box-shadow:0 -10px 28px #0a080447}.mobile-bottom-nav a,.mobile-bottom-nav button{color:var(--sidebar-muted);transition:color var(--motion-fast) var(--ease-out);position:relative}.mobile-bottom-nav a:before,.mobile-bottom-nav button:before{content:"";width:28px;height:3px;transition:background var(--motion-fast) var(--ease-out);background:0 0;border-radius:0 0 3px 3px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.mobile-bottom-nav a.active,.mobile-bottom-nav button.active{color:var(--pp-sidebar-accent);background:0 0}.mobile-bottom-nav a.active:before,.mobile-bottom-nav button.active:before{background:var(--accent-gradient)}.mobile-more-item.active{color:var(--pp-sidebar-accent);background:var(--sidebar-raised,#ffffff0d)}.mobile-more-item.active .mobile-more-icon{color:var(--pp-sidebar-accent)}.pp-modal-backdrop,.pp-modal-card{animation:none}.pp-page-transition{min-width:0}.pp-page-header{gap:14px;margin-bottom:4px;display:grid}.pp-page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.pp-page-header-copy{gap:6px;min-width:0;display:grid}.pp-page-header-copy h2{font-size:1.65rem}.pp-page-header-copy p{color:var(--muted);max-width:640px;line-height:1.5}.pp-page-header-actions{flex:none;align-items:center;gap:10px;display:flex}.pp-filter-chip{border:1px solid color-mix(in srgb, var(--accent) 36%, transparent);background:var(--accent-soft);width:-moz-fit-content;width:fit-content;min-height:34px;color:var(--accent-strong);border-radius:999px;align-items:center;gap:10px;padding:0 6px 0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.pp-filter-chip button{width:24px;height:24px;color:inherit;cursor:pointer;transition:background var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.pp-filter-chip button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.login-hero-overlay{background:linear-gradient(200deg,#16181d2e 0%,#16181da8 78%),linear-gradient(20deg,#d9770647,#0000 55%)}.hero-badge{color:#f3efe7;background:#16181d8c;border:1px solid #f59e0b73}.hero-step-icon{color:#221302;background:var(--accent-gradient)}.login-form-wrap,.register-shell .auth-form-header{animation:pp-fade-in var(--motion-base) var(--ease-out) both}.support-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent 60%), var(--surface);position:relative}.support-hero:after{content:"";background:var(--gold-hairline);height:1px;position:absolute;bottom:0;left:0;right:0}.support-action-card{transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.support-action-card:hover{border-color:var(--card-border-hover);box-shadow:var(--elev-2);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.login-form-wrap,.register-shell .auth-form-header{animation:none}.primary-nav a,.app-sidebar-toggle,.app-topbar .topbar-search,.mobile-bottom-nav a,.mobile-bottom-nav button,.pp-filter-chip button,.support-action-card{transition:none}.support-action-card:hover{transform:none}}.pp-public-support-shell{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--accent-soft) 72%, transparent), transparent 34rem), var(--bg);min-height:100vh;padding:max(1rem,min(3vw,2.5rem))}.auth-footer-link>svg{vertical-align:-.18em;margin-inline-end:.2rem;display:inline}.pp-tenant-404{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 72%, transparent) 0, transparent 360px), var(--bg);grid-template-rows:auto minmax(0,1fr);min-height:100vh;padding:24px;display:grid}.pp-tenant-404-topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100%);min-height:64px;margin:0 auto;display:flex}.pp-tenant-404-controls{align-items:center;gap:12px;display:inline-flex}.pp-tenant-404-body{text-align:center;width:min(560px,100%);animation:pp-fade-in var(--motion-base) var(--ease-out) both;align-self:center;justify-items:center;gap:14px;margin:0 auto;padding:24px 0 64px;display:grid}.pp-tenant-404-icon{width:76px;height:76px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid var(--gold-hairline);border-radius:999px;place-items:center;margin-bottom:6px;display:inline-grid}.pp-tenant-404-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:600}.pp-tenant-404-title{font-family:var(--font-display,"Lora", serif);color:var(--text);margin:0;font-size:max(1.6rem,min(4vw,2.2rem));line-height:1.15}.pp-tenant-404-description{max-width:44ch;color:var(--text-muted);margin:0;line-height:1.6}.pp-tenant-404-cta{margin-top:10px}@media (prefers-reduced-motion:reduce){.pp-tenant-404-body{animation:none}}.pp-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.pp-pagination-info{color:var(--muted);font-size:.82rem}.pp-pagination-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-pagination-size{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.pp-pagination-size select{width:auto;min-height:32px;padding:0 8px}.pp-pagination-button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pp-pagination-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.pp-pagination-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pp-pagination-size select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pp-pagination-button:disabled{opacity:.4;cursor:not-allowed}.pp-pagination-page{font-size:.82rem;font-weight:700}@media (max-width:520px){.pp-pagination,.pp-pagination-controls{align-items:stretch}.pp-pagination-info,.pp-pagination-controls{width:100%}.pp-pagination-controls{justify-content:space-between}}[data-app=client] .primary-nav a:hover{transform:translate(3px)}[data-app=client] .client-stitch-stats>div,[data-app=client] .client-stitch-stat{box-shadow:var(--elev-1);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);position:relative;overflow:hidden}[data-app=client] .client-stitch-stats>div:after,[data-app=client] .client-stitch-stat:after{content:"";background:var(--gold-hairline);height:2px;position:absolute;top:0;bottom:auto;left:0;right:0}[data-app=client] .client-stitch-stats>div:hover,[data-app=client] .client-stitch-stat:hover{box-shadow:var(--elev-2);transform:translateY(-2px)}[data-app=client] .client-stitch-stats strong{font-family:var(--font-display)}[data-app=client] .client-stitch-appointment-card,[data-app=client] .client-stitch-favorite-card{transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}[data-app=client] .client-stitch-appointment-card:hover,[data-app=client] .client-stitch-favorite-card:hover{border-color:var(--card-border-hover);box-shadow:var(--elev-2);transform:translateY(-2px)}[data-app=client] .barber-card{transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}[data-app=client] .barber-card:hover{border-color:var(--card-border-hover);box-shadow:var(--elev-2);transform:translateY(-3px)}[data-app=client] .barber-price strong{color:var(--accent-strong)}[data-app=client] .shop-grid>div{min-width:0;display:grid}[data-app=client] .shop-card{height:100%;transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}[data-app=client] .shop-card:hover{border-color:var(--card-border-hover);box-shadow:var(--elev-2);transform:translateY(-2px)}[data-app=client] .favorite-toggle .favorited{color:var(--danger);fill:var(--danger)}[data-app=client] .booking-step-list .active,[data-app=client] .booking-step-list [aria-current=step]{color:var(--accent-strong)}[data-app=client] .booking-branch-grid button,[data-app=client] .booking-service-list button,[data-app=client] .booking-staff-grid button{transition:transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}[data-app=client] .booking-branch-grid button:hover,[data-app=client] .booking-service-list button:hover,[data-app=client] .booking-staff-grid button:hover{box-shadow:var(--elev-1);transform:translateY(-1px)}[data-app=client] .section-tabs a{transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out)}[data-app=client] .section-tabs a.active{color:var(--accent-strong)}[data-app=client] .panel{border-color:var(--card-border);box-shadow:var(--elev-1)}@media (prefers-reduced-motion:reduce){[data-app=client] .client-stitch-stats>div,[data-app=client] .client-stitch-stat,[data-app=client] .client-stitch-appointment-card,[data-app=client] .client-stitch-favorite-card,[data-app=client] .barber-card,[data-app=client] .shop-card,[data-app=client] .booking-branch-grid button,[data-app=client] .booking-service-list button,[data-app=client] .booking-staff-grid button,[data-app=client] .section-tabs a{transition:none}[data-app=client] .client-stitch-stats>div:hover,[data-app=client] .client-stitch-stat:hover,[data-app=client] .client-stitch-appointment-card:hover,[data-app=client] .client-stitch-favorite-card:hover,[data-app=client] .barber-card:hover,[data-app=client] .shop-card:hover,[data-app=client] .booking-branch-grid button:hover,[data-app=client] .booking-service-list button:hover,[data-app=client] .booking-staff-grid button:hover{transform:none}}
