:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f2eb;--surface:#fff;--surface-muted:#eeece4;--text:#20231f;--text-muted:#62675f;--border:#d9d8cf;--border-strong:#bfc1b7;--accent:#2f5b47;--accent-hover:#244a39;--accent-soft:#e2ece6;--danger:#9b2c2c;--danger-soft:#f9e8e6;--success:#275b41;--success-soft:#e4f1e9;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-small:10px;--radius-control:14px;--radius-card:18px;--radius-shell:24px;--navigation-height:76px;background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.public-booking-shell{min-height:calc(100dvh - 60px);padding:12px 16px 48px}.public-booking-locale{width:min(100%,552px);padding:max(12px, env(safe-area-inset-top)) 16px 0;justify-content:flex-end;margin:0 auto;display:flex}.public-booking-content{gap:16px;min-width:0;max-width:520px;margin:0 auto;display:grid}.public-booking-header h1,.public-booking-header p,.public-booking-card h2,.owner-booking-panel h2,.owner-booking-panel p{margin:0}.public-booking-header h1{overflow-wrap:anywhere;font-size:1.7rem}.public-booking-header p:last-child{color:var(--text-muted)}.public-booking-card,.owner-booking-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:14px;min-width:0;padding:18px;display:grid}.public-booking-card h2{font-size:1.1rem}.public-service-list{gap:10px;display:grid}.public-service-card{border:1.5px solid var(--border-strong);background:var(--surface);width:100%;min-height:58px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:13px;gap:3px;padding:12px 14px;display:grid}.public-service-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.public-service-card span{overflow-wrap:anywhere;font-weight:750}.public-service-card small{color:var(--text-muted);overflow-wrap:anywhere}.public-booking-card,.public-booking-alert,.public-booking-confirmation p{overflow-wrap:anywhere}.public-booking-card>*,.public-service-list,.public-service-card,.public-booking-form label{min-width:0}.public-booking-alert{background:var(--danger-soft);color:var(--danger);border-radius:11px;margin:0;padding:14px}.public-booking-retry{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:11px;padding:10px 14px;font-weight:700}.public-booking-confirmation p{margin:0}.public-service-card:disabled,.public-slot:disabled{opacity:.65}.public-date-field{gap:6px;font-weight:700;display:grid}.public-date-field input{border:1px solid var(--border-strong);width:100%;min-height:48px;font:inherit;border-radius:11px;padding:9px 12px}.public-selected-date{color:var(--text-muted);margin:0}.public-slot-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.public-slot{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);font:inherit;text-align:center;cursor:pointer;border-radius:10px;padding:10px;font-weight:700}.public-slot[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.public-booking-form label{gap:6px;font-weight:700;display:grid}.public-booking-form input{border:1px solid var(--border-strong);width:100%;min-height:48px;font:inherit;border-radius:11px;padding:9px 12px}.public-booking-form button[type=submit]{background:var(--accent);color:#fff;min-height:48px;font:inherit;border:0;border-radius:11px;font-weight:700}.public-booking-form button:disabled{opacity:.65}.telegram-mini-layout .public-booking-shell{padding-bottom:max(48px, env(safe-area-inset-bottom))}.telegram-mini-fallback{width:min(100% - 32px,520px);margin:0 auto 24px}.telegram-mini-notice{width:min(100% - 32px,520px);margin:0 auto}.telegram-mini-fallback a,.telegram-mini-layout .public-booking-card>a.public-booking-retry{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.public-booking-note{color:var(--text-muted);margin:0;font-size:.85rem}.owner-booking-panel{margin-top:0}.owner-booking-link,.owner-booking-share{gap:10px;min-width:0;display:grid}.owner-booking-link a{overflow-wrap:anywhere;min-width:0}.owner-booking-link button{width:100%}.online-booking-view{gap:20px;min-width:0;display:grid}.online-booking-heading h1{margin:0}.online-booking-heading p:last-child{color:var(--text-muted);margin-bottom:0}.online-booking-view>.secondary-button{width:100%}.owner-service-links{gap:10px;min-width:0;margin-top:10px;display:grid}.owner-service-links h2,.owner-service-links p{margin:0}.owner-service-links h2{font-size:1.1rem}.owner-service-links>p{color:var(--text-muted)}.owner-service-link{border:1px solid var(--border);border-radius:var(--radius-control);min-width:0}.owner-service-link>summary{overflow-wrap:anywhere;cursor:pointer;align-items:center;min-height:52px;padding:12px;font-weight:750;display:flex}.owner-service-link-content{gap:12px;min-width:0;padding:0 12px 12px;display:grid}.owner-booking-actions{gap:10px;display:grid}.owner-telegram-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:12px;min-width:0;padding:18px;display:grid}.owner-telegram-panel h2,.owner-telegram-panel p{margin:0}.owner-telegram-panel a{overflow-wrap:anywhere}.owner-telegram-panel button{width:100%;min-height:48px}.booking-qr{justify-items:center;gap:12px;min-width:0;display:grid}.booking-qr img{aspect-ratio:1;width:min(100%,320px);height:auto;display:block}.booking-qr .secondary-button{width:100%}.daily-income-card{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.daily-income-card h2,.daily-income-card p{margin:0}.daily-income-card h2{color:var(--text-muted);font-size:.9rem}.daily-income-card .daily-income-amount{margin-top:var(--space-1);font-size:1.6rem;font-weight:700}.daily-income-count{color:var(--text-muted)}*{box-sizing:border-box}body{background:var(--background);min-height:100vh;color:var(--text);margin:0;font-size:1rem;line-height:1.5}a{color:var(--accent);text-underline-offset:3px;font-weight:700}button,input,textarea,select,summary{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #2f5b4747}.product-mark,.section-eyebrow{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700}.auth-page,.standalone-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));place-items:start center;display:grid}.auth-card,.status-card{border:1px solid var(--border);border-radius:var(--radius-shell);background:var(--surface);width:min(100%,420px);padding:24px 20px}.auth-heading{margin-bottom:24px}.auth-locale{justify-content:flex-end;margin-bottom:12px;display:flex}.auth-heading h1,.status-card h1,.today-heading h1,.calendar-heading h1,.services-heading h1,.services-view>h1,.clients-heading h1,.clients-view>h1,.appointment-page-heading h1,.schedule-heading h1,.schedule-page>h1{color:var(--text);margin:0;font-size:clamp(1.75rem,8vw,2.5rem);line-height:1.12}.auth-heading .product-mark,.status-card .product-mark{margin-bottom:10px}.auth-form{gap:16px;display:grid}.auth-pending-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-field{gap:8px;display:grid}.form-field label{font-size:.94rem;font-weight:700}.optional-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.form-field input,.form-field textarea,.form-field select{border:1.5px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;min-width:0;min-height:50px;color:var(--text);padding:11px 14px;font-size:1rem}.form-field textarea{resize:vertical}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:#b8b9af}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent)}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:var(--danger)}.form-field input:disabled,.form-field textarea:disabled,.form-field select:disabled{background:var(--surface-muted);color:var(--text-muted)}.field-error,.compact-error{color:var(--danger);margin:0;font-size:.86rem;line-height:1.4}.form-error,.success-message{border-radius:12px;padding:12px 14px;font-size:.92rem;line-height:1.45}.form-error{background:var(--danger-soft);color:#702020}.form-error p,.success-message,.compact-error{margin:0}.form-error a{margin-top:8px;display:inline-block}.success-message{background:var(--success-soft);color:var(--success)}.primary-button,.secondary-button,.text-button,.danger-button{border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;min-height:48px;font-weight:750;display:inline-flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;width:100%}.page-primary-action{flex:none;width:auto;padding:0 18px;text-decoration:none}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.text-button:active:not(:disabled),.danger-button:active:not(:disabled),.bottom-navigation a:active{transform:translateY(1px)}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 18px;text-decoration:none}.secondary-button:hover:not(:disabled){background:var(--surface-muted);border-color:#aeb1a7}.text-button{min-width:56px;color:var(--accent);background:0 0;border:0;padding:0 8px}.primary-button:disabled,.secondary-button:disabled,.text-button:disabled,.danger-button:disabled{cursor:wait;opacity:.58}summary:active{background-color:var(--surface-muted)}.password-control{position:relative}.password-control input{padding-right:92px}.password-toggle{min-width:76px;min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:0 10px;font-weight:700;position:absolute;top:3px;right:4px}.password-toggle:hover{background:var(--accent-soft)}.auth-alternative{color:var(--text-muted);text-align:center;margin:24px 0 0}.app-shell{background:var(--surface);width:min(100%,760px);min-height:100dvh;margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:58px;padding:max(7px, env(safe-area-inset-top)) 16px 7px;border-bottom:1px solid var(--border);display:flex}.app-brand{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:800}.app-header-actions{align-items:center;gap:var(--space-2);display:flex}.locale-switcher-wrap{position:relative}.locale-switcher{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:2px;padding:2px;display:inline-flex}.locale-switcher button{min-width:48px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 8px;font-size:.8rem;font-weight:750}.locale-switcher button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0000001a}.locale-switcher button:disabled{cursor:wait;opacity:1}.locale-switcher-error{z-index:11;background:var(--danger-soft);width:max-content;max-width:min(80vw,240px);color:var(--danger);border-radius:10px;margin:4px 0 0;padding:8px 10px;font-size:.8rem;position:absolute;right:0}.app-content{padding:24px 16px calc(var(--navigation-height) + 24px + env(safe-area-inset-bottom))}.bottom-navigation{z-index:10;width:min(100%,760px);min-height:calc(var(--navigation-height) + env(safe-area-inset-bottom));padding:8px 8px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-navigation a{border-radius:var(--radius-control);min-height:52px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.78rem;text-decoration:none;display:flex}.bottom-navigation a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:800}.today-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.today-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.today-heading-actions .secondary-button{min-height:48px}.today-heading,.calendar-heading,.clients-heading,.services-heading,.appointment-page-heading{flex-wrap:wrap}.clients-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.calendar-view{gap:20px;display:grid}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.calendar-heading .section-eyebrow{margin-bottom:8px}.calendar-day-navigation{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);text-align:center;grid-template-columns:repeat(3,1fr);align-items:center;gap:8px;min-height:48px;padding:4px;display:grid}.calendar-day-navigation a,.calendar-day-navigation span{border-radius:11px;justify-content:center;align-items:center;min-height:44px;font-size:.82rem;text-decoration:none;display:flex}.calendar-day-navigation span{color:var(--text-muted);opacity:.55}.calendar-day-navigation .calendar-today-link{color:var(--text-muted);font-weight:700}.calendar-date-picker{gap:8px;display:grid}.calendar-date-picker>label{font-size:.9rem;font-weight:700}.calendar-date-picker>div{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.calendar-date-picker input{border:1.5px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;padding:10px 13px}.calendar-invalid-date{min-height:420px}.today-heading .section-eyebrow{margin-bottom:8px}.empty-state{border:1px solid var(--border);border-radius:var(--radius-card);text-align:center;background:#fbfaf7;align-content:center;place-items:center;min-height:220px;padding:28px 20px;display:grid}.empty-state-mark{background:var(--accent-soft);border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid}.empty-state-mark span{border:2px solid var(--accent);width:22px;height:22px;box-shadow:inset 0 5px 0 var(--accent-soft);border-radius:7px}.empty-state h2,.empty-state h1{margin:0;font-size:1.35rem;line-height:1.25}.empty-state>p{color:var(--text-muted);margin:10px 0 0;line-height:1.55}.empty-state .empty-state-helper{border-top:1px solid var(--border);max-width:290px;margin-top:28px;padding-top:20px;font-size:.88rem}.services-view{gap:24px;display:grid}.services-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.services-heading>.secondary-button{width:100%}.services-heading .section-eyebrow{margin-bottom:8px}.create-service-panel,.service-card,.service-archive-section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.create-service-panel>summary,.service-details>summary,.service-archive-section>summary{cursor:pointer;min-height:48px;color:var(--accent);align-items:center;font-weight:750;list-style:none;display:flex}.create-service-panel>summary{background:var(--accent-soft);border-radius:17px;padding:0 18px}.create-service-panel[open]>summary{border-radius:17px 17px 0 0}.create-service-panel>summary:before{content:"+";margin-right:9px;font-size:1.25rem}.service-form{gap:18px;padding:20px 18px;display:grid}.input-with-suffix{position:relative}.input-with-suffix input{padding-right:58px}.input-with-suffix span{color:var(--text-muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.field-hint{color:var(--text-muted);margin:0;font-size:.82rem}.services-empty-state{min-height:220px}.service-sections{gap:24px;display:grid}.service-sections section>h2{margin:0 0 12px;font-size:1.05rem}.service-cards{gap:12px;display:grid}.service-card{overflow:hidden}.service-card-summary{justify-content:space-between;align-items:start;gap:12px;padding:16px;display:flex}.service-card-summary h3,.service-card-summary p{margin:0}.service-card-summary>div{min-width:0}.service-card-summary h3{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.35}.service-card-summary p{color:var(--text-muted);margin-top:5px;font-size:.9rem}.service-card-summary strong{color:var(--accent);white-space:nowrap;flex:none}.service-details{border-top:1px solid var(--border)}.service-details>summary{padding:0 18px}.service-booking-link>div{gap:10px;min-width:0;padding:0 18px 16px;display:grid}.service-booking-link a{overflow-wrap:anywhere}.service-booking-link button{width:100%}.service-archive-section>summary{padding:0 18px}.service-archive-section>.service-cards,.service-archive-section>.section-empty{margin:0 12px 12px}.service-danger-zone>summary{color:var(--danger)}.service-danger-zone>p{color:var(--text-muted);margin:0;padding:0 18px 14px;font-size:.88rem;line-height:1.45}.service-state-form{gap:10px;padding:0 18px 18px;display:grid}.service-state-form>.secondary-button{width:100%}.service-card>.service-state-form{padding-top:0}.section-empty,.safe-error-copy,.service-loading{color:var(--text-muted);margin:0;line-height:1.5}.clients-view{gap:24px;display:grid}.clients-heading .section-eyebrow{margin-bottom:8px}.create-client-panel,.client-card,.client-archive-section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.create-client-panel>summary,.client-details>summary,.client-archive-section>summary{cursor:pointer;min-height:48px;color:var(--accent);align-items:center;font-weight:750;list-style:none;display:flex}.create-client-panel>summary{background:var(--accent-soft);border-radius:17px;padding:0 18px}.create-client-panel>summary:before{content:"+";margin-right:9px;font-size:1.25rem}.client-form{gap:18px;padding:20px 18px;display:grid}.clients-empty-state{min-height:220px}.client-directory{gap:24px;display:grid}.client-directory section>h2{margin:0 0 12px;font-size:1.05rem}.client-search input{min-height:48px}.client-cards{gap:12px;display:grid}.client-card{overflow:hidden}.client-card-summary{gap:5px;padding:16px;display:grid}.client-card-summary h3{overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1.35}.client-card-summary a{width:fit-content;color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.client-card-summary h3 a{min-height:48px;color:var(--accent);font-size:inherit;align-items:center;display:inline-flex}.client-detail>.client-card{gap:12px;padding:18px;display:grid}.client-detail>.client-card>.client-details{margin:0 -18px}.client-detail>.client-card>.client-state-form{margin:0 -18px -18px}.client-detail>.client-card>.primary-button,.client-detail>.client-card>a[href^=tel\:]{align-items:center;width:fit-content;min-height:48px;display:inline-flex}.client-detail>section:not(.client-card){gap:12px;display:grid}.client-detail>section>h2{margin:0;font-size:1.05rem}.client-activity-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:6px;padding:16px;display:grid}.client-activity-card>a{min-height:48px;color:var(--accent);gap:4px;display:grid}.client-activity-card>p{color:var(--text-muted);margin:0}.client-note-preview{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:.88rem;line-height:1.4;display:-webkit-box;overflow:hidden}.client-details{border-top:1px solid var(--border)}.client-details>summary,.client-archive-section>summary{padding:0 18px}.client-danger-zone>summary{color:var(--danger)}.client-danger-zone>p{color:var(--text-muted);margin:0;padding:0 18px 14px;font-size:.88rem;line-height:1.45}.client-state-form{gap:10px;padding:0 18px 18px;display:grid}.client-state-form>.secondary-button{width:100%}.client-card>.client-state-form{border-top:1px solid var(--border);padding-top:18px}.client-archive-section>.client-cards,.client-archive-section>.section-empty{margin:0 12px 12px}.client-loading{border:1px solid var(--border);background:var(--surface-muted);min-height:240px;color:var(--text-muted);border-radius:18px;padding:28px}.service-loading{border:1px solid var(--border);background:var(--surface-muted);border-radius:18px;min-height:240px;padding:28px}.status-card h1{font-size:clamp(1.8rem,8vw,2.35rem)}.status-card>p:not(.product-mark){color:var(--text-muted);margin:18px 0 0;line-height:1.55}.status-actions{gap:12px;margin-top:26px;display:grid}.logout-control{gap:6px;display:grid}.logout-control:not(.logout-control-compact) .secondary-button{width:100%}.logout-control-compact{justify-items:end}.logout-control-compact .compact-error{text-align:right;max-width:180px}.appointment-page,.appointment-detail{gap:20px;display:grid}.appointment-page-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.appointment-page-heading h1{margin:8px 0 0;line-height:1.12}.back-link{flex:none;align-items:center;min-height:44px;display:inline-flex}.timezone-hint{color:var(--text-muted);margin:-12px 0 0;font-size:.84rem}.appointment-form{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:16px;min-width:0;padding:18px 16px;display:grid}.fast-booking-form{gap:20px}.fast-booking-form .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.booking-client-picker,.booking-service-picker,.booking-date-picker{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.booking-client-picker>legend,.booking-service-picker>legend,.booking-date-picker>legend{margin-bottom:2px;font-size:.94rem;font-weight:750}.booking-client-picker[aria-invalid=true],.booking-service-picker[aria-invalid=true],.booking-date-picker[aria-invalid=true]{border:1px solid var(--danger);border-radius:var(--radius-control);padding:8px}.booking-client-options,.booking-service-options{gap:8px;display:grid}.booking-selected-client{background:var(--accent-soft);border:1px solid #c9d9cf;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 12px;display:grid}.booking-selected-client>span{color:var(--text-muted);grid-column:1/-1;font-size:.78rem;font-weight:700}.booking-selected-client>strong{overflow-wrap:anywhere;min-width:0}.booking-selected-client>small{color:var(--text-muted);white-space:nowrap;align-self:center}.booking-client-options{overscroll-behavior:contain;max-height:248px;overflow-y:auto}.booking-client-option,.booking-service-option,.booking-date-option{border:1.5px solid var(--border-strong);background:var(--surface);min-height:48px;color:var(--text);cursor:pointer;border-radius:13px;padding:10px 12px}.booking-client-option,.booking-service-option{text-align:left;gap:2px;width:100%;display:grid}.booking-service-option{grid-template-columns:minmax(0,1fr) auto;align-items:center}.booking-client-option>span,.booking-service-option>span{overflow-wrap:anywhere;min-width:0;font-weight:750}.booking-client-option small,.booking-service-option small{color:var(--text-muted)}.booking-service-option small{grid-column:1}.booking-service-option strong{white-space:nowrap;grid-area:1/2/span 2}.booking-client-option:hover,.booking-service-option:hover,.booking-date-option:hover{border-color:var(--accent)}.booking-client-option[aria-checked=true],.booking-service-option[aria-checked=true],.booking-date-option[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.booking-picker-empty{border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-muted);margin:0;padding:13px 14px}.booking-quick-client{gap:10px;padding-top:4px;display:grid}.booking-quick-client>p{color:var(--text-muted);margin:0;font-size:.9rem}.booking-quick-client>.secondary-button{width:100%}.quick-client-fields{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);gap:14px;padding:14px;display:grid}.booking-date-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.booking-date-option{overflow-wrap:anywhere;font-weight:700}.booking-custom-date{padding-top:2px}.appointment-time-fields{gap:12px;display:grid}.current-appointment-time{border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-muted);margin:0;padding:12px 14px;font-size:.9rem}.current-appointment-time strong{color:var(--text)}.slot-picker{border:0;min-width:0;margin:0;padding:0}.slot-picker legend{margin-bottom:10px;font-size:.9rem;font-weight:700}.slot-duration{color:var(--text-muted);margin:0 0 10px;font-size:.9rem}.slot-picker-message{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);color:var(--text-muted);margin:0;padding:14px;line-height:1.45}.slot-picker-message p{margin:0 0 10px}.slot-options{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.slot-groups,.slot-group{gap:10px;display:grid}.slot-groups{gap:16px}.slot-result-count,.slot-group h3{margin:0}.slot-result-count{color:var(--text-muted);font-size:.88rem}.slot-group h3{font-size:.9rem}.slot-option-control{min-width:0;position:relative}.slot-option-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.slot-option{border:1.5px solid var(--border-strong);background:var(--surface);min-height:48px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:9px 10px;font-weight:750;display:flex}.slot-option:hover{border-color:var(--accent)}.slot-option-input:checked+.slot-option{border-color:var(--accent);background:var(--accent);color:#fff}.slot-option-input:focus-visible+.slot-option{outline-offset:3px;outline:3px solid #2f5b4747}.slot-picker[aria-invalid=true] .slot-options{border:1px solid var(--danger);border-radius:14px;padding:3px}.booking-note-disclosure{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.booking-note-disclosure>summary{min-height:48px;color:var(--accent);cursor:pointer;align-items:center;padding:0 14px;font-weight:750;display:flex}.booking-note-disclosure>.form-field{padding:0 14px 14px}.booking-summary{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);padding:14px}.booking-summary h2{margin:0 0 10px;font-size:1rem}.booking-summary dl{gap:8px;margin:0;display:grid}.booking-summary dl div{grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);gap:10px;display:grid}.booking-summary dt{color:var(--text-muted)}.booking-summary dd{overflow-wrap:anywhere;margin:0;font-weight:650}.fast-booking-action-alert{scroll-margin-bottom:calc(var(--navigation-height) + 112px + env(safe-area-inset-bottom))}.fast-booking-submit-bar{z-index:5;bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff5;gap:8px;margin:0 -8px -10px;padding:10px 8px;display:grid;position:sticky;box-shadow:0 -8px 18px #20231f14}.fast-booking-disabled-reason{color:var(--text-muted);text-align:center;margin:0;font-size:.84rem}.fast-booking-form :is(input[type=search],input[type=text],input[type=tel],input[type=date],textarea){scroll-margin-bottom:calc(var(--navigation-height) + 112px + env(safe-area-inset-bottom))}@supports selector(.fast-booking-form:has(textarea:focus)){.fast-booking-form:has(:is(input[type=search],input[type=text],input[type=tel],input[type=date],textarea):focus) .fast-booking-submit-bar{position:static}}.prerequisite-callout{border-radius:var(--radius-control);background:var(--accent-soft);color:var(--text);border:1px solid #c9d9cf;padding:14px}.prerequisite-callout p{margin:0;font-size:.92rem}.prerequisite-links{flex-wrap:wrap;gap:8px 16px;margin-top:8px;display:flex}.appointment-list{gap:12px;display:grid}.appointment-card{border:1px solid var(--border);border-left:5px solid var(--accent);background:var(--surface);min-width:0;color:var(--text);border-radius:17px;grid-template-columns:minmax(96px,auto) minmax(0,1fr);align-items:start;gap:14px;padding:15px;text-decoration:none;display:grid}.appointment-time-range{min-width:0;color:var(--accent);gap:3px;font-size:.98rem;font-weight:800;line-height:1.35;display:grid}.appointment-time-accessible{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.appointment-time-values{white-space:nowrap}.appointment-end-date{color:var(--text-muted);font-size:.72rem;font-weight:650;line-height:1.35}.appointment-card-content{min-width:0}.appointment-card h2,.appointment-card p{margin:0}.appointment-card h2{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.35}.appointment-card .appointment-service-name{color:var(--text-muted);overflow-wrap:anywhere;margin-top:5px;font-size:.9rem}.appointment-card-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;display:flex}.appointment-status{background:var(--accent-soft);width:fit-content;color:var(--accent);border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:750}.appointment-note-indicator{color:var(--text-muted);font-size:.78rem;font-weight:650}.status-completed{background:#fafafa;border-left-color:#6e756f}.status-completed .appointment-status{color:#4c514d;background:#eceeec}.status-cancelled{border-left-color:var(--danger);background:#fcf9f8}.status-cancelled .appointment-time-range,.status-cancelled h2,.status-cancelled .appointment-service-name,.status-cancelled .appointment-note-indicator{color:var(--text-muted)}.status-cancelled .appointment-status{background:var(--danger-soft);color:var(--danger)}.status-no_show{background:#faf9f7;border-left-color:#8a8178}.status-no_show .appointment-time-range,.status-no_show h2,.status-no_show .appointment-service-name,.status-no_show .appointment-note-indicator{color:var(--text-muted)}.status-no_show .appointment-status{color:#5f574f;background:#eeeae5}.today-empty-state{min-height:220px}.empty-state-cta{max-width:240px;margin-top:24px;text-decoration:none}.appointment-summary,.appointment-edit-panel{border:1px solid var(--border);border-left:5px solid var(--accent);background:var(--surface);border-radius:18px;padding:20px}.appointment-created-success{border-radius:var(--radius-card);background:var(--success-soft);color:var(--success);border:1px solid #b9d5c4;padding:16px}.appointment-created-success h2{margin:0;font-size:1.15rem}.appointment-created-actions{gap:8px;margin-top:14px;display:grid}.appointment-summary h2{overflow-wrap:anywhere;margin:14px 0 5px}.appointment-summary dl{gap:14px;margin:22px 0 0;display:grid}.appointment-date{display:block}.appointment-time{color:var(--text-muted);font-size:.9rem;font-weight:600}.appointment-summary dl div{grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr);gap:14px;display:grid}.appointment-summary dt{color:var(--text-muted)}.appointment-summary dd{overflow-wrap:anywhere;margin:0;font-weight:650}.appointment-note{white-space:pre-wrap;overflow-wrap:anywhere}.appointment-edit-panel{padding:0;overflow:hidden}.appointment-edit-panel>summary{min-height:52px;color:var(--accent);cursor:pointer;padding:0 18px;font-weight:750}.appointment-edit-panel .appointment-form{border:0;border-top:1px solid var(--border);border-radius:0}.appointment-state-actions,.appointment-state-form{gap:10px;display:grid}.danger-button{background:var(--surface);width:100%;min-height:48px;color:var(--danger);border:1px solid #e0b9b5;padding:0 18px}.danger-button:hover:not(:disabled){background:var(--danger-soft)}.schedule-warning{border-radius:var(--radius-control);background:var(--danger-soft);overflow-wrap:anywhere;border:1px solid #d7aaa5;gap:10px;padding:14px;display:grid}.schedule-warning p{margin:0}.calendar-day-state{color:var(--text-muted);overflow-wrap:anywhere;margin:6px 0 0}.appointment-payment-state{background:var(--surface-muted);white-space:normal;border-radius:999px;align-items:center;min-height:28px;padding:2px 8px;display:inline-flex}.schedule-page,.schedule-section,.work-schedule-form,.schedule-exception-manager,.schedule-exception-form,.schedule-exception-list-section{min-width:0;display:grid}.schedule-page{gap:32px}.schedule-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.schedule-heading .section-eyebrow{margin-bottom:8px}.schedule-section{gap:18px}.schedule-section+.schedule-section{border-top:1px solid var(--border);padding-top:30px}.schedule-section-heading h2,.schedule-section-heading p,.schedule-exception-list-section h3{margin:0}.schedule-section-heading h2{font-size:1.3rem}.schedule-section-heading p{color:var(--text-muted);margin-top:6px}.work-schedule-form,.schedule-exception-form{gap:16px}.schedule-setup-note,.schedule-exception-explanation,.schedule-success,.schedule-loading{border-radius:var(--radius-control);margin:0;padding:14px;line-height:1.5}.schedule-setup-note,.schedule-exception-explanation,.schedule-loading{background:var(--surface-muted);color:var(--text-muted)}.schedule-success{background:var(--success-soft);color:var(--success);gap:8px;display:grid}.schedule-success p{margin:0}.schedule-weekdays,.schedule-intervals,.schedule-exception-list{gap:12px;min-width:0;display:grid}.schedule-day,.schedule-custom-hours,.schedule-exception-kind{border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;margin:0;padding:14px}.schedule-day>legend,.schedule-custom-hours>legend,.schedule-exception-kind>legend{padding:0 6px;font-weight:800}.schedule-day[aria-invalid=true],.schedule-custom-hours[aria-invalid=true],.schedule-exception-kind[aria-invalid=true],.schedule-weekdays[aria-invalid=true]{border-color:var(--danger)}.schedule-weekdays[aria-invalid=true]{border:1px solid var(--danger);border-radius:var(--radius-control);padding:8px}.schedule-day-toggle,.schedule-exception-kind>label{cursor:pointer;align-items:center;gap:10px;min-height:48px;font-weight:700;display:flex}.schedule-day-toggle input,.schedule-exception-kind input{width:20px;height:20px;accent-color:var(--accent);margin:0}.schedule-closed-label{color:var(--text-muted);margin:4px 0 0 30px;font-size:.9rem}.schedule-intervals{margin-top:10px}.schedule-interval{border:1px solid var(--border);background:#fbfaf7;border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid}.schedule-time-fields{gap:10px;min-width:0;display:grid}.schedule-time-fields label{min-width:0;color:var(--text-muted);gap:5px;font-size:.85rem;font-weight:700;display:grid}.schedule-time-fields input{border:1.5px solid var(--border);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--text);border-radius:11px;padding:9px 10px}.schedule-time-fields input[aria-invalid=true]{border-color:var(--danger)}.schedule-remove-interval,.schedule-add-interval{width:100%}.schedule-row-error{grid-column:1/-1}.schedule-exception-manager{gap:26px}.schedule-custom-hours{gap:12px;display:grid}.schedule-exception-list-section{gap:12px}.schedule-exception-list-section h3{font-size:1.05rem}.schedule-exception-card{border:1px solid var(--border);border-radius:var(--radius-card);gap:14px;min-width:0;padding:16px;display:grid}.schedule-exception-card>div:first-child{gap:3px;display:grid}.schedule-exception-card time{font-weight:800}.schedule-exception-card strong{color:var(--accent);font-size:.9rem}.schedule-exception-card p{color:var(--text-muted);overflow-wrap:anywhere;margin:3px 0 0}.schedule-exception-actions{gap:8px;display:grid}.schedule-exception-actions form,.schedule-exception-actions button,.schedule-required-message .secondary-button{width:100%}.cancel-confirmation,.no-show-confirmation{border-radius:var(--radius-card);background:var(--danger-soft);border:1px solid #dfb9b5;padding:16px}.no-show-confirmation{border-color:var(--border);background:var(--surface-muted)}.cancel-confirmation h3,.cancel-confirmation p,.no-show-confirmation h3,.no-show-confirmation p{margin:0}.cancel-confirmation h3,.no-show-confirmation h3{font-size:1.05rem}.cancel-confirmation p,.no-show-confirmation p{color:#702020;margin-top:6px;font-size:.9rem}.no-show-confirmation p{color:var(--text-muted)}.cancel-confirmation-actions{gap:8px;margin-top:14px;display:grid}.terminal-message,.appointment-loading{background:var(--surface-muted);color:var(--text-muted);border-radius:16px;margin:0;padding:20px;line-height:1.5}@media (min-width:420px){.appointment-time-fields{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.cancel-confirmation-actions{grid-template-columns:1fr 1fr}.schedule-time-fields,.schedule-exception-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:359px){.page-primary-action,.today-heading-actions,.today-heading-actions .secondary-button{width:100%}.appointment-card{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:14px 12px}.appointment-summary dl div{grid-template-columns:1fr;gap:2px}.calendar-date-picker>div{grid-template-columns:1fr}}@media (min-width:640px){.auth-page,.standalone-page{place-items:center}.auth-card,.status-card{padding:34px}.app-shell{border:1px solid var(--border);border-radius:24px;min-height:calc(100dvh - 32px);margin-top:16px;margin-bottom:16px;overflow:hidden}.app-header,.app-content{padding-left:28px;padding-right:28px}}
