:root{--bg-primary: #FFFFFF;--bg-secondary: #F5F5F5;--bg-tertiary: #F5F5F5;--bg-elevated: #FFFFFF;--accent: #111111;--accent-dark: #000000;--accent-light: #333333;--accent-subtle: rgba(17, 17, 17, .05);--accent-secondary: rgba(17, 17, 17, .5);--text-primary: #111111;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--border: #E5E7EB;--error: #EF4444;--success: #10B981;--warning: #F59E0B;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px}:root[data-accent=black]{--accent: #111111;--accent-dark: #000000;--accent-light: #333333;--accent-subtle: rgba(17, 17, 17, .05);--accent-secondary: rgba(17, 17, 17, .5)}:root[data-accent=blue]{--accent: #3B82F6;--accent-dark: #2563EB;--accent-light: #60A5FA;--accent-subtle: rgba(59, 130, 246, .05);--accent-secondary: rgba(59, 130, 246, .5)}:root[data-accent=purple],:root[data-accent=lilac]{--accent: #8B5CF6;--accent-dark: #7C3AED;--accent-light: #A78BFA;--accent-subtle: rgba(139, 92, 246, .05);--accent-secondary: rgba(139, 92, 246, .5)}:root[data-accent=pink],:root[data-accent=taffy-pink]{--accent: #EC4899;--accent-dark: #DB2777;--accent-light: #F472B6;--accent-subtle: rgba(236, 72, 153, .05);--accent-secondary: rgba(236, 72, 153, .5)}:root[data-accent=green],:root[data-accent=fern-green]{--accent: #22C55E;--accent-dark: #16A34A;--accent-light: #4ADE80;--accent-subtle: rgba(34, 197, 94, .05);--accent-secondary: rgba(34, 197, 94, .5)}:root[data-accent=red],:root[data-accent=ruby]{--accent: #EF4444;--accent-dark: #DC2626;--accent-light: #F87171;--accent-subtle: rgba(239, 68, 68, .05);--accent-secondary: rgba(239, 68, 68, .5)}:root[data-accent=orange]{--accent: #F97316;--accent-dark: #EA580C;--accent-light: #FB923C;--accent-subtle: rgba(249, 115, 22, .05);--accent-secondary: rgba(249, 115, 22, .5)}:root[data-accent=brown]{--accent: #92400E;--accent-dark: #78350F;--accent-light: #B45309;--accent-subtle: rgba(146, 64, 14, .05);--accent-secondary: rgba(146, 64, 14, .5)}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}html{background:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;-webkit-overflow-scrolling:touch}body.modal-open{overflow:hidden}body.auth-page{font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff}html:has(body.auth-page){background:#fff}body.authenticated,html.authenticated{background:#fff}body.public-booking-page,html.public-booking-page{background:var(--bg-primary);height:100%;overflow:hidden}#root{min-height:100vh;min-height:100dvh}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;font-size:1.125rem;color:var(--text-secondary);background:#000;position:fixed;top:0;right:0;bottom:0;left:0}.loading-logo{font-family:Sora,sans-serif;font-size:2.5rem;font-weight:600;color:#fff;letter-spacing:-.02em}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem 5rem;background:var(--bg-primary)}.auth-card{width:100%;max-width:440px;background:var(--bg-elevated);border-radius:var(--radius-lg);padding:2.5rem 2.5rem 2rem;box-shadow:none;animation:slideUp .4s ease-out}.auth-header{text-align:center;margin-bottom:3rem;display:flex;flex-direction:column;align-items:center;padding-top:2rem;margin-top:-20px}.auth-logo-wrapper{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem;margin-right:-2px}.auth-calendar-icon{color:#111;opacity:1;flex-shrink:0}.auth-logo{font-family:Sora,sans-serif;font-size:3rem;font-weight:600;color:#111;margin:0;letter-spacing:-.03em;line-height:1;text-align:center}.auth-tagline{font-family:Sora,sans-serif;font-size:1rem;font-weight:400;color:#6b6b6b;letter-spacing:.4px;margin:0 auto;line-height:1.5;text-align:center;width:100%}.trademark{font-size:.6em;vertical-align:super;margin-left:.1em;font-weight:400;opacity:1}.auth-form{display:flex;flex-direction:column;gap:1.125rem}.auth-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;gap:.625rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem;width:100%}.password-toggle{position:absolute;right:.875rem;background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#111}.password-toggle:focus{outline:none;color:#111}.auth-trust-text{text-align:center;font-size:.8125rem;color:#6b6b6b;margin-top:-.75rem;font-weight:400}.btn-auth{padding:1.125rem 1.5rem;font-size:1rem;font-weight:600;background:#111;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:52px}.btn-auth:hover:not(:disabled){background:#333;transform:translateY(-1px)}.btn-auth:active:not(:disabled){transform:translateY(0);background:#000}.btn-auth:disabled{opacity:.6;cursor:not-allowed}.auth-divider{position:relative;text-align:center;margin:1.125rem 0 .875rem}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#d0d0d0}.auth-divider span{position:relative;background:#fff;padding:0 1rem;font-size:.875rem;color:#6b6b6b;font-weight:400}.social-buttons{display:flex;gap:1rem;margin-bottom:0}.btn-social{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#fff;border:1px solid #D0D0D0;border-radius:var(--radius);color:#111;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:48px}.btn-social:hover{background:#fafafa;border-color:#111;transform:translateY(-1px)}.btn-social:active{transform:translateY(0)}.btn-link-primary{color:#111!important;font-weight:500;text-decoration:underline}.btn-link-primary:hover{color:#000!important}.btn-link-primary strong{color:#111;font-weight:600}.btn-link-secondary{color:#111!important;font-size:.9rem;font-weight:500}.btn-link-secondary:hover{color:#000!important}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.duration-price-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1rem}.duration-price-field{display:flex;flex-direction:column;gap:8px;min-width:0}.duration-price-label{display:block;font-size:14px;font-weight:500;color:#374151}.duration-price-input{width:100%;box-sizing:border-box;padding:12px 16px;font-size:15px;border:1px solid #E5E7EB;border-radius:8px;outline:none;transition:border-color .2s}.duration-price-row .form-group{gap:.375rem;margin-bottom:0}.duration-price-row .form-group label{font-size:13px;font-weight:500;color:#6b7280;min-height:18px;display:block}.duration-price-row input[type=number]{min-height:38px!important;height:38px;padding:8px 12px!important;font-size:14px;font-weight:500;border-radius:8px;text-align:center}@media (max-width: 640px){.auth-container{padding:1.5rem 1rem}.auth-card{padding:2rem 1.5rem 1.75rem;margin:0 auto}.auth-header{margin-bottom:2rem;padding-top:2.5rem}.auth-form{gap:1rem}.btn-auth{padding:1rem 1.5rem}.auth-divider{margin:1rem 0 .75rem}.auth-footer{margin-top:1.25rem;padding-top:1rem;gap:.5rem}}@media (max-width: 480px){.auth-container{padding:1rem}.auth-card{padding:1.75rem 1.25rem 1.5rem}.auth-header{margin-bottom:1.75rem;padding-top:1.5rem}.auth-logo-wrapper{gap:.625rem}.auth-calendar-icon{width:28px;height:28px}.auth-logo{font-size:2.5rem}.auth-tagline{font-size:.9375rem}.auth-form{gap:.875rem}.btn-auth{padding:1rem 1.5rem}.auth-divider{margin:.875rem 0 .625rem}.social-buttons{flex-direction:column;gap:.75rem}.btn-social{padding:.688rem 1rem}.auth-footer{margin-top:1.125rem;padding-top:.875rem}}.form-group label{font-size:13px;font-weight:500;color:#6b7280;text-align:left}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:8px 12px;font-size:14px;color:#111;transition:all .2s;min-height:38px;max-width:100%}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px #1111110d;background:#fff}.form-group textarea{resize:vertical;font-family:inherit;min-height:56px;line-height:1.5}.form-group input[type=date]{height:48px;min-height:48px;padding:.75rem;font-size:.9375rem;font-weight:500}.error-message{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem}.field-error{color:var(--error);font-size:.8125rem;margin:.25rem 0 0;line-height:1.3}.success-message{background:#6b7c851a;border:1px solid var(--success);color:var(--text-primary);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem}.btn-primary,.btn-secondary,.btn-danger,.btn-link{padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--accent);color:#fff;font-weight:600;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--accent-light);box-shadow:none;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);background:var(--accent-dark);box-shadow:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);box-shadow:none}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-tertiary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background:#ef44441a;color:var(--error);border:1px solid var(--error)}.btn-danger:hover{background:#ef444433}.btn-link{background:transparent;color:var(--accent);padding:.5rem;font-weight:500}.btn-link:hover{color:var(--accent-light);background:transparent}.btn-text{background:transparent;border:none;color:var(--text-secondary);padding:.5rem 0;font-size:.9rem;cursor:pointer;transition:color .2s ease}.btn-text:hover{color:var(--text-primary)}.btn-sm{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.button-group{display:flex;gap:.75rem;margin-top:1rem}.button-group button{flex:1}.booking-confirm-actions{display:flex;flex-direction:column;gap:.75rem}.app-layout{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}.app-main{flex:1}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:600px;display:flex;justify-content:space-around;padding:.25rem 0 calc(.25rem + env(safe-area-inset-bottom,0px));z-index:100;background:#000;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -1px 3px #0000004d}.bottom-nav--calendar{border-top:none;box-shadow:none}.nav-item{display:flex;flex-direction:column;align-items:center;padding:.25rem .625rem;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-sm);min-width:56px;gap:.125rem;color:#fff9}.nav-item.active{color:#fff}.nav-item:active{transform:scale(.94);transition:transform .15s cubic-bezier(.4,0,.2,1)}.nav-icon{font-size:1.25rem;opacity:1;font-weight:300;line-height:1}.nav-label{font-size:.6875rem;font-weight:500;letter-spacing:.02em;line-height:1.15}.page{padding:max(3.25rem,calc(env(safe-area-inset-top) + .75rem)) 1rem 100px;max-width:600px;margin:0 auto;width:100%;animation:fadeIn .3s ease-out}.calendar-page{padding:0 0 calc(100px + env(safe-area-inset-bottom))}.calendar-page.week-mode{display:flex;flex-direction:column;height:calc(100dvh - 68px - env(safe-area-inset-bottom));padding:0!important;overflow:hidden}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.calendar-page .page-header{padding-left:.5rem;padding-right:1rem}.page-header h1{font-size:2.5rem;font-weight:700;flex:1;letter-spacing:-.02em}@media (max-width: 640px){.page-header{margin-bottom:.25rem}.page-header h1{font-size:1.75rem}}.date-label{color:var(--text-secondary);font-size:.938rem}.smart-header{margin-bottom:.625rem;animation:fadeIn .5s ease-out}.greeting-section{display:flex;flex-direction:column;gap:.375rem}.greeting-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.greeting-subtitle{font-size:.938rem;color:var(--text-secondary);font-weight:400}.smart-status-card{background:color-mix(in srgb,var(--bg-secondary) 60%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:8px;padding:8px 12px;margin-bottom:.625rem;display:flex;align-items:center;gap:.625rem;box-shadow:none;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeIn .5s ease-out}.smart-status-card.clickable{cursor:pointer}.smart-status-card.clickable:hover{background:var(--bg-secondary);border-color:var(--border);transform:translateY(-1px);box-shadow:0 1px 3px #0000000f}.smart-status-card.clickable:active{transform:translateY(0)}.status-indicator{width:7px;height:7px;background:var(--accent);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #6b7c8526;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.status-indicator.status-free{background:#10b981;box-shadow:0 0 0 2px #10b98126}.status-indicator.status-upcoming{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.status-indicator.status-busy{background:#ef4444;box-shadow:0 0 0 2px #ef444426}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:.875rem;color:var(--text-primary);font-weight:500;letter-spacing:-.01em;transition:opacity .4s cubic-bezier(.4,0,.2,1)}.onboarding-welcome-card{padding:.875rem 1rem;margin-bottom:.625rem;background:color-mix(in srgb,var(--accent-subtle) 55%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:10px;animation:fadeIn .5s ease-out}.onboarding-welcome-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.onboarding-welcome-subtitle{margin-top:.2rem;color:var(--text-secondary);font-size:.8125rem;line-height:1.35}.session-active-card{background:var(--bg-secondary);border-radius:8px;padding:8px 12px;margin-bottom:.625rem;animation:fadeIn .5s ease-out;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000f;border:2px solid transparent}.session-active-card.clickable{cursor:pointer}.session-active-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.session-active-card.clickable:active{transform:translateY(0)}.just-finished-card{background:#10b98114;border-color:#10b981}.session-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.session-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.938rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em;width:100%;overflow:hidden}.session-bottom-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.session-indicator-wrapper{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.session-indicator-active{width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 0 3px #10b98126;animation:sessionPulse 2s cubic-bezier(.4,0,.6,1) infinite}.session-indicator-success{width:8px;height:8px;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px #10b98126}@keyframes sessionPulse{0%,to{opacity:1;box-shadow:0 0 0 3px #10b98126}50%{opacity:.7;box-shadow:0 0 0 5px #10b9811a}}.session-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;letter-spacing:.025em;flex-shrink:0}.session-strip-time{font-size:.813rem;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em;opacity:.75;flex-shrink:0}.session-strip-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.strip-quick-action{background:none;border:none;padding:0;font-size:.6875rem;font-weight:600;cursor:pointer;flex-shrink:0;color:#000;letter-spacing:.01em;line-height:1.3;opacity:.9;transition:opacity .15s ease}.strip-quick-action:hover{opacity:1}.strip-quick-action:active{opacity:.7}.strip-quick-action:disabled{opacity:.5;cursor:default}.strip-quick-action--complete{color:#000;flex-shrink:0}.next-up-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);animation:fadeIn .6s ease-out;transition:all .3s cubic-bezier(.4,0,.2,1)}.next-up-label{font-size:.75rem;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.625rem}.next-up-content{display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease}.next-up-content:hover{transform:translate(2px)}.next-up-time{font-size:.938rem;font-weight:700;color:var(--text-primary);min-width:75px;letter-spacing:-.01em}.next-up-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.next-up-client{font-size:.938rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.next-up-service{font-size:.813rem;color:var(--text-tertiary);font-weight:400}.today-schedule{margin-bottom:.5rem;padding-bottom:0;animation:fadeIn .6s ease-out}.schedule-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.schedule-title{font-size:.875rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0}.schedule-header-actions{display:flex;align-items:center;gap:1rem}.schedule-text-action{font-size:.875rem;font-weight:600;color:var(--text-primary);background:transparent;border:none;cursor:pointer;padding:.5rem .75rem;display:flex;align-items:center;gap:.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-sm)}.schedule-text-action:hover{background:var(--bg-secondary);color:var(--accent)}.schedule-text-action:active{transform:scale(.98)}.schedule-chevron{width:14px;height:14px;opacity:.6}.schedule-add-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);border-radius:50%;color:var(--accent);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0;flex-shrink:0}.schedule-add-btn svg{width:18px;height:18px;stroke-width:2.5}.schedule-add-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-dark)}.schedule-add-btn:active{transform:scale(.97)}.settings-section .schedule-header{align-items:flex-start;margin-bottom:1rem}.settings-section .schedule-title{text-transform:none;font-size:1.375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.settings-section .schedule-add-btn{margin-top:-5px;margin-right:-8px}@media (max-width: 640px){.settings-section .schedule-title{font-size:1.25rem}}.schedule-scroll-container{max-height:340px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 .25rem .25rem 0}.schedule-scroll-container::-webkit-scrollbar{display:none}.schedule-scroll-container:after{content:"";position:sticky;bottom:0;left:0;right:0;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--bg-primary) 85%);pointer-events:none;opacity:1;margin-top:-48px;z-index:1}@media (max-width: 640px){.schedule-scroll-container{max-height:340px}}.schedule-list{display:flex;flex-direction:column;gap:0;padding-bottom:.25rem;box-sizing:border-box}.schedule-empty-state{padding:2rem 1rem;text-align:center;color:var(--text-tertiary);font-size:.875rem;font-weight:400}.schedule-all-caught-up{padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.375rem;text-align:center;color:var(--text-secondary);font-size:.875rem;font-weight:400}.schedule-all-caught-up--open{gap:1rem}.schedule-all-caught-up-sub{font-size:.813rem;color:var(--text-tertiary)}.schedule-share-link{position:relative;background:none;border:none;padding:0;cursor:pointer;touch-action:manipulation;font-size:.75rem;font-weight:400;color:var(--accent);opacity:.8;letter-spacing:-.005em;transition:opacity .15s ease}.schedule-share-link:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.schedule-share-link:hover,.schedule-share-link:active{opacity:1}.view-full-schedule-link{background:none;border:none;padding:10px 0 2px;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--accent);display:block;width:100%;text-align:left;letter-spacing:-.01em;transition:opacity .15s ease}.view-full-schedule-link:hover{opacity:.75}.dashboard-next-opening-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-radius:8px;box-shadow:none;margin-bottom:.625rem;cursor:pointer;border:1px solid var(--border);width:100%;text-align:left;padding:.75rem .875rem;transition:background .15s ease}.dashboard-next-opening-card:hover,.dashboard-next-opening-card:active{background:var(--bg-secondary)}.dashboard-next-opening-card:disabled{cursor:default}.dashboard-next-opening-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}.dashboard-next-opening-label{font-size:.6875rem;font-weight:600;color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase}.dashboard-next-opening-time{font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.dashboard-next-opening-action{display:flex;align-items:center;gap:.25rem;flex:0 0 auto;font-size:.75rem;font-weight:500;color:var(--text-tertiary)}.schedule-strip{display:flex;flex-direction:column;gap:1px;padding:8px 12px;cursor:pointer;transition:filter .12s;border-radius:8px;border-left:2.5px solid transparent;margin-bottom:.375rem;box-sizing:border-box;width:100%;overflow:hidden}.schedule-strip:last-child{margin-bottom:0}.schedule-strip:hover{filter:brightness(.96)}.schedule-strip:active{filter:brightness(.92)}.schedule-strip.blocked{background-color:#00000008!important;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 6px)!important;border:1px solid rgba(0,0,0,.07);border-left:2px solid rgba(0,0,0,.1)}.schedule-strip.blocked .schedule-strip-time{opacity:.55}.schedule-strip-top-row{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.schedule-strip-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.schedule-strip-client{font-size:.8125rem;font-weight:600;color:inherit;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;line-height:1.25}.schedule-strip-time{font-size:.625rem;font-weight:500;color:inherit;opacity:.55;white-space:nowrap;flex-shrink:0;line-height:1.25}.schedule-strip-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.schedule-strip-service{font-size:.6875rem;font-weight:400;color:inherit;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.6;line-height:1.2}.schedule-strip-status{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.375rem;opacity:.8}.schedule-strip.in-session .schedule-strip-status{opacity:1}.schedule-strip-actions{display:flex;margin-top:.5rem}.strip-action-btn{border:none;border-radius:6px;padding:5px 12px;font-size:.75rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .15s ease,transform .1s ease;line-height:1.4}.strip-action-btn:active{transform:scale(.96)}.strip-action-start{background:#00000012;color:var(--text-primary)}.strip-action-start:hover{background:#0000001f}.strip-action-complete{background:#16a34a;color:#fff}.strip-action-complete:hover{opacity:.88}.quick-actions-prioritized{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;animation:fadeIn .7s ease-out}.primary-action-btn{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:1.75rem 1.5rem;display:flex;flex-direction:row;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s cubic-bezier(.4,0,.2,1);color:#fff;font-size:1.125rem;font-weight:600;width:100%}.primary-action-btn svg{width:26px;height:26px;stroke-width:2.5}.primary-action-btn:hover{background:var(--accent-light);border-color:var(--accent-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.primary-action-btn:active{transform:scale(.98)}.secondary-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.secondary-action-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.625rem;cursor:pointer;box-shadow:none;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-primary);font-size:.875rem;font-weight:500}.secondary-action-btn svg{width:22px;height:22px;stroke-width:2}.secondary-action-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.secondary-action-btn:active{transform:scale(.97)}.quick-actions-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem;animation:fadeIn .7s ease-out}.compact-action-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.625rem;cursor:pointer;box-shadow:none;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-primary);font-size:.875rem;font-weight:500}.compact-action-btn svg{width:22px;height:22px;stroke-width:2}.compact-action-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.compact-action-btn:active{transform:scale(.97)}.compact-action-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.compact-action-btn.primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.stats-sheet{background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014,0 0 0 1px #0000000a;overflow:hidden;margin-bottom:1.5rem;cursor:pointer}.stats-sheet-collapsed{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem}.stats-sheet-icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent)}.stats-sheet-main{display:flex;flex-direction:column;gap:0;min-width:0;flex:1}.stats-sheet-label{font-size:.688rem;font-weight:700;color:var(--accent);letter-spacing:.07em;text-transform:uppercase}.stats-sheet-primary{font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-sheet-earnings{color:var(--success);font-weight:600}.stats-sheet-sublabel{font-size:.75rem;color:var(--text-tertiary);font-weight:400}.stats-sheet-chevron{flex-shrink:0;color:var(--text-tertiary)}.stats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;animation:stats-overlay-in .2s ease-out}@keyframes stats-overlay-in{0%{opacity:0}to{opacity:1}}.stats-bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;z-index:501;display:flex;flex-direction:column;max-height:85dvh;animation:stats-sheet-up .28s cubic-bezier(.32,.72,0,1);padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}@keyframes stats-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.stats-bottom-sheet-handle-area{display:flex;justify-content:center;padding:10px 0 4px;flex-shrink:0}.stats-bottom-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border)}.stats-bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 1.25rem 1rem;flex-shrink:0}.stats-bottom-sheet-title{font-size:1.063rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stats-bottom-sheet-close{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .15s}.stats-bottom-sheet-close:active{background:var(--border)}.stats-bottom-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 1.25rem .5rem;flex:1;display:flex;flex-direction:column}.stats-bottom-row{display:flex;align-items:center;justify-content:space-between;padding:.875rem 0;border-bottom:1px solid var(--border)}.stats-bottom-row:last-child{border-bottom:none}.stats-bottom-row-left{display:flex;flex-direction:column;gap:.2rem}.stats-bottom-row-period{font-size:.9375rem;font-weight:600;color:var(--text-primary);letter-spacing:-.015em}.stats-bottom-row-bookings{font-size:.8125rem;color:var(--text-tertiary);font-weight:400}.stats-bottom-row-earnings{font-size:1.25rem;font-weight:700;color:var(--accent);letter-spacing:-.03em}.summary-earnings-value{color:var(--accent)}.summary-earnings-highlight{color:var(--accent);font-weight:600}.monthly-history-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all .2s}.monthly-history-item:hover{background:var(--bg-elevated);border-color:var(--accent)}.monthly-history-month{font-size:.875rem;font-weight:600;color:var(--text-primary)}.monthly-history-stats{display:flex;gap:1.5rem;align-items:center}.monthly-history-stat{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.monthly-stat-value{font-size:.938rem;font-weight:700;color:var(--text-primary)}.monthly-stat-label{font-size:.688rem;color:var(--text-tertiary);text-transform:lowercase}.today-overview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem;animation:slideUp .8s ease-out}.overview-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.overview-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.overview-label{font-size:.75rem;color:var(--text-secondary);text-transform:lowercase}.overview-separator{color:var(--text-tertiary);font-size:.875rem}.all-appointments-section{margin-bottom:1.5rem;animation:slideUp .5s ease-out}.back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;transition:background .15s;flex-shrink:0;margin-left:-4px}.back-btn svg{width:22px;height:22px;stroke-width:2.2}.back-btn:hover{background:var(--bg-tertiary)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:3rem}.stat-card{background:var(--bg-elevated);border:none;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;animation:slideUp .4s ease-out;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value{font-size:1.875rem;font-weight:700;color:var(--text-primary);animation:scaleIn .5s ease-out}.stat-sublabel{font-size:.813rem;color:var(--text-tertiary);margin-top:.25rem}.earnings-value{color:var(--success)}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:-.01em}.quick-actions{margin-bottom:3rem}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.action-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.375rem;cursor:pointer;transition:all .2s;color:var(--text-primary);font-weight:500}.action-btn:hover{background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.action-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.action-icon svg{width:22px;height:22px}.appointments-section{margin-top:2rem}.appointment-list{display:flex;flex-direction:column;gap:.75rem}.appointment-card{background:var(--bg-elevated);border:none;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s;animation:slideUp .3s ease-out;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;margin-bottom:.75rem}.appointment-card:hover{background:var(--bg-elevated);transform:translateY(-2px);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.appointment-card:active{transform:translateY(0) scale(.98)}.appointment-time{font-size:.875rem;font-weight:600;color:var(--accent);min-width:70px}.appointment-details{flex:1}.appointment-client{font-weight:600;margin-bottom:.25rem}.appointment-service{font-size:.875rem;color:var(--text-secondary)}.appointment-price{font-weight:600;color:var(--text-primary)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.calendar-controls{display:flex;justify-content:center;align-items:center;margin-bottom:6px;margin-top:.25rem}.calendar-page .calendar-controls{padding-left:.5rem;padding-right:.5rem}.view-toggle{display:inline-flex;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:2px;gap:0}.toggle-btn{padding:6px 16px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-weight:600;font-size:.8125rem;min-height:28px;border-radius:4px}@media (min-width: 640px){.toggle-btn{padding:6px 20px}}.toggle-btn.active{background:var(--accent);color:#fff}.toggle-btn:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.date-navigator{display:flex;align-items:center;justify-content:center;margin-bottom:6px;background:transparent;width:100%}.calendar-page .date-navigator{margin-left:0;margin-right:0;width:100%}.nav-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-btn:active{background:var(--bg-tertiary, var(--bg-secondary))}.current-date{font-weight:600;font-size:.9375rem;text-align:center;flex:0 0 auto;white-space:nowrap;color:var(--text-primary);padding:0 16px;min-width:160px}@media (min-width: 640px){.current-date{font-size:1rem;min-width:180px}}.day-view{display:flex;flex-direction:column;gap:.375rem}.time-slot{display:flex;gap:.75rem;padding:.875rem 1rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;min-height:64px}.time-slot.empty:hover{background:#f5f5f5;border-color:#111}.time-slot.filled{cursor:default;background:transparent}.time-label{min-width:60px;font-size:.875rem;color:#111;font-weight:500;line-height:1.5}.slot-content{flex:1;display:flex;flex-direction:column;gap:.5rem;justify-content:center}.slot-appointment{background:var(--accent);padding:6px 4px 6px 0;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;overflow:hidden}.slot-appointment:hover{background:var(--accent-light);transform:translate(2px)}.slot-appointment:active{transform:scale(.98)}.slot-client{font-weight:600;font-size:.938rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-blocked{background-color:#00000008;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 6px)}.slot-blocked:hover{background-color:#0000000d;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.06) 5px,rgba(0,0,0,.06) 6px)}.day-schedule-view{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.schedule-grid{display:flex;flex-direction:column;padding-top:12px}.schedule-row{display:grid;grid-template-columns:64px 1fr;border-bottom:1px solid var(--border);height:48px;position:relative}.schedule-row:last-child{border-bottom:none}.schedule-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 8px 0 4px;font-size:.75rem;color:var(--text-tertiary);font-weight:500;background:var(--bg-primary);border-right:1px solid var(--border);position:relative;white-space:nowrap;top:-8px}.schedule-slot{position:relative;cursor:pointer;transition:background .15s ease;padding-left:12px}.schedule-slot-empty:hover{background:var(--bg-tertiary)}.schedule-appointment{position:absolute;top:4px;left:16px;right:16px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-primary);padding:6px 4px 6px 0;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px;display:flex;flex-direction:column;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 1px 3px #0000000a;overflow:hidden}.schedule-appointment:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.schedule-appointment:active{transform:translateY(0)}.schedule-appointment-main{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.schedule-appointment-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.schedule-appointment-check{flex-shrink:0;color:var(--success);font-size:1rem}.schedule-appointment-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.schedule-status-btn{flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.schedule-status-btn:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary);color:var(--text-primary)}.schedule-blocked{background-color:#00000008;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.04) 5px,rgba(0,0,0,.04) 6px);color:var(--text-secondary);border:1px solid rgba(0,0,0,.07);border-radius:8px}.schedule-blocked:hover{background-color:#0000000d;border-color:#0000001a}.week-blocked{background-color:#00000008;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 6px);color:var(--text-tertiary)}.block-mode-banner{background:#3b82f6;color:#fff;padding:.75rem 1rem;text-align:center;font-weight:500;margin-bottom:1rem;border-radius:var(--radius)}.calendar-page .block-mode-banner{margin-left:.5rem;margin-right:.5rem}.week-view-container{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 12px 0}.week-view-card{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border);border-radius:10px 10px 0 0;border-bottom:none;overflow:hidden;background:var(--bg-primary)}.week-view{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;padding-bottom:0}.week-grid-header-container{width:100%;border-bottom:1px solid var(--border);background:var(--bg-secondary);overflow:hidden;flex-shrink:0}.week-timeline-surface{width:100%;background:var(--bg-primary);overflow:hidden;border-bottom:1px solid var(--border)}.week-grid-header{display:grid;grid-template-columns:30px repeat(7,1fr);background:var(--bg-secondary)}.week-time-header{border-right:1px solid var(--border)}.week-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .5rem;gap:.125rem;font-size:.813rem;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em;border-right:1px solid var(--border)}.week-day-header:last-child{border-right:none}.week-day-header.today{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-weight:600}.week-day-name{font-size:.688rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1}.week-day-header.today .week-day-name{font-weight:600}.week-day-number{font-size:.938rem;font-weight:600;line-height:1}.week-grid-body{display:grid;grid-template-columns:30px 1fr}.week-time-column{border-right:1px solid var(--border)}.week-time-slot{height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 .25rem 0 .125rem;position:relative}.week-time-slot:last-child{border-bottom:none}.week-time-label{font-size:.563rem;color:#111;font-weight:400;letter-spacing:-.02em;text-align:right;line-height:1;position:relative;top:-.375rem}.week-days-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-day-column{border-right:1px solid var(--border);position:relative}.week-day-column:last-child{border-right:none}.week-hour-slot{height:60px;border-bottom:1px solid var(--border);position:relative;cursor:pointer;transition:background .15s ease}.week-day-column .week-hour-slot:first-child{padding-top:10px}.week-current-time-indicator{position:absolute;left:0;right:0;display:flex;align-items:center;pointer-events:none;z-index:100;transform:translateY(-50%)}.week-current-time-dot{width:6px;height:6px;border-radius:50%;background:#00000080;flex-shrink:0;margin-left:26px}.week-current-time-line{flex:1;height:1px;background:#00000080}.week-half-hour-divider{position:absolute;top:50%;left:0;right:0;height:1px;border-top:1px dashed color-mix(in srgb,var(--border) 40%,transparent);pointer-events:none;z-index:0}.week-past-overlay{position:absolute;top:0;left:0;right:0;background:color-mix(in srgb,var(--text-primary) 4%,transparent);pointer-events:none;z-index:2}.week-hour-slot:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}.week-hour-slot--last{border-bottom:none}.week-event{position:absolute;left:0;right:0;width:100%;background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated));border-radius:0;padding:2px 4px 2px 2px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:none;z-index:10;border:none;border-left:2px solid transparent;border-bottom:1px solid rgba(0,0,0,.08);box-sizing:border-box;isolation:isolate;color:#000}.week-event:hover{filter:brightness(.95);box-shadow:0 1px 3px #00000014}.week-event.blocked{background-color:#00000008;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 6px);box-shadow:none;border:1px solid rgba(0,0,0,.07)}.week-event.blocked:hover{background-color:#0000000d;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.06) 5px,rgba(0,0,0,.06) 6px)}.week-event.blocked .week-event-client,.week-event.blocked .week-event-time{color:var(--text-tertiary);opacity:1}.week-event.blocked .week-event-content{align-items:flex-start;justify-content:flex-start}.week-event.completed{opacity:1}.week-event.completed:hover{opacity:1;filter:brightness(.97)}.week-event.completed .week-event-time{color:inherit;font-weight:500}.week-event.completed .week-event-client{color:inherit;font-weight:400}.week-event.completed .week-event-service{color:inherit}.week-event.cancelled{background:color-mix(in srgb,#ef4444 8%,var(--bg-elevated))}.week-event.cancelled:hover{background:color-mix(in srgb,#ef4444 12%,var(--bg-elevated))}.week-event.cancelled .week-event-time,.week-event.cancelled .week-event-client,.week-event.cancelled .week-event-service{color:#000}.week-event.no-show{background:color-mix(in srgb,#f59e0b 8%,var(--bg-elevated))}.week-event.no-show:hover{background:color-mix(in srgb,#f59e0b 12%,var(--bg-elevated))}.week-event.no-show .week-event-time,.week-event.no-show .week-event-client,.week-event.no-show .week-event-service{color:#000}.week-event.in-session:hover{transform:translateY(-1px)}.week-event.short-event{padding:2px 4px 2px 2px}.week-event.short-event .week-event-content{flex-direction:column;justify-content:flex-start;align-items:flex-start}.week-event.short-event .week-event-time{font-weight:600;color:inherit;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-event-content{display:flex;flex-direction:column;gap:1px;overflow:hidden;width:100%;height:100%;justify-content:flex-start;align-items:flex-start}.week-event-time{font-size:.55rem;font-weight:600;color:inherit;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:100%}.week-event-client{font-size:.625rem;font-weight:500;color:inherit;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:100%}.week-event-service{font-size:.563rem;font-weight:400;color:inherit;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.week-grid-header{grid-template-columns:30px repeat(7,1fr)}.week-grid-body{grid-template-columns:30px 1fr}.week-day-header{font-size:.75rem;padding:.5rem .375rem;gap:.0625rem}.week-day-name{font-size:.625rem}.week-day-number{font-size:.875rem}.week-time-slot{padding:0 .25rem 0 .125rem}.week-time-label{font-size:.5rem;top:-.375rem}.week-event{padding:2px 3px 2px 1px}.week-event-time,.week-event.short-event .week-event-time{font-size:.45rem}.week-event-client{font-size:.563rem}.week-event-service{font-size:.5rem}}.month-view{display:flex;flex-direction:column;width:100%;max-width:100%;padding:0 .5rem}.month-view .calendar-grid{margin-top:0}.calendar-day.other-month{opacity:.3}.appointment-count{position:absolute;bottom:.375rem;right:.375rem;background:var(--accent);color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .25rem;border-radius:4px;min-width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;line-height:1}.calendar-day.selected .appointment-count{background:#fff;color:var(--accent)}.schedule-appointment-past{opacity:.6;background:color-mix(in srgb,var(--text-tertiary) 6%,transparent)!important;border-color:color-mix(in srgb,var(--text-tertiary) 20%,transparent)!important}.schedule-appointment-completed{background:color-mix(in srgb,var(--success) 40%,transparent)!important;border-color:color-mix(in srgb,var(--success) 30%,transparent)!important;opacity:.85}.status-dropdown-btn{background:#ffffffe6;color:#1a1a1a;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.688rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 2px #0000001a;text-align:center}.status-dropdown-btn:hover{background:#fff;transform:scale(1.02);box-shadow:0 2px 4px #00000026}.status-dropdown-btn:active{transform:scale(.98)}.status-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:140px;background:#fff;border-radius:var(--radius);box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:1000;animation:fadeIn .15s ease}.status-option{width:100%;padding:.5rem;background:#fff;border:none;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .15s ease;text-align:left}.status-option:last-child{border-bottom:none}.status-option:hover{background:var(--bg-secondary)}.status-option:active{background:var(--accent-subtle)}.fab{position:fixed;bottom:100px;right:1.5rem;width:56px;height:56px;background:var(--accent);color:#1a1a1a;border:none;border-radius:50%;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:all .2s;z-index:50;font-weight:600}.fab:hover{transform:scale(1.1);box-shadow:0 20px 25px -5px #0009}.booking-flow{display:flex;flex-direction:column;gap:2rem;flex:1;min-height:0;overflow:hidden}.new-booking-page{display:flex;flex-direction:column;height:calc(100dvh - 68px - env(safe-area-inset-bottom));overflow:hidden;padding-top:max(3.25rem,calc(env(safe-area-inset-top) + .75rem));padding-left:1rem;padding-right:1rem;padding-bottom:0;max-width:600px;margin:0 auto;width:100%;background:var(--bg-primary)}.new-booking-page .page-header{flex-shrink:0}.new-booking-page .booking-flow{gap:1rem}.new-booking-page .step-indicator{flex-shrink:0}.new-booking-page .booking-step{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.new-booking-page .booking-step--service{overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.booking-step-header{flex-shrink:0;display:flex;flex-direction:column;gap:.375rem}.booking-step-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.step2-service-error{font-size:.8125rem;color:#ef4444;text-align:center;margin:.5rem 0 0}.step-indicator{display:flex;align-items:flex-start;justify-content:center;gap:.5rem}@media (max-width: 640px){.booking-flow{gap:1.25rem}}.step-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-tertiary);font-weight:600;border:2px solid var(--border)}.step.active{background:var(--accent);color:#fff;border-color:var(--accent)}.step-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500;text-align:center;white-space:nowrap}.step-label.active{color:var(--text-secondary)}.step-line{width:40px;height:2px;background:var(--border);transition:background .3s ease;margin-top:17px}.step-line.active{background:var(--accent)}.booking-step{display:flex;flex-direction:column;gap:.5rem}.booking-step h2{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}@media (max-width: 640px){.booking-step{gap:.375rem}.booking-step h2{font-size:1.25rem}}.inline-service-form,.custom-service-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.inline-service-form h3,.custom-service-form h3{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.service-override-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.service-override-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.service-actions{display:flex;gap:1rem;flex-wrap:wrap}.deposit-section{border-top:1px solid var(--border);padding-top:.875rem;margin-top:.875rem}.deposit-section .settings-row{margin-bottom:0}.deposit-settings{margin-top:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);animation:slideDown .2s ease-out}.deposit-settings .form-group:last-child{margin-bottom:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.deposit-fields{animation:slideDown .3s ease-out;overflow:hidden}.deposit-section .section-header{display:flex;justify-content:space-between;align-items:center}.deposit-section h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.helper-text{font-size:.875rem;color:var(--text-secondary);margin:0;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--text-secondary)}.deposit-type-display{padding:.625rem .875rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9375rem}.service-list,.service-grid{display:flex;flex-direction:column;gap:.375rem}.service-card,.service-option{background:var(--bg-elevated);border:none;border-radius:12px;padding:1.25rem;transition:all .2s;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 1px 3px #00000012,0 1px 2px #0000000d}.service-card-main{flex:1;cursor:pointer}.service-card:hover,.service-option:hover{background:var(--bg-elevated);transform:translateY(-1px);box-shadow:0 4px 12px #00000017,0 2px 4px #0000000f}.service-card.selected,.service-option.selected{border:2.5px solid var(--accent);background:var(--accent-subtle)}.service-card-actions{display:flex;gap:.5rem;align-items:center}.btn-icon{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;font-size:1.125rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.service-name{font-weight:600;font-size:1.125rem;margin-bottom:.25rem}.service-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem}.service-details,.service-meta{color:var(--text-secondary);font-size:.875rem}.client-toggle{display:flex;gap:.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:var(--radius-sm)}.client-toggle .toggle-btn{flex:1;border-radius:var(--radius-sm)}.client-select{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.client-option{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all .2s}.client-option:hover{background:var(--bg-tertiary)}.client-option.selected{border:2.5px solid var(--accent);background:var(--accent-subtle)}.client-name{font-weight:600;margin-bottom:.25rem}.client-phone{color:var(--text-secondary);font-size:.875rem}.time-slots-section{margin-top:1.5rem}.time-slots-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem}.time-slot{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius);padding:.875rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-height:60px;justify-content:center}.time-slot:hover:not(:disabled){border-color:var(--accent);background:var(--bg-tertiary);transform:translateY(-2px)}.time-slot.selected{border:2.5px solid var(--accent);background:var(--accent-subtle)}.time-slot.booked{background:var(--bg-elevated);border-color:var(--border);opacity:.5;cursor:not-allowed}.time-slot-time{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.time-slot.booked .time-slot-time{text-decoration:line-through}.time-slot-client{font-size:.75rem;color:var(--text-secondary);text-align:center}.time-selected-actions{margin-top:.5rem;text-align:center}.price-editor{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-top:1rem}.price-editor h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.clients-page{display:flex;flex-direction:column;height:calc(100vh - 68px - env(safe-area-inset-bottom));max-width:600px;margin:0 auto;width:100%;animation:fadeIn .3s ease-out;overflow:hidden}.clients-sticky-top{flex-shrink:0;background:var(--bg-primary);padding:max(3.25rem,calc(env(safe-area-inset-top) + .75rem)) 1rem .35rem}.clients-sticky-top .search-bar{margin-bottom:0}.clients-section-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin-bottom:.75rem;background:var(--bg-secondary);border-radius:9px}.clients-section-tab{display:flex;align-items:center;justify-content:center;gap:.375rem;min-height:32px;padding:.375rem .75rem;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer}.clients-section-tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.clients-section-tab-badge{font-size:.625rem;font-weight:600;color:var(--text-tertiary)}.clients-scroll-area{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.75rem 1rem calc(1.5rem + env(safe-area-inset-bottom))}.clients-scroll-area .empty-state{padding-top:2rem}.search-bar{margin-bottom:1.5rem}.search-bar input{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;font-size:1rem;color:var(--text-primary);min-height:48px}.search-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6b7c851a}.add-client-popover-wrapper{position:relative}.add-client-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--bg-elevated);border-radius:12px;box-shadow:0 4px 16px #00000024,0 1px 3px #0000001a;overflow:hidden;z-index:100;animation:fadeIn .12s ease}.add-client-popover-option{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:none;border:none;border-bottom:1px solid var(--border);font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .15s ease;text-align:left}.add-client-popover-option:last-child{border-bottom:none}.add-client-popover-option:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.add-client-popover-option:active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.add-client-popover-option svg{color:var(--text-secondary);flex-shrink:0}.client-list{display:flex;flex-direction:column;gap:.5rem}.client-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:.875rem 1.25rem;box-shadow:0 1px 3px #0000000f;margin-bottom:.75rem}.client-info{margin-bottom:0}.client-email{color:var(--text-secondary);font-size:.875rem}.client-stats{display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-item .stat-label{font-size:.75rem;color:var(--text-tertiary)}.stat-item .stat-value{font-weight:600;color:var(--text-primary);font-size:1rem}.sl-page,.settings-page{display:flex;flex-direction:column;height:calc(100dvh - 52px - env(safe-area-inset-bottom));overflow:hidden;padding:0;max-width:none;margin:0;width:100%;animation:none}.settings-fixed-header{flex-shrink:0;background:var(--bg-primary);width:100%;border-bottom:1px solid var(--border)}.settings-fixed-header .settings-title{max-width:600px;margin:0 auto;display:block;padding:max(1.5rem,env(safe-area-inset-top)) 1rem .35rem}.settings-scroll-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 1rem calc(32px + env(safe-area-inset-bottom));max-width:600px;width:100%;margin:0 auto}.sl-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:0 2px;margin-bottom:6px;margin-top:28px}.sl-group{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-primary);margin:0 -1px}.sl-row-wrap{border-bottom:1px solid var(--border)}.sl-row-wrap.sl-row-last{border-bottom:none}.sl-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 2px;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit;gap:8px;min-height:48px;transition:opacity .12s;-webkit-tap-highlight-color:transparent}.sl-row:active{opacity:.55}.sl-row--toggle{cursor:pointer}.sl-row--danger .sl-row-label{color:#ef4444}.sl-row--static{cursor:default;pointer-events:none}.sl-row--static:active{opacity:1}.sl-row--disabled{cursor:default}.sl-row--disabled .sl-row-label{color:var(--text-secondary)}.sl-row-label{font-size:.9375rem;font-weight:400;color:var(--text-primary);letter-spacing:-.01em;flex:1;display:flex;align-items:center;gap:0}.sl-row-right{display:flex;align-items:center;gap:5px;flex-shrink:0}.sl-row-hint{font-size:.8125rem;color:var(--text-tertiary);font-weight:400;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-chevron{color:color-mix(in srgb,var(--text-tertiary) 65%,transparent);display:flex;align-items:center;flex-shrink:0;transition:transform .22s cubic-bezier(.4,0,.2,1)}.sl-chevron--open{transform:rotate(180deg)}.sl-action-chevron{color:color-mix(in srgb,var(--text-tertiary) 65%,transparent);display:flex;align-items:center;flex-shrink:0}.sl-disclosure{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1)}.sl-disclosure--open{grid-template-rows:1fr}.sl-disclosure-inner{min-height:0;overflow:hidden}.sl-body{padding:4px 2px 16px}.sl-body--no-pad-x{padding-left:0;padding-right:0}.sl-avatar-row{margin-bottom:16px}.sl-avatar-label{display:flex;align-items:center;gap:14px;cursor:pointer;width:fit-content}.sl-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);position:relative;flex-shrink:0}.sl-avatar img{width:100%;height:100%;object-fit:cover}.sl-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-secondary)}.sl-avatar-cta{font-size:.875rem;color:var(--accent);font-weight:500}.sl-field-row{display:flex;flex-direction:column;gap:3px;padding:12px 0}.sl-field-label{font-size:.72rem;color:var(--text-tertiary);font-weight:500;letter-spacing:.01em}.sl-field-input{width:100%;font-size:.9375rem;color:var(--text-primary);border:none;outline:none;background:transparent;font-family:inherit;text-align:left;padding:0}.sl-field-input::placeholder{color:var(--text-tertiary)}.sl-textarea{resize:none;min-height:64px;overflow:hidden;line-height:1.5}.sl-field-divider{height:1px;background:var(--border)}.sl-booking-cover-editor{padding:12px 1.25rem 14px;border-bottom:1px solid var(--border)}.sl-booking-cover-preview{position:relative;width:100%;aspect-ratio:3 / 1;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg,#f1f2f4,#e5e7eb);background-position:center;background-size:cover}.sl-booking-cover-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffb8;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.sl-booking-cover-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:10px}.sl-booking-cover-editor:not(.has-image) .sl-booking-cover-controls{padding-top:0}.sl-booking-cover-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.sl-booking-cover-help{margin-top:1px;color:var(--text-tertiary);font-size:.6875rem;line-height:1.35}.sl-booking-cover-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.sl-booking-cover-upload,.sl-booking-cover-remove{border:0;background:transparent;color:var(--accent);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.sl-booking-cover-upload input{display:none}.sl-booking-cover-remove{color:var(--text-tertiary)}.sl-booking-cover-upload:has(input:disabled),.sl-booking-cover-remove:disabled{opacity:.45;cursor:default}.sl-booking-url-display{font-size:.8125rem;font-weight:500;color:var(--text-tertiary);padding:10px 1.25rem 12px;word-break:break-all;letter-spacing:.01em}.sl-booking-actions .sl-row-wrap:not(.sl-row-last) .sl-row{border-bottom:1px solid var(--border)}.sl-booking-actions .sl-row{padding-left:1.25rem;padding-right:1.25rem}.settings-toast{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 5.5rem);left:50%;transform:translate(-50%);background:var(--text-primary);color:var(--bg-primary);font-size:.875rem;font-weight:500;padding:9px 18px;border-radius:20px;white-space:nowrap;z-index:9999;animation:toast-in .18s ease;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sl-service-row{display:flex;align-items:center;gap:10px;padding:11px 2px}.sl-service-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sl-service-info{flex:1;min-width:0}.sl-service-name{font-size:.9375rem;font-weight:400;color:var(--text-primary);display:block;letter-spacing:-.01em}.sl-service-meta{font-size:.8125rem;color:var(--text-tertiary);display:block;margin-top:1px}.sl-service-actions{display:flex;gap:4px;align-items:center}.sl-svc-btn{font-size:.8125rem;font-weight:500;color:var(--accent);background:none;border:none;cursor:pointer;padding:4px 8px;font-family:inherit;border-radius:6px;transition:background .12s}.sl-svc-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.sl-svc-btn--danger{color:#ef4444}.sl-svc-btn--danger:hover{background:#ef444414}.sl-service-divider{height:1px;background:var(--border);margin-left:18px}.sl-service-edit-wrap{padding:12px 2px}.sl-add-service-btn{width:100%;padding:11px 2px;border:none;background:none;font-size:.9375rem;font-weight:500;color:var(--accent);text-align:left;cursor:pointer;font-family:inherit;transition:opacity .12s;-webkit-tap-highlight-color:transparent}.sl-add-service-btn--top{padding-top:4px;padding-bottom:11px}.sl-add-service-btn:active{opacity:.55}.sl-row-action{display:flex;align-items:center;margin-right:4px}.sl-empty{font-size:.9rem;color:var(--text-tertiary);padding:8px 2px 4px;margin:0}.sl-notif-body{border-top:1px solid var(--border)}.sl-notif-body .sl-row-wrap{border-bottom:1px solid var(--border)}.sl-notif-body .sl-row-wrap.sl-row-last{border-bottom:none}.sl-inline-control{display:flex;align-items:center;justify-content:space-between;gap:12px}.sl-inline-label{font-size:.875rem;color:var(--text-secondary);flex:1}.sl-number-wrap{display:flex;align-items:center;gap:4px}.sl-number-input{width:52px;text-align:right;font-size:.9375rem;color:var(--text-primary);border:none;outline:none;background:transparent;font-family:inherit;padding:4px 0}.sl-number-input.sl-input--error{color:var(--error, #EF4444)}.sl-number-unit{font-size:.875rem;color:var(--text-tertiary);white-space:nowrap}.sl-toggle{position:relative;display:inline-flex;width:51px;height:31px;flex-shrink:0;cursor:pointer}.sl-toggle input{opacity:0;width:0;height:0;position:absolute}.sl-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:15.5px;background:#e5e5ea;transition:background .2s}.sl-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s cubic-bezier(.4,0,.2,1)}.sl-toggle input:checked+.sl-toggle-track{background:var(--accent)}.sl-toggle input:checked+.sl-toggle-track:after{transform:translate(20px)}.sl-toggle input:disabled+.sl-toggle-track{opacity:.4}.sl-pro-chip{display:inline-block;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:#fff;padding:1px 5px;border-radius:4px;margin-left:6px;vertical-align:middle}.sl-billing-body{border-top:1px solid var(--border);padding:16px 16px 20px;display:flex;flex-direction:column;gap:14px}.sl-billing-plan-header{display:flex;align-items:baseline;gap:8px}.sl-billing-plan-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.sl-billing-plan-price{font-size:.875rem;font-weight:400;color:var(--text-secondary)}.sl-billing-features{display:flex;flex-direction:column;gap:8px}.sl-billing-feature{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.sl-billing-feature svg{flex-shrink:0;color:var(--accent);opacity:.85}.sl-billing-cta{margin-top:2px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;letter-spacing:-.01em;width:100%}.sl-billing-cta:hover{opacity:.8}.sl-billing-cta--upgrade{background:var(--accent);color:#fff}.sl-billing-cta--upgrade:hover{opacity:.88}.sl-plan-value{display:flex;flex-direction:row;align-items:baseline;gap:5px}.sl-plan-value__name{font-size:.9375rem;font-weight:400;color:var(--text-primary);line-height:1}.sl-plan-value__detail{font-size:.8125rem;font-weight:400;color:var(--text-tertiary);line-height:1}.sl-plan-info{display:flex;align-items:baseline;gap:10px}.sl-plan-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.sl-plan-canceling{font-weight:400;color:var(--text-secondary)}.sl-plan-price{font-size:.875rem;color:var(--text-secondary)}.sl-plan-free{display:flex;flex-direction:column;gap:14px}.sl-plan-usage{font-size:.875rem;color:var(--text-secondary)}.sl-upgrade-btn{display:inline-flex;align-items:center;padding:9px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;letter-spacing:-.01em;width:fit-content}.sl-upgrade-btn:hover{opacity:.85}.sl-action-btn{display:inline-flex;align-items:center;padding:8px 14px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.sl-action-btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.sl-action-btn:disabled{opacity:.5;cursor:default}.sl-action-btn--danger{color:#ef4444;background:#ef444412}.sl-action-btn--danger:hover{background:#ef44441f}.sl-avail-body{padding:2px 0 8px}.sl-avail-done-btn{margin-top:16px;width:100%}.sl-avail-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 2px;min-height:44px}.sl-avail-row--divided{border-bottom:1px solid var(--border)}.sl-avail-day{font-size:.9rem;font-weight:450;color:var(--text-primary);width:96px;flex-shrink:0}.sl-avail-day--closed{color:var(--text-tertiary)}.sl-avail-times{flex:1;display:flex;align-items:center;gap:6px}.sl-avail-time-input{background:none;border:none;outline:none;font-size:.875rem;color:var(--text-secondary);padding:0;cursor:pointer;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.sl-avail-time-input:focus{color:var(--text-primary)}.sl-avail-time-input--error{color:var(--error, #EF4444)}.sl-avail-error{width:100%;margin:0 0 4px;padding-left:2px}.sl-avail-sep{font-size:.875rem;color:var(--text-tertiary);flex-shrink:0}.sl-avail-closed{flex:1;font-size:.875rem;color:var(--text-tertiary)}.sl-avail-toggle{flex-shrink:0;margin-left:auto}.sl-time-off-inner{padding:12px 16px 8px}.sl-time-off-top{margin-bottom:12px}.sl-time-off-add-btn{font-size:.8125rem;font-weight:500;color:var(--accent);background:none;border:none;cursor:pointer;padding:2px 0}.sl-time-off-form{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.sl-time-off-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sl-time-off-date-field{display:flex;flex-direction:column;gap:4px}.sl-time-off-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.sl-time-off-input{font-size:.875rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:9px 10px;width:100%;box-sizing:border-box;-webkit-appearance:none}.sl-time-off-reason{font-size:.875rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:9px 12px;width:100%;box-sizing:border-box}.sl-time-off-reason::placeholder{color:var(--text-tertiary)}.sl-time-off-warning{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;line-height:1.45}.sl-time-off-warning svg{flex-shrink:0;margin-top:1px;color:#d97706}.sl-time-off-save-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;padding:10px 16px;cursor:pointer;transition:opacity .15s}.sl-time-off-save-btn:disabled{opacity:.45;cursor:default}.sl-time-off-empty{font-size:.8125rem;color:var(--text-tertiary);margin:0 0 8px}.sl-time-off-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.sl-time-off-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-secondary);border-radius:8px;padding:10px 12px}.sl-time-off-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sl-time-off-item-dates{font-size:.875rem;font-weight:500;color:var(--text-primary)}.sl-time-off-item-reason{font-size:.8rem;color:var(--text-secondary)}.sl-time-off-delete-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s}.sl-time-off-delete-btn:hover{color:var(--error)}.calendar-day.time-off-day{background:var(--bg-secondary);cursor:pointer}.calendar-day.time-off-day .day-number{color:var(--text-tertiary)}.time-off-label{display:block;font-size:.6rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;line-height:1.1;margin-top:2px;white-space:normal;overflow:hidden;word-break:break-word;max-width:100%}.calendar-day.time-off{background:var(--bg-secondary);cursor:default;opacity:.7}.sl-availability-hint{font-size:.875rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.sl-danger-hint{font-size:.875rem;color:var(--text-tertiary);margin:0 0 12px;line-height:1.5}.sl-sign-out-wrap{margin-top:32px;display:flex;justify-content:center}.sl-sign-out-btn{background:none;border:none;color:#ef4444;font-size:1rem;font-weight:500;cursor:pointer;font-family:inherit;padding:10px 24px;border-radius:8px;transition:background .15s}.sl-sign-out-btn:hover{background:#ef444412}.ios-profile-card{display:flex;align-items:center;gap:16px;padding:20px 16px;margin:0 0 8px}.ios-avatar-wrap{position:relative;cursor:pointer;flex-shrink:0;display:block}.ios-avatar{width:72px;height:72px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);position:relative;transition:opacity .15s}.ios-avatar-wrap:hover .ios-avatar{opacity:.85}.ios-avatar img{width:100%;height:100%;object-fit:cover}.ios-avatar-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff9;border-radius:50%}.ios-avatar-edit-badge{position:absolute;bottom:0;right:0;width:22px;height:22px;background:var(--accent);border-radius:50%;border:2px solid var(--bg-primary);display:flex;align-items:center;justify-content:center;color:#fff}.ios-profile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ios-profile-name-input{font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;border:none;outline:none;background:transparent;padding:0;width:100%;font-family:inherit}.ios-profile-name-input::placeholder{color:var(--text-tertiary);font-weight:400}.ios-profile-sub-input{font-size:.9rem;color:var(--text-secondary);border:none;outline:none;background:transparent;padding:0;width:100%;font-family:inherit}.ios-profile-sub-input::placeholder{color:var(--text-tertiary)}.ios-section{margin-bottom:32px}.ios-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);padding:0 6px;margin-bottom:7px}.ios-group{background:var(--bg-primary);border-radius:12px;border:1px solid var(--border);overflow:hidden}.ios-row{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:50px;width:100%;background:transparent;border:none;text-align:left;cursor:pointer;color:inherit;font-family:inherit;font-size:1rem;transition:background .1s}.ios-row:active,.ios-row:hover{background:color-mix(in srgb,var(--text-primary) 4%,transparent)}.ios-row--no-tap{cursor:default;pointer-events:none}.ios-row--no-tap.ios-row--accent{pointer-events:auto;cursor:default}.ios-row--no-tap:active,.ios-row--no-tap:hover,.ios-row--accent:active,.ios-row--accent:hover{background:transparent}.ios-row--danger .ios-row-label{color:#ef4444}.ios-row--sign-out .ios-row-label{color:#ef4444;font-weight:500}.ios-row--upgrade{background:color-mix(in srgb,var(--accent) 4%,transparent)}.ios-row--upgrade:hover,.ios-row--upgrade:active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.ios-row-icon{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.ios-row-icon--gray{background:#8e8e93}.ios-row-icon--blue{background:#007aff}.ios-row-icon--green{background:#34c759}.ios-row-icon--orange{background:#ff9500}.ios-row-icon--red{background:#ff3b30}.ios-row-icon--yellow{background:#fc0;color:#1a1a1a}.ios-row-icon--accent{background:var(--accent)}.ios-row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ios-row-content--centered{align-items:center}.ios-row-label{font-size:.9375rem;font-weight:400;color:var(--text-primary);letter-spacing:-.01em;line-height:1.3}.ios-row-value{font-size:.8125rem;color:var(--text-secondary);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ios-row-description{font-size:.8125rem;color:var(--text-tertiary);font-weight:400;line-height:1.3}.ios-row-divider{height:1px;background:var(--border);margin-left:58px}.ios-row-divider--inset{margin-left:58px}.ios-row svg:last-child{color:var(--text-tertiary);flex-shrink:0}.ios-toggle{position:relative;display:inline-flex;width:51px;height:31px;flex-shrink:0;cursor:pointer}.ios-toggle input{opacity:0;width:0;height:0;position:absolute}.ios-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:15.5px;background:#e5e5ea;transition:background .2s}.ios-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s cubic-bezier(.4,0,.2,1)}.ios-toggle input:checked+.ios-toggle-track{background:var(--accent)}.ios-toggle input:checked+.ios-toggle-track:after{transform:translate(20px)}.ios-toggle input:disabled+.ios-toggle-track{opacity:.4}.ios-row-control{display:flex;align-items:center;gap:4px;flex-shrink:0;pointer-events:auto}.ios-number-input{width:52px;text-align:right;font-size:.9375rem;font-weight:400;color:var(--text-secondary);border:none;outline:none;background:transparent;padding:4px 0;font-family:inherit;pointer-events:auto}.ios-number-unit{font-size:.875rem;color:var(--text-tertiary);white-space:nowrap}.ios-pro-badge{display:inline-block;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:#fff;padding:1px 5px;border-radius:4px;margin-left:6px;vertical-align:middle}.ios-plan-badge{font-size:.6875rem;font-weight:600;padding:3px 8px;border-radius:6px;flex-shrink:0}.ios-plan-badge--pro{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.ios-plan-badge--free{background:var(--bg-secondary);color:var(--text-secondary)}.ios-section--sign-out{margin-top:4px}.ios-version-note{text-align:center;font-size:.75rem;color:var(--text-tertiary);padding:8px 16px 4px;margin-bottom:8px}.ios-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:300;display:flex;flex-direction:column;justify-content:flex-end}.ios-panel{background:var(--bg-primary);border-radius:20px 20px 0 0;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.ios-panel-header{display:flex;align-items:center;padding:16px 16px 12px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.ios-panel-back{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--accent);font-size:.9375rem;font-weight:400;cursor:pointer;padding:4px 0;font-family:inherit;flex-shrink:0;white-space:nowrap}.ios-panel-title{flex:1;text-align:center;font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.ios-panel-action{background:none;border:none;color:var(--accent);font-size:.9375rem;font-weight:500;cursor:pointer;padding:4px 0;font-family:inherit;flex-shrink:0;white-space:nowrap}.ios-panel-body{flex:1;overflow-y:auto;padding:20px 16px;-webkit-overflow-scrolling:touch}.ios-row--field{min-height:48px;gap:8px;pointer-events:auto;cursor:default}.ios-row--field:hover,.ios-row--field:active{background:transparent}.ios-field-label{font-size:.9375rem;color:var(--text-secondary);font-weight:400;flex-shrink:0;width:64px}.ios-field-input{flex:1;font-size:.9375rem;color:var(--text-primary);border:none;outline:none;background:transparent;padding:4px 0;text-align:right;font-family:inherit}.ios-field-input::placeholder{color:var(--text-tertiary)}.ios-row--textarea{padding:12px 16px;min-height:unset;align-items:flex-start;pointer-events:auto;cursor:default}.ios-row--textarea:hover,.ios-row--textarea:active{background:transparent}.ios-textarea{width:100%;font-size:.9375rem;color:var(--text-primary);border:none;outline:none;background:transparent;resize:none;min-height:72px;font-family:inherit;line-height:1.5}.ios-textarea::placeholder{color:var(--text-tertiary)}.ios-booking-link-display{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:.9375rem;color:var(--accent);font-weight:500;text-align:center;word-break:break-all;margin-bottom:16px}.ios-booking-link-actions{display:flex;gap:10px}.ios-booking-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-primary);color:var(--accent);font-size:.9375rem;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s}.ios-booking-action-btn:hover{background:var(--bg-secondary)}.ios-booking-action-btn--secondary{color:var(--text-secondary)}.ios-service-edit-wrap{padding:16px}.ios-service-row{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:52px}.ios-service-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ios-service-info{flex:1;min-width:0}.ios-service-name{font-size:.9375rem;font-weight:400;color:var(--text-primary);display:block}.ios-service-meta{font-size:.8125rem;color:var(--text-tertiary);display:block;margin-top:1px}.ios-service-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ios-service-edit-btn{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:500;cursor:pointer;padding:4px 8px;font-family:inherit}.ios-service-delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px 6px;display:flex;align-items:center;border-radius:6px;transition:background .15s}.ios-service-delete-btn:hover{background:#ef444414}.ios-empty-state{padding:40px 16px;text-align:center;font-size:.9375rem;color:var(--text-tertiary)}.ios-row--accent .accent-color-selector{gap:6px}.ios-row--accent .accent-color-option{width:26px;height:26px}.upgrade-success-banner{margin:0 0 16px;padding:12px 16px;background:color-mix(in srgb,#34c759 12%,transparent);border:1px solid color-mix(in srgb,#34c759 30%,transparent);border-radius:10px;color:#1a6e2e;font-size:.9375rem;font-weight:500;text-align:center}.settings-section{padding:0;margin-bottom:28px}.settings-section+.settings-section{border-top:none}.settings-section h2{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin-bottom:6px;padding-left:4px}.settings-section-body{background:color-mix(in srgb,var(--bg-secondary) 100%,#000 3%);border-radius:14px;padding:2px 16px 6px}.settings-section-body>.form-group{padding:10px 0}.settings-section-body>.form-group+.form-group{border-top:1px solid rgba(0,0,0,.09);padding-top:10px}.settings-section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-section-header-row h2{margin-bottom:0}.settings-section-description{font-size:.875rem;color:var(--text-secondary);margin-top:-4px;margin-bottom:14px;line-height:1.5}.settings-empty-hint{font-size:.875rem;color:var(--text-tertiary);margin-top:4px;padding:12px 0}.settings-preview-link{display:inline-block;font-size:.875rem;color:var(--text-secondary);text-decoration:none;margin-top:4px;transition:color .15s}.settings-preview-link:hover{color:var(--text-primary);text-decoration:underline}.settings-stacked-row{padding:10px 0 4px}.settings-subsection{margin-bottom:24px}.settings-subsection:last-child{margin-bottom:0}.settings-subsection-label{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.01em}.settings-subsection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.bio-textarea{resize:none;overflow:hidden;min-height:64px;transition:height .1s ease}.booking-link-actions{display:flex;gap:.5rem}.booking-link-copy-btn{padding:.625rem 1.25rem;min-height:unset}.availability-header-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0 6px;border-bottom:1px solid rgba(0,0,0,.07);margin-bottom:2px}.availability-header-label{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.availability-inline-edit-btn{background:none;border:none;padding:0;font-size:.875rem;font-weight:500;color:var(--accent);cursor:pointer;transition:opacity .15s}.availability-inline-edit-btn:hover{opacity:.7}@media (max-width: 640px){.settings-section{padding:0;margin-bottom:22px}.settings-section-plan{margin-top:0}.settings-section h2{font-size:.625rem;margin-bottom:6px}.settings-section .form-group{gap:.375rem}.settings-section .field-hint{font-size:.75rem}}.profile-photo-upload{display:flex;align-items:center;gap:1.5rem}.profile-photo-preview{flex-shrink:0}.profile-photo-preview img,.profile-photo-placeholder{width:80px;height:80px;border-radius:8px;object-fit:cover;border:2px solid var(--border)}.profile-photo-placeholder{background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.profile-photo-actions{flex:1}.profile-photo-upload-btn{display:inline-block;cursor:pointer;padding:.5rem 1rem;font-size:.875rem;font-weight:500;min-height:auto}.profile-photo-upload-btn:disabled{opacity:.5;cursor:not-allowed}.profile-photo-upload-new{display:flex;flex-direction:column;align-items:center;gap:.75rem}.profile-photo-clickable{cursor:pointer;position:relative;transition:transform .2s ease,opacity .2s ease}.profile-photo-clickable:hover{transform:scale(1.02);opacity:.9}.profile-photo-clickable:active{transform:scale(.98)}.profile-photo-clickable .profile-photo-preview{width:88px;height:88px;border-radius:50%;overflow:hidden;border:2px solid #E5E7EB;transition:border-color .2s ease;display:flex;align-items:center;justify-content:center}.profile-photo-clickable .profile-photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-photo-clickable .profile-photo-preview .profile-photo-placeholder{width:100%;height:100%;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border:none}.profile-photo-clickable:hover .profile-photo-preview{border-color:var(--text-tertiary)}.profile-photo-hint{font-size:.8125rem;color:#9ca3af;margin:0;text-align:center}@media (max-width: 640px){.profile-photo-upload{flex-direction:column;align-items:flex-start;gap:1rem}.profile-photo-upload-btn{width:100%;text-align:center}}.sign-out-section{padding:24px 0;text-align:center;border-top:1px solid rgba(0,0,0,.06);margin-top:0}.btn-sign-out{background:transparent;border:none;color:#ef4444;font-size:.9375rem;font-weight:400;cursor:pointer;padding:.25rem .5rem;transition:opacity .2s ease;letter-spacing:-.01em}.btn-sign-out:hover{opacity:.7}.btn-sign-out:active{opacity:.5}.plan-usage-row{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.plan-usage-count{font-size:.875rem;color:var(--text-secondary);font-weight:400}.plan-usage-reset{font-size:.8125rem;color:var(--text-tertiary, #9ca3af);font-weight:400}.account-action-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);font-size:.9375rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:opacity .15s ease}.account-action-row+.account-action-row{border-top:1px solid var(--border)}.account-action-row:hover{opacity:.7}.account-action-danger{color:#ef4444;border-bottom:none}.account-action-danger svg{color:#ef4444}.delete-account-modal{background:var(--bg-primary);border-radius:16px;padding:1.25rem 1.5rem;width:calc(100% - 3rem);max-width:360px;margin:auto}.delete-account-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.delete-account-body{font-size:.9375rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.delete-account-actions{display:flex;flex-direction:column;gap:.75rem}.pw-reset-overlay{background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .15s ease-out}.pw-reset-modal{background:var(--bg-primary);border-radius:20px;padding:1.75rem 1.5rem 0;width:calc(100% - 3rem);max-width:320px;margin:auto;text-align:center;animation:scaleIn .18s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 40px #0000002e;overflow:hidden}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.pw-reset-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0 0 .4rem;letter-spacing:-.01em}.pw-reset-body{font-size:.9375rem;color:var(--text-secondary);line-height:1.45;margin:0 0 1.5rem}.pw-reset-done{display:block;width:calc(100% + 3rem);margin-left:-1.5rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;color:var(--accent);background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;transition:opacity .12s ease;letter-spacing:-.01em}.pw-reset-done:hover{opacity:.6}.btn-delete-account{width:100%;padding:.875rem;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.btn-delete-account:hover{opacity:.85}.btn-delete-account:disabled{opacity:.6;cursor:default}.plan-summary{padding:8px 0 4px}.btn-manage-subscription{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid #D1D5DB;border-radius:10px;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;box-shadow:0 1px 2px #0000000a;text-align:left}.btn-manage-subscription:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 1px 3px #00000012}.btn-manage-subscription:active{background:#f3f4f6;border-color:#9ca3af;box-shadow:none;transform:scale(.995)}.btn-manage-subscription:disabled{opacity:.5;cursor:default;transform:none}.plan-summary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.plan-summary-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;letter-spacing:-.01em}.plan-summary-price{font-size:.938rem;color:var(--text-secondary);font-weight:400}.upgrade-success-banner{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:10px;padding:.875rem 1rem;font-size:.9rem;font-weight:500;margin-bottom:1rem;text-align:center}.plan-badge-active{background:var(--accent);color:#fff;padding:.375rem .75rem;border-radius:20px;font-size:.813rem;font-weight:500}.plan-badge-canceling{background:#f59e0b;color:#fff;padding:.375rem .75rem;border-radius:20px;font-size:.813rem;font-weight:500}.plan-summary-limits{margin-bottom:1rem}.plan-summary-limit{font-size:.875rem;color:var(--text-secondary);font-weight:400}.plan-summary-subtitle{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.plan-summary-features{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.plan-feature-item{display:flex;align-items:flex-start;gap:.625rem;font-size:.875rem;color:var(--text-secondary)}.plan-feature-item svg{flex-shrink:0;margin-top:.063rem;color:var(--accent)}.btn-upgrade{width:100%;background:var(--accent);color:#fff;border:none;padding:.875rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:50px}.btn-upgrade:hover{opacity:.9}.btn-upgrade:active{transform:scale(.98)}.accent-color-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:240px}.accent-color-option{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:3px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease;aspect-ratio:1}.accent-color-option:hover{border-color:var(--border)}.accent-color-option.active{border-color:var(--accent)}.color-preview{width:48px;height:48px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}.color-preview[data-color=black]{background:#111}.color-preview[data-color=blue]{background:#3b82f6}.color-preview[data-color=purple],.color-preview[data-color=lilac]{background:#8b5cf6}.color-preview[data-color=pink],.color-preview[data-color=taffy-pink]{background:#ec4899}.color-preview[data-color=green],.color-preview[data-color=fern-green]{background:#22c55e}.color-preview[data-color=red],.color-preview[data-color=ruby]{background:#ef4444}.color-preview[data-color=orange]{background:#f97316}.color-preview[data-color=brown]{background:#92400e}.color-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.dev-tools{margin-top:1.25rem;padding-top:0;border-top:none}.dev-tools-header{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.upgrade-modal-new{background:var(--bg-elevated);border-radius:24px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1);padding:0;position:relative;box-shadow:0 -4px 24px #0003,0 -1px 3px #0000001a;border:1px solid rgba(255,255,255,.06)}@media (min-width: 640px){.upgrade-modal-new{border-radius:20px;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;max-height:85vh}}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;z-index:10}.modal-close-btn:hover{background:var(--bg-secondary)}.modal-close-btn:active{transform:scale(.95)}.upgrade-content{padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom))}.upgrade-header{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--bg-secondary);margin-bottom:1.5rem}.upgrade-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:500;margin-bottom:.75rem}.upgrade-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.upgrade-price{font-size:2.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.upgrade-period{font-size:1.125rem;font-weight:400;color:var(--text-secondary)}.upgrade-subtitle{font-size:1rem;color:var(--text-secondary);margin:0}.upgrade-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.upgrade-feature-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.938rem;color:var(--text-primary)}.upgrade-feature-item svg{flex-shrink:0;margin-top:.125rem;color:var(--accent)}.btn-upgrade-cta{width:100%;background:var(--accent);color:#fff;border:none;padding:1rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:54px;margin-bottom:0}.btn-upgrade-cta:hover{opacity:.9}.btn-upgrade-cta:active{transform:scale(.98)}.btn-upgrade-cta:disabled{opacity:.75;cursor:not-allowed;transform:none}.upgrade-btn-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.upgrade-spinner{animation:upgrade-spin .8s linear infinite;flex-shrink:0}@keyframes upgrade-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upgrade-trial-text{text-align:center;margin:.625rem 0 0;font-size:.75rem;color:var(--text-tertiary, #9ca3af)}.pro-gate{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem 1rem}.pro-gate__spinner{display:flex;align-items:center;justify-content:center;min-height:60vh}.pro-gate__card{text-align:center;max-width:360px;width:100%;padding:2.5rem 2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, 16px)}.pro-gate__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);margin-bottom:1.25rem}.pro-gate__title{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;line-height:1.2}.pro-gate__description{font-size:.9375rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1.75rem}.pro-gate__error{font-size:.8125rem;color:var(--error, #ef4444);margin:0 0 1rem}.pro-gate__actions{display:flex;flex-direction:column;align-items:center}.pro-gate__btn{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600}.btn-compare-toggle{width:100%;background:transparent;border:none;color:var(--text-secondary);padding:.75rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-compare-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-compare-toggle:active{transform:scale(.98)}.free-comparison{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--bg-secondary)}.free-comparison-header{margin-bottom:1rem}.free-comparison-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.free-comparison-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.free-comparison-note{font-size:.813rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.375rem .75rem;border-radius:20px}.free-comparison-features{display:flex;flex-direction:column;gap:.875rem}.free-feature-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.free-feature-item svg{flex-shrink:0;margin-top:.125rem;color:var(--text-tertiary)}.free-feature-limit{color:var(--text-tertiary)}.free-feature-limit svg{color:var(--text-tertiary)}.booking-link-card{display:flex;flex-direction:column;gap:.75rem;padding:10px 0 6px}.booking-link{background:var(--bg-tertiary);padding:1rem 1.25rem;border-radius:var(--radius-sm);word-break:break-all;color:var(--accent);font-size:.875rem;font-family:monospace;border:1px solid var(--border)}@media (max-width: 640px){.booking-link-card{gap:.625rem}.booking-link{padding:.75rem 1rem;font-size:.813rem}.booking-link-save-btn,.booking-link-copy-btn{min-height:44px;padding:.75rem 1.5rem}}.booking-slug-input-wrapper{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.booking-slug-prefix{color:var(--text-secondary);font-size:.9375rem;white-space:nowrap;flex-shrink:0}.booking-slug-prefix-label{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem;font-weight:500}.booking-slug-input{flex:1;min-width:0}@media (max-width: 480px){.booking-slug-input-wrapper{flex-direction:column;align-items:flex-start;gap:.5rem}.booking-slug-input{width:100%}}.services-view-toggle{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-sm)}.services-view-toggle:hover{background:var(--bg-secondary)}.services-view-toggle:active{transform:scale(.98)}.services-view-toggle-text{font-size:.875rem;font-weight:500;color:var(--accent);letter-spacing:-.01em}.services-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.04);transition:opacity .2s}.service-item:last-child{border-bottom:none}.service-item:hover{opacity:.7}.service-info{flex:1}.service-name{font-weight:500;color:var(--text-primary);font-size:.9375rem;margin-bottom:.25rem;letter-spacing:-.01em}.service-details{color:var(--text-secondary);font-size:.875rem;font-weight:400;line-height:1.4}.service-actions{display:flex;gap:.5rem;align-items:center}.service-meta{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.service-edit-form{width:100%;display:flex;flex-direction:column;gap:1rem}.service-edit-actions{display:flex;gap:.75rem;padding-top:.5rem}.service-edit-actions .btn-primary,.service-edit-actions .btn-secondary{flex:1}.btn-text-danger{color:#ef4444!important}.btn-text-danger:hover{color:#dc2626!important}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-primary);transition:.3s;border-radius:12px;border:1px solid var(--border)}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text-tertiary);transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--accent);border-color:var(--accent)}input:checked+.slider:before{transform:translate(24px);background-color:#fff}.add-service-form{padding:1.5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:1rem}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid rgba(0,0,0,.09)}.settings-row-last{padding-bottom:0}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0}.settings-section-notifications{border-top:none}.buffer-input-row{display:flex;align-items:center;gap:8px;margin-top:8px}.buffer-input{width:64px;padding:8px 10px;font-size:.9375rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);text-align:center;-moz-appearance:textfield}.buffer-input::-webkit-outer-spin-button,.buffer-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.buffer-input-label{font-size:.9375rem;color:var(--text-secondary);font-weight:400}.settings-row-action{align-items:center}.settings-section-plan{padding-top:36px}.btn-sm{padding:.375rem .875rem;font-size:.875rem}.input-suffix-compact{width:100px;flex-shrink:0}.input-suffix-compact input{padding:.375rem .5rem;font-size:.9375rem}.pro-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.6875rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;margin-left:.5rem;vertical-align:middle;letter-spacing:.02em}.settings-info{flex:1}.setting-label{font-weight:500;margin-bottom:.25rem;font-size:.9375rem;color:var(--text-primary)}.setting-description{font-size:.875rem;color:var(--text-secondary);font-weight:400;line-height:1.4}.waitlist-notify-section{margin:1.5rem 0}.response-badge{background:#3b82f61a;color:#3b82f6;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-left:.5rem}.no-slots-message{text-align:center;padding:2rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:1rem}.no-slots-message p{margin-bottom:.75rem;color:var(--text-secondary)}.join-waitlist-prompt{font-size:.938rem;color:var(--text-primary);font-weight:500}.availability-message{text-align:center;padding:1.75rem 1.5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:.5rem}.availability-message__title{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.5;margin:0}.availability-message__description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:.25rem 0 0}.availability-message .btn-waitlist{margin-top:1.5rem}.waitlist-message{text-align:center;padding:1.75rem 1.5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:.5rem}.waitlist-message p{color:var(--text-primary);font-size:1rem;line-height:1.5;margin:0}.waitlist-subtitle{font-size:.938rem;color:var(--text-secondary);margin-top:.25rem!important;margin-bottom:1.5rem!important}.day-closed-message{text-align:center;padding:1.75rem 1.5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:.5rem}.day-closed-message p{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.day-closed-message p+p{font-size:.875rem;color:var(--text-tertiary);margin-top:.25rem}.closed-day-message{text-align:center;padding:2rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-top:1rem}.closed-day-message p{color:var(--text-secondary);font-size:.938rem;font-weight:500}.no-slots-message button{margin-top:1rem}.btn-waitlist{background:transparent;border:1.5px solid rgba(255,255,255,.15);border-radius:999px;padding:.875rem 2rem;font-size:1rem;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-waitlist:hover{border-color:#ffffff40;background:#ffffff08;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.btn-waitlist:active{transform:scale(.98);border-color:var(--accent);background:#6b7c850d}.booking-calendar{margin-bottom:.75rem;width:100%;max-width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-month{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.calendar-nav-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;color:var(--text-primary);transition:all .2s}.calendar-nav-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.calendar-message{background:#fef3c7;border:1px solid #F59E0B;color:#92400e;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;text-align:center;font-size:.875rem;font-weight:500;animation:slideUp .3s ease-out}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;width:100%;overflow:hidden}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:.5rem;text-transform:uppercase}.calendar-day{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .2s;position:relative;padding:.25rem;min-width:0;overflow:hidden;width:100%;box-sizing:border-box}.calendar-day.empty{border:none;background:transparent;cursor:default}.calendar-day:not(.empty):not(.disabled):not(.closed):hover{border-color:var(--accent);background:var(--accent-subtle);transform:scale(1.05)}.calendar-day.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-day.today:not(.selected){border-color:var(--accent);border-width:2px}.calendar-day.closed{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed}.calendar-day.closed:hover{transform:none;border-color:var(--border)}.calendar-day.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.calendar-day .day-number{font-size:.875rem;font-weight:600}.calendar-day .closed-label{font-size:.625rem;color:var(--text-tertiary);margin-top:.125rem;font-weight:500}.calendar-day.selected .closed-label{color:#fffc}@media (max-width: 480px){.calendar-grid{gap:.375rem}.calendar-weekday{padding:.375rem .125rem;font-size:.688rem}.calendar-day{font-size:.813rem;padding:.188rem}.calendar-day .day-number{font-size:.813rem}.calendar-day .closed-label{font-size:.563rem}.booking-container{padding:0 .875rem}}.earnings-section{margin:2rem 0}.earnings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.earnings-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;animation:slideUp .5s ease-out}.earnings-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.earnings-amount{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.client-card{cursor:pointer;animation:slideUp .3s ease-out;transition:all .2s}.client-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.client-card:active{transform:scale(.98)}.client-notes-preview{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-secondary);font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:1rem;overflow-x:hidden}@media (min-width: 640px){.modal-overlay{align-items:center;padding:1.5rem}}.modal-content{background:var(--bg-elevated);border-radius:24px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 -4px 24px #0003,0 -1px 3px #0000001a;animation:slideUpSheet .28s cubic-bezier(.22,1,.36,1);border:1px solid rgba(255,255,255,.06)}@media (min-width: 640px){.modal-content{border-radius:20px;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;max-height:85vh}}.block-time-modal{background:var(--bg-elevated);border-radius:24px;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 -4px 24px #0003,0 -1px 3px #0000001a;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1);padding:1.5rem;border:1px solid rgba(255,255,255,.06)}@media (min-width: 640px){.block-time-modal{border-radius:20px;padding:2rem;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;max-height:85vh}}.block-time-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.block-time-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;padding:0}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.block-time-datetime{margin-bottom:2rem;text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:12px}.block-time-date{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.block-time-time{font-size:2rem;font-weight:700;color:var(--accent)}.block-time-section{margin-bottom:2rem}.block-time-label{display:block;font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:1rem}.duration-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.duration-btn{padding:.875rem 1rem;border:2px solid var(--border);background:var(--bg-primary);border-radius:10px;font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.duration-btn:hover{border-color:var(--accent);background:var(--bg-secondary)}.duration-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.custom-duration-input{margin-top:.75rem}.custom-duration-input input{width:100%;padding:.875rem 1rem;border:2px solid var(--accent);background:var(--bg-secondary);border-radius:10px;font-size:.9375rem;color:var(--text-primary)}.custom-duration-input input:focus{outline:none;border-color:var(--accent);background:var(--bg-elevated)}.block-time-helper{font-size:.875rem;color:var(--text-secondary);text-align:center;margin-bottom:2rem;line-height:1.5}.block-time-actions{display:flex;gap:.75rem}.block-time-actions .btn-secondary,.block-time-actions .btn-primary{flex:1;padding:.875rem 1.5rem;font-weight:500}.manage-block-modal{background:var(--bg-elevated);border-radius:24px;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 -4px 24px #0003,0 -1px 3px #0000001a;animation:slideUpSheet .35s cubic-bezier(.16,1,.3,1);padding:1.5rem;border:1px solid rgba(255,255,255,.06)}@media (min-width: 640px){.manage-block-modal{border-radius:20px;padding:2rem;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;max-height:85vh}}.manage-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.manage-block-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.manage-block-datetime{margin-bottom:2rem;text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:12px}.manage-block-date{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.manage-block-time{font-size:2rem;font-weight:700;color:var(--accent)}.manage-block-time-edit{display:flex;gap:1rem;margin-top:1rem}.time-input-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.time-input-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-align:left}.time-input-group input[type=time]{padding:.75rem;border:2px solid var(--border);background:var(--bg-elevated);border-radius:10px;font-size:1rem;color:var(--text-primary);font-weight:600}.time-input-group input[type=time]:focus{outline:none;border-color:var(--accent)}.manage-block-actions{display:flex;gap:.75rem}.manage-block-actions .btn-secondary,.manage-block-actions .btn-primary,.manage-block-actions .btn-danger{flex:1;padding:.875rem 1.5rem;font-weight:500}.btn-danger{background:var(--error);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;font-size:.9375rem}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem}.modal-header h2{font-size:1.5rem;font-weight:700}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;padding:0}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-body .form-group:first-child{margin-top:.5rem}.modal-body .form-group,.modal-body .form-row{margin-bottom:1rem}.modal-body .form-group:last-child,.modal-body .form-row:last-child{margin-bottom:0}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions button{flex:1;white-space:nowrap;min-width:0}.modal-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;padding:1.125rem 1.5rem .375rem;text-align:center}.modal-content>.modal-body{padding:0 1.5rem;text-align:center;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.modal-actions-single{display:flex;flex-direction:column;align-items:center;gap:.375rem;margin-top:.875rem;padding:0 1.5rem 1rem}.btn-primary-single{background:var(--accent);color:#fff;font-weight:600;border:none;padding:.625rem 1.5rem;height:44px;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:1rem;width:100%;display:flex;align-items:center;justify-content:center}.btn-primary-single:hover{background:var(--accent-light);transform:translateY(-1px)}.btn-primary-single:active{transform:translateY(0);background:var(--accent-dark)}.btn-text-secondary{background:transparent;border:none;color:#4b5563;padding:.5rem 1rem;font-size:1rem;cursor:pointer;transition:color .2s ease;font-weight:500}.btn-text-secondary:hover{color:var(--text-primary)}.confirm-modal-error{margin:0 1.5rem;padding:.625rem .875rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:.875rem;line-height:1.4;text-align:center}.modal-footer{display:flex;gap:.75rem;margin-top:1rem;padding-bottom:.875rem;justify-content:center}.modal-footer .btn-primary,.modal-footer .btn-secondary,.modal-footer .btn-danger{height:44px;border-radius:10px;font-weight:600;min-width:120px;width:auto}.modal-footer .btn-danger{background:#ef4444;color:#fff;border:none}.modal-footer .btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.modal-footer .btn-danger:active{background:#b91c1c;transform:translateY(0)}.unlock-waitlist-modal{max-width:420px;padding:1.5rem 1.5rem 1.125rem;text-align:center}@media (min-width: 640px){.unlock-waitlist-modal{padding:1.75rem 2rem 1.25rem}}.unlock-waitlist-header{margin-bottom:.625rem}.unlock-waitlist-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin:0}@media (min-width: 640px){.unlock-waitlist-title{font-size:1.75rem}}.unlock-waitlist-body{margin-bottom:1.25rem}.unlock-waitlist-description{font-size:1rem;line-height:1.5;color:var(--text-secondary);margin:0}.unlock-waitlist-cta{margin-bottom:.5rem}.unlock-waitlist-btn{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;margin-bottom:.5rem}.unlock-waitlist-subtext{font-size:.8125rem;color:var(--text-tertiary);margin:0}.unlock-waitlist-footer{padding-top:0}.unlock-waitlist-cancel{background:none;border:none;color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;padding:.5rem;transition:color .15s ease}.unlock-waitlist-cancel:hover{color:var(--text-primary)}.unlock-waitlist-cancel:active{transform:scale(.98)}.availability-day-row{display:grid;grid-template-columns:auto 90px 1fr;align-items:center;gap:.625rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.availability-day-row:last-child{border-bottom:none}.day-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.time-inputs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-input{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;width:100px;flex-shrink:0}.time-separator{color:var(--text-secondary);font-size:.875rem;flex-shrink:0}.availability-grid{margin-top:.25rem}.client-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.detail-stat{background:var(--bg-secondary);padding:1rem;border-radius:var(--radius-sm);text-align:center}.detail-stat-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.detail-stat-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.field-hint{font-size:.875rem;color:var(--text-secondary);margin-top:-.25rem;font-weight:400;line-height:1.5}.input-suffix-wrapper{position:relative;display:flex;align-items:center}.input-suffix-wrapper input{padding-right:2.5rem;width:100%}.input-suffix{position:absolute;right:.75rem;font-size:.875rem;color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none}.success-icon{animation:checkmark .6s ease-out}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:400px}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.empty-state-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.empty-state-text{font-size:1rem;color:var(--text-secondary);max-width:500px;line-height:1.6}.waitlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem}.waitlist-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;transition:all .2s ease}.waitlist-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.waitlist-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.client-info{flex:1}.client-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.client-phone{font-size:.875rem;color:var(--text-secondary)}.status-badges{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.badge{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-sent{background:var(--accent);color:#fff}.badge-response{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.waitlist-card-body{flex:1;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.waitlist-card-body .detail-row{display:flex;flex-direction:column;gap:.25rem;padding:0;border:none}.waitlist-card-body .detail-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.waitlist-card-body .detail-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.waitlist-card-footer{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.appointment-detail{display:flex;flex-direction:column;gap:1.5rem}.detail-section h2{margin-bottom:.5rem}.phone-link a{color:var(--accent);text-decoration:none}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.detail-label{color:var(--text-secondary);font-size:.875rem}.detail-value{font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:999px;font-size:.813rem;font-weight:600;text-transform:capitalize}.status-confirmed{background:#0000000d;color:#0009}.status-just_finished{background:#f59e0b1a;color:#d97706}.status-completed{background:#10b9811a;color:#059669}.status-cancelled,.status-no_show{background:#ef44441a;color:#dc2626}.notes-text{color:var(--text-secondary);line-height:1.6;margin-top:.5rem}.detail-actions{display:flex;flex-direction:column;gap:.75rem}.detail-page-header{margin-bottom:1.25rem}.detail-client-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 .25rem;margin-bottom:.75rem}.detail-client-hero-left{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.appointment-detail-page{display:flex;flex-direction:column;gap:1rem;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.appt-action-stack{display:flex;flex-direction:column;gap:.625rem}.appt-action-btn{width:100%;padding:.9375rem 1rem;font-size:.9375rem;font-weight:600;border-radius:12px;cursor:pointer;transition:opacity .15s,background-color .15s;text-align:center}.appt-action-primary{background:#000;color:#fff;border:none}.appt-action-primary:hover{opacity:.85}.appt-action-secondary{background:#fff;color:#111827;border:1.5px solid #E5E7EB}.appt-action-secondary:hover{background:#f9fafb;border-color:#d1d5db}.appt-action-destructive{background:none;color:#b91c1c;border:none;font-weight:500;font-size:.875rem;padding:.5rem 1rem;margin-top:.75rem;border-top:1px solid #F3F4F6;border-radius:0;width:100%}.appt-action-destructive:hover{color:#991b1b}.appt-detail-v2{display:flex;flex-direction:column;gap:1rem;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.appt-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;overflow:hidden}.appt-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.875rem;padding:1rem 1.125rem .875rem}.appt-card-client{min-width:0;flex:1}.appt-card-name{font-size:1.375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;margin:0 0 .2rem}.appt-card-contact{font-size:.875rem;color:var(--accent);text-decoration:none;font-weight:400}.appt-card-contact:hover{text-decoration:underline}.appt-status-pill{display:inline-block;padding:.2rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;margin-top:.25rem}.appt-status-pill--confirmed,.appt-status-pill--scheduled{background:#eff6ff;color:#1d4ed8}.appt-status-pill--in_session,.appt-status-pill--just_finished{background:#f0fdf4;color:#15803d}.appt-status-pill--completed{background:#f3f4f6;color:#374151}.appt-status-pill--cancelled{background:#fef2f2;color:#991b1b}.appt-status-pill--no_show{background:#fffbeb;color:#92400e}.appt-status-pill--tappable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.appt-status-pill--tappable:active{opacity:.7}.status-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0 .75rem calc(env(safe-area-inset-bottom,0px) + 2.5rem);animation:fadeIn .18s ease}.status-sheet{background:var(--surface, #fff);border-radius:1rem 1rem .75rem .75rem;width:100%;max-width:480px;overflow:hidden;padding-bottom:.5rem;animation:slideUp .22s cubic-bezier(.32,.72,0,1)}.status-sheet-title{font-size:.75rem;font-weight:600;color:var(--text-secondary, #6B7280);text-align:center;padding:.625rem 1rem .5rem;text-transform:uppercase;letter-spacing:.05em}.status-sheet-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1.25rem;background:none;border:none;font-size:1rem;color:var(--text-primary, #111827);text-align:left;cursor:pointer;border-top:1px solid var(--border, #F3F4F6);transition:background .12s}.status-sheet-option:active{background:var(--bg, #F9FAFB)}.status-sheet-option--active{font-weight:600}.status-sheet-cancel{display:block;width:calc(100% - 1.5rem);margin:.625rem .75rem 0;padding:.875rem;background:var(--bg, #F3F4F6);border:none;border-radius:.75rem;font-size:1rem;font-weight:600;color:var(--text-primary, #111827);cursor:pointer;transition:opacity .12s}.status-sheet-cancel:active{opacity:.7}.status-confirm-dialog{background:var(--surface, #fff);border-radius:1rem;width:calc(100% - 3rem);max-width:320px;margin-bottom:auto;margin-top:auto;overflow:hidden;animation:scaleIn .18s cubic-bezier(.34,1.56,.64,1)}.status-confirm-title{font-size:1rem;font-weight:700;color:var(--text-primary, #111827);text-align:center;padding:1.25rem 1.25rem .375rem}.status-confirm-body{font-size:.9375rem;color:var(--text-secondary, #6B7280);text-align:center;padding:0 1.25rem 1.25rem;line-height:1.5}.status-confirm-body strong{color:var(--text-primary, #111827)}.status-confirm-actions{display:flex;border-top:1px solid var(--border, #F3F4F6)}.status-confirm-cancel,.status-confirm-ok{flex:1;padding:.875rem;background:none;border:none;font-size:.9375rem;cursor:pointer;transition:background .12s}.status-confirm-cancel{color:var(--text-secondary, #6B7280);border-right:1px solid var(--border, #F3F4F6)}.status-confirm-ok{font-weight:700;color:var(--accent, #2563EB)}.status-confirm-cancel:active,.status-confirm-ok:active{background:var(--bg, #F9FAFB)}.status-confirm-cancel:disabled,.status-confirm-ok:disabled{opacity:.5;cursor:not-allowed}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.appt-card-divider{height:1px;background:var(--border);margin:0}.appt-card-rows{padding:0 1.125rem}.appt-card-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6875rem 0;border-bottom:1px solid var(--border)}.appt-card-row--last{border-bottom:none}.appt-card-row-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500;flex-shrink:0}.appt-card-row-value{font-size:.9rem;color:var(--text-primary);font-weight:500;text-align:right}.appt-card-service{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.appt-card-service-name{font-size:.9rem;font-weight:600;color:var(--text-primary)}.appt-card-service-meta{font-size:.8125rem;color:var(--text-secondary);font-weight:400}.appt-card-row-edit{display:flex;align-items:center;gap:.3rem;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:right}.appt-card-row-edit svg{color:#c4c4c4;flex-shrink:0}.appt-inline-editor{padding:.75rem 0 .875rem;animation:slideDown .2s ease-out}.appt-inline-label{display:block;font-size:.8125rem;color:var(--text-secondary);font-weight:500;margin-bottom:.625rem}.appt-slots-empty{padding:.875rem;text-align:center;color:#9ca3af;font-size:.875rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}.appt-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.4rem;max-height:210px;overflow-y:auto;padding:.75rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border);margin-bottom:.875rem}.appt-slot-btn{padding:.5rem .25rem;font-size:.8125rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:border-color .15s;font-family:inherit}.appt-slot-btn--selected{border:2px solid #000;color:#000}.appt-inline-editor-actions{display:flex;gap:.5rem;margin-top:.625rem}.appt-inline-cancel{flex:1;padding:.75rem;font-size:.9rem;font-weight:600;border:1.5px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-family:inherit}.appt-inline-confirm{flex:1;padding:.75rem;font-size:.9rem;font-weight:600;border:none;border-radius:10px;background:#000;color:#fff;cursor:pointer;font-family:inherit;opacity:1;transition:opacity .15s}.appt-inline-confirm:disabled{opacity:.4;cursor:not-allowed}.appt-card-notes{padding:.75rem 1.125rem 1rem}.appt-card-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.appt-card-notes-text{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0;font-weight:400}.appt-detail-v2 .appt-action-stack{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.appt-action-cancel{color:#b91c1c!important;border-color:#fecaca!important}.appt-action-cancel:hover{background:#fff5f5!important;border-color:#fca5a5!important}.detail-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.detail-card-unified{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.detail-section,.detail-section-primary{padding:1rem 1.25rem}.detail-section-secondary{padding:.75rem 1.25rem}.detail-section-tertiary{padding:.75rem 1.25rem;background:var(--bg-primary)}.detail-divider{height:1px;background:var(--border);margin:0;opacity:.45}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.detail-client-name{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin:0;flex:1;line-height:1.3}.detail-client-contacts{display:flex;flex-direction:column;gap:.125rem}.detail-client-name-editable{cursor:text;border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:2px;transition:border-color .2s}.detail-client-name-editable:hover{border-bottom-color:#0003}.detail-client-name-input{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin:0;flex:1;line-height:1.3;padding:0 0 2px;border:none;border-bottom:2px solid var(--accent);background:transparent;outline:none;font-family:inherit;width:100%}.detail-phone{display:inline-block;color:var(--accent);text-decoration:none;font-size:.938rem;font-weight:500;padding:0;margin-bottom:.5rem}.detail-phone-editable{cursor:text;border-bottom:1px solid rgba(59,130,246,.15);padding-bottom:1px;transition:border-color .2s}.detail-phone-editable:hover{border-bottom-color:#3b82f640;text-decoration:none}.detail-phone-input{display:inline-block;color:var(--accent);font-size:.938rem;font-weight:500;padding:0 0 1px;margin-bottom:.5rem;border:none;border-bottom:2px solid var(--accent);background:transparent;outline:none;font-family:inherit}.detail-phone:hover{text-decoration:underline}.detail-datetime-combined{font-size:.938rem;color:var(--text-primary);font-weight:600;transition:opacity .15s}.detail-datetime-combined:hover{opacity:.7}.detail-datetime-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.04)}.detail-date{font-size:.813rem;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.detail-time-prominent{font-size:1.625rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.service-combined-info{display:flex;flex-direction:column;gap:.25rem}.service-combined-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.4}.service-combined-meta{font-size:.875rem;color:var(--text-secondary);font-weight:500}.detail-item{padding:.875rem 0;border-bottom:1px solid var(--border)}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-item:first-child{padding-top:0}.detail-item-label{font-size:.813rem;color:var(--text-secondary);margin-bottom:.375rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.detail-item-value{font-size:.938rem;color:var(--text-primary);font-weight:500;line-height:1.5}.detail-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.notes-display{padding:0;background:transparent;border-radius:0;color:var(--text-secondary);font-size:.875rem;font-weight:400;line-height:1.5;min-height:auto}.notes-edit-section{display:flex;flex-direction:column;gap:.75rem}.notes-textarea{width:100%;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.938rem;font-family:inherit;resize:vertical;line-height:1.6;min-height:64px}.notes-textarea:focus{outline:none;border-color:var(--accent)}.notes-actions{display:flex;gap:.75rem;justify-content:flex-end}.detail-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;margin-top:0}.detail-action-btn{display:flex;align-items:center;justify-content:center;padding:1.125rem 1rem;background:transparent;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.938rem;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all .15s ease}.detail-action-btn:hover{background:var(--bg-elevated);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.detail-action-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000000f}.detail-action-btn-destructive{border-color:var(--border);color:var(--text-primary)}.detail-action-btn-destructive:hover{border-color:#ef4444;color:#ef4444;background:#ef44440a}.detail-action-btn-neutral{border-color:var(--border);color:var(--text-primary)}.detail-action-btn-neutral:hover{border-color:var(--accent);background:var(--bg-elevated)}.detail-primary-actions{display:flex;flex-direction:column;gap:.625rem}.detail-more-menu-container{position:relative}.btn-more-menu{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);font-size:.875rem;font-weight:500}.btn-more-menu svg{width:18px;height:18px}.btn-more-menu:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.more-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:998}.more-menu-dropdown{position:absolute;bottom:calc(100% + .5rem);left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;z-index:999;animation:slideUpFade .15s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.more-menu-item{width:100%;background:transparent;border:none;padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .15s ease;color:var(--text-primary);font-size:.938rem;font-weight:500;text-align:left;border-bottom:1px solid var(--border)}.more-menu-item:last-child{border-bottom:none}.more-menu-item svg{width:20px;height:20px;flex-shrink:0}.more-menu-item:hover{background:var(--bg-tertiary)}.more-menu-item-danger{color:var(--error)}.more-menu-item-danger:hover{background:#dc26261a}.btn-no-show{color:#dc2626;border-color:#dc2626;background:transparent}.btn-no-show:hover{background:#dc26261a;border-color:#dc2626}.detail-actions-section{display:flex;flex-direction:column;gap:.625rem;margin-top:0}.btn-large{display:flex;align-items:center;justify-content:center;padding:.875rem 1.25rem;font-size:.938rem;font-weight:600}.btn-danger-text{background:transparent;border:none;color:var(--error);cursor:pointer;transition:all .2s ease;font-size:.875rem;padding:.5rem;margin-top:.25rem}.btn-danger-text:hover{text-decoration:underline}.btn-danger-text:active{transform:scale(.98)}.public-booking{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;background:#f9fafb;padding:0}.booking-sticky-top{background:#f9fafb}.booking-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#f9fafb;border-top:1px solid var(--border);padding:.875rem 1.5rem;padding-bottom:calc(.875rem + env(safe-area-inset-bottom))}.booking-bottom-bar .button-group,.booking-bottom-bar .booking-confirm-actions{max-width:500px;margin:0 auto}.preview-back-bar{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem}.preview-back-btn{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-primary);background:none;border:none;cursor:pointer;padding:0;transition:opacity .15s}.preview-back-btn:hover{opacity:.6}.public-booking .loading,.public-booking .error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:#fff;font-size:1rem;color:var(--text-secondary)}.public-booking .error{color:var(--error)}.preview-banner{background:var(--accent);color:#fff;padding:.75rem 1.5rem;text-align:center;font-size:.875rem;font-weight:500;margin:0;border-radius:0}.preview-nav-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:0 1rem;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));background:#fff;border-bottom:1px solid var(--border)}.preview-close-btn{position:absolute;left:1rem;display:flex;align-items:center;gap:.25rem;background:none;border:none;font-size:1rem;font-weight:600;color:var(--text-primary);cursor:pointer;padding:.5rem 0;line-height:1}.preview-close-btn:active{opacity:.6}.preview-nav-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.booking-header{position:relative;text-align:center;padding:0 1.5rem 1.25rem;padding-top:calc(1.5rem + env(safe-area-inset-top));padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));background:#fff;border-bottom:1px solid rgba(0,0,0,.05)}.booking-header--with-cover{padding-top:0}.booking-cover{height:calc(116px + env(safe-area-inset-top));margin-right:calc(-1.5rem - env(safe-area-inset-right));margin-left:calc(-1.5rem - env(safe-area-inset-left));background:linear-gradient(135deg,#f1f2f4,#e5e7eb);background-position:center;background-size:cover}.public-booking--preview .booking-cover{height:116px}.booking-cover.has-image:after{content:"";display:block;width:100%;height:100%;background:linear-gradient(to bottom,#00000005,#0000001f)}.booking-header-content{position:relative;margin-top:-38px}.booking-profile-photo,.booking-profile-photo-placeholder{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;object-fit:cover;border:3px solid #FFFFFF;box-shadow:0 0 0 1px #00000014,0 6px 18px #00000014}.booking-profile-photo-placeholder{background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.booking-header h1{font-size:22px;font-weight:700;color:#111;margin-bottom:6px;letter-spacing:-.025em}.booking-header-eyebrow{margin-bottom:.25rem;color:var(--text-tertiary);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.business-bio{font-size:14px;color:#6b7280;line-height:1.4;margin-bottom:4px}.business-phone{font-size:14px;color:#9ca3af}@media (max-width: 640px){.booking-profile-photo,.booking-profile-photo-placeholder{width:72px;height:72px;margin-bottom:10px}.booking-header{padding:0 1.25rem 1rem;padding-top:calc(1.25rem + env(safe-area-inset-top))}.booking-header--with-cover{padding-top:0;padding-left:calc(1.25rem + env(safe-area-inset-left));padding-right:calc(1.25rem + env(safe-area-inset-right))}.booking-cover{margin-right:calc(-1.25rem - env(safe-area-inset-right));margin-left:calc(-1.25rem - env(safe-area-inset-left))}.booking-header h1{font-size:20px}.business-bio,.business-phone{font-size:14px}.booking-container{padding:1.25rem;padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.booking-bottom-bar{padding:.75rem 1.25rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}}.booking-container{max-width:500px;margin:0 auto;background:#f9fafb;border-radius:0;padding:1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.booking-progress-bar{display:flex;justify-content:space-between;padding:.75rem 1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));background:#fff;border-bottom:1px solid rgba(0,0,0,.07);gap:.75rem}.progress-step{flex:1;padding-bottom:.375rem;text-align:center;font-size:.875rem;color:var(--text-tertiary);font-weight:500;position:relative}.progress-step.active{color:var(--text-primary);font-weight:600}.progress-step.current:after{content:"";position:absolute;right:20%;bottom:-.75rem;left:20%;height:2px;border-radius:999px;background:var(--text-primary)}.public-booking .booking-step h2{color:var(--text-primary);letter-spacing:-.025em}.booking-step-intro{margin:-.125rem 0 .875rem;color:var(--text-secondary);font-size:.875rem;line-height:1.45}.public-booking .service-option{position:relative;border:1px solid rgba(0,0,0,.06);cursor:pointer;box-shadow:0 2px 8px #0000000d}.public-booking .service-option.selected{border:1.5px solid var(--text-primary);background:#fff;box-shadow:0 4px 14px #00000014}.public-booking .booking-calendar{padding:1rem;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 2px 10px #0000000a}.time-slots{margin-top:.75rem}.time-slots label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.time-slot{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-sm);padding:.875rem;text-align:center;cursor:pointer;transition:all .2s;font-weight:500;min-height:auto}.time-slot:hover{background:var(--bg-tertiary)}.time-slot.selected{border-color:var(--text-primary);background:var(--text-primary);color:#fff}.booking-availability-loading{min-height:74px;display:flex;align-items:center;justify-content:center;gap:.625rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.booking-availability-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .7s linear infinite}.deposit-notice{background:#6b7c8514;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1rem;color:var(--text-secondary);font-size:.875rem}.payment-summary{margin:1.5rem 0}.summary-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding:0 1rem}.summary-header{padding:.875rem 0;font-weight:600;font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #E5E7EB}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid #E5E7EB}.summary-row:last-child{border-bottom:none}.summary-row.highlight{background:transparent;border-top:none;border-bottom:none;padding-bottom:.5rem}.summary-row.final{background:transparent;font-weight:500}.summary-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.summary-value{font-size:.938rem;color:var(--text-primary);font-weight:600}.summary-value.deposit-amount{color:var(--accent);font-size:1.125rem}.summary-value.no-payment{color:var(--text-tertiary);text-decoration:line-through}.payment-helper{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:#10b98112;border-radius:8px;margin:0 0 .5rem;color:#059669}.payment-helper svg{width:1rem;height:1rem;flex-shrink:0}.payment-helper-text{display:flex;flex-direction:column;gap:.125rem;text-align:left}.payment-main{font-size:.875rem;font-weight:600}.payment-sub{font-size:.75rem;font-weight:400;opacity:.8}.disclaimer{text-align:center;color:var(--text-tertiary);font-size:.75rem;margin-top:1rem}.success-screen{text-align:center;padding:4rem 1.5rem 3rem;padding-top:calc(4rem + env(safe-area-inset-top));padding-bottom:calc(3rem + env(safe-area-inset-bottom));padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));background:#fff;min-height:100vh;min-height:100dvh}.success-screen h1{font-size:2rem;margin-bottom:2rem;font-weight:600}.booking-details{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin:0 0 2.5rem}.booking-details p{margin-bottom:.5rem;color:var(--text-secondary)}.booking-details p strong{color:var(--text-primary);font-weight:600}.confirmation-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.btn-full-width{width:100%}.btn-link-subtle{background:none;border:none;color:var(--text-secondary);font-size:.875rem;margin-top:0;cursor:pointer;text-decoration:none;padding:.75rem;transition:color .2s ease;font-weight:500}.btn-link-subtle:hover{color:var(--text-primary);text-decoration:underline}.next-appointment-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;animation:slideUp .4s ease-out}.status-message-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;text-align:center;animation:slideUp .4s ease-out}.status-message-text{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.next-apt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.next-apt-label{font-size:.875rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.next-apt-time{font-size:1.125rem;font-weight:700;color:var(--accent)}.next-apt-content{cursor:pointer;transition:transform .2s}.next-apt-content:active{transform:scale(.98)}.next-apt-client{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.next-apt-service{font-size:1rem;color:var(--text-secondary)}.daily-summary{margin-bottom:2rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-align:center;transition:all .2s;animation:slideUp .4s ease-out}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1}.summary-value.earnings-highlight{color:var(--success)}.summary-label{font-size:.813rem;color:var(--text-secondary);font-weight:500}.action-btn.primary{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark);font-weight:600}.action-btn.primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.text-btn{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:600;cursor:pointer;padding:.5rem;transition:all .2s}.text-btn:hover{color:var(--accent-light)}.empty-state-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem 2rem;box-shadow:0 2px 8px #0000004d;text-align:center;animation:fadeIn .5s ease-out}.empty-icon{width:64px;height:64px;margin:0 auto 1rem;opacity:.4;color:var(--text-secondary)}.empty-icon svg{width:100%;height:100%}.empty-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.empty-tagline{font-size:.9rem;font-weight:400;color:var(--text-tertiary);margin-bottom:1.5rem;line-height:1.5}.empty-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.primary-btn{background:var(--accent);color:#1a1a1a;padding:.875rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.primary-btn:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.primary-btn:active{transform:translateY(0)}.appointment-status{display:flex;align-items:center}.branding{text-align:center;color:var(--text-tertiary);font-size:.75rem;margin-top:1.5rem;opacity:.6}.booking-footer{text-align:center;padding:2rem 0 0;border-top:1px solid var(--border);margin-top:3rem}.booking-footer .branding{margin:0}.toggle-switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.toggle-disabled{opacity:.6;cursor:not-allowed}.toggle-disabled .slider{cursor:not-allowed}.lock-icon{color:var(--text-tertiary);opacity:.7}.upgrade-modal .modal-body{text-align:center}.upgrade-feature-highlight{margin-bottom:2rem}.upgrade-icon{width:64px;height:64px;margin:0 auto 1rem;background:var(--accent-subtle);border-radius:50%;display:flex;align-items:center;justify-content:center}.upgrade-icon svg{width:32px;height:32px;color:var(--accent)}.upgrade-feature-highlight h3{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.upgrade-description{font-size:.938rem;color:var(--text-secondary);line-height:1.6;margin:0}.upgrade-benefits{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem;text-align:left}.upgrade-benefit-item{display:flex;align-items:center;gap:.75rem;font-size:.938rem;color:var(--text-primary)}.upgrade-benefit-item svg{width:20px;height:20px;color:var(--success);flex-shrink:0}.upgrade-pricing{background:var(--bg-tertiary);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border)}.upgrade-price{font-size:2.5rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.5rem}.upgrade-price span{font-size:1.125rem;font-weight:500;color:var(--text-secondary)}.upgrade-includes{font-size:.875rem;color:var(--text-secondary);margin:0}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.time-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.summary-value{font-size:1.75rem}.pricing-badge{font-size:.688rem;padding:.313rem .875rem}}.pricing-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem;align-items:stretch}.pricing-card{background:var(--bg-elevated);border:none;border-radius:16px;padding:2.5rem 2rem 2rem;display:flex;flex-direction:column;position:relative;transition:all .3s ease;height:100%;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026,0 4px 8px #0000001a}.pricing-card.current-plan{background:var(--bg-elevated);box-shadow:0 4px 12px #00000026,0 0 0 2px var(--accent)}.pricing-card-muted{background:var(--bg-secondary);opacity:.8}.pricing-card-muted:hover{transform:none;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.pricing-card-muted .pricing-title{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.pricing-card-muted .pricing-price{color:var(--text-secondary)}.pricing-card-muted .pricing-tagline{font-size:.938rem;color:var(--text-tertiary)}.pricing-card-featured{background:var(--bg-elevated);box-shadow:0 4px 12px #00000026,0 0 0 2px var(--accent);transform:none}.pricing-card-featured:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pricing-badge{display:inline-block;padding:.375rem 1rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 auto 1rem;text-align:center}:root[data-theme=light] .pricing-badge{background:#e5e7eb;color:#111}:root[data-theme=dark] .pricing-badge{background:#333;color:#eaeaea}.pricing-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;text-align:center}.pricing-price{font-size:3rem;font-weight:700;color:var(--accent);text-align:center;margin-bottom:.5rem;line-height:1}.pricing-period{font-size:1rem;color:var(--text-secondary);font-weight:500}.pricing-tagline{text-align:center;color:var(--text-secondary);font-size:.938rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.pricing-features{list-style:none;margin-bottom:1.5rem;flex:1}.pricing-features li{padding:.75rem 0;color:var(--text-primary);font-size:.938rem;display:flex;align-items:flex-start;line-height:1.5}.pricing-features li:before{content:"✓";color:var(--accent);font-weight:700;margin-right:.75rem;font-size:1.125rem;flex-shrink:0}.pricing-note{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-secondary);font-size:.813rem;text-align:center;margin-bottom:1.5rem;font-style:italic}.pricing-card button{width:100%;padding:1rem;font-weight:600}.btn-muted{width:100%;padding:1rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-tertiary);font-size:.875rem;font-weight:500;cursor:not-allowed;opacity:.6;transition:none}@media (max-width: 768px){.pricing-cards{grid-template-columns:1fr;gap:2rem}.pricing-card{max-width:100%;padding:2.25rem 1.5rem 1.75rem}.pricing-badge{font-size:.688rem;padding:.313rem .875rem;margin-bottom:.875rem}.pricing-title{font-size:1.375rem}.pricing-price{font-size:2.5rem}.pricing-features li{font-size:.875rem;padding:.625rem 0}.pricing-note{font-size:.75rem;margin-bottom:1.25rem}}.setup-complete-banner{background:linear-gradient(135deg,#10b9811a,#0596690d);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius);padding:.875rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;animation:slideDown .3s ease-out}.setup-complete-content{display:flex;align-items:center;gap:.625rem}.setup-complete-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#10b98133;color:#10b981;border-radius:50%;font-size:.875rem;font-weight:700}.setup-complete-text{font-size:.875rem;font-weight:600;color:var(--text-primary)}.setup-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:1.125rem;padding:0;transition:all .2s;background:transparent;border:none;cursor:pointer}.setup-close-btn:hover{background:#0000000d;color:var(--text-primary)}.onboarding-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem}.onboarding-compact-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.875rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.onboarding-compact-card--completing{animation:onboarding-fadeout .6s ease 2.2s forwards}@keyframes onboarding-fadeout{to{opacity:0;transform:scale(.97);pointer-events:none}}.confetti-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;top:-10px;left:var(--x);width:var(--size);height:calc(var(--size) * 1.4);background:hsl(var(--hue),80%,55%);border-radius:2px;animation:confetti-fall 2.6s var(--delay) cubic-bezier(.25,.46,.45,.94) forwards;transform-origin:center center}.confetti-piece:nth-child(2n){border-radius:50%}@keyframes confetti-fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}30%{transform:translateY(30vh) translate(calc(var(--drift) * .4)) rotate(150deg)}65%{opacity:1;transform:translateY(65vh) translate(calc(var(--drift) * .75)) rotate(300deg)}to{transform:translateY(105vh) translate(var(--drift)) rotate(var(--rot));opacity:0}}.onboarding-compact-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.onboarding-compact-title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.onboarding-compact-sub{font-size:.75rem;color:var(--text-tertiary);line-height:1.3}.onboarding-compact-actions{display:flex;gap:.5rem;flex-shrink:0}.onboarding-compact-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease;white-space:nowrap}.onboarding-compact-btn:hover{background:var(--bg-tertiary)}.onboarding-compact-btn--done{color:var(--text-tertiary);background:var(--bg-tertiary);border-color:transparent}.onboarding-checklist{padding:.875rem 1rem 1rem}.onboarding-checklist-header{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.75rem}.onboarding-checklist-title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.onboarding-checklist-sub{font-size:.75rem;color:var(--text-tertiary);line-height:1.3}.onboarding-checklist-steps{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:9px;overflow:hidden}.onboarding-step{display:flex;align-items:center;gap:.625rem;min-width:0;min-height:44px;padding:.625rem .75rem;background:var(--bg-primary)}.onboarding-step+.onboarding-step{border-top:1px solid var(--border)}.onboarding-step-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--success)}.onboarding-step.done .onboarding-step-icon{color:#16a34a}.onboarding-step-label{font-size:.8125rem;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.onboarding-step.done .onboarding-step-label{color:var(--text-secondary)}.onboarding-step.active .onboarding-step-label{color:var(--text-primary);font-weight:600}.onboarding-step.pending .onboarding-step-label{color:var(--text-tertiary)}.onboarding-step-action{width:100%;background:var(--bg-primary);border:none;cursor:pointer;text-align:left;color:var(--text-secondary);font:inherit;transition:background .15s ease}.onboarding-step-action:hover{background:var(--bg-secondary)}.onboarding-step-action:active{background:var(--bg-tertiary)}.onboarding-title{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .75rem}.onboarding-steps{display:flex;flex-direction:column;gap:0}.onboarding-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;text-align:left;color:var(--text-primary);font-size:.938rem;font-weight:500;transition:opacity .15s ease}.onboarding-item:last-child{border-bottom:none}.onboarding-item:not(.onboarding-item--done):hover{opacity:.75}.onboarding-item--done{color:var(--text-secondary);cursor:default}.onboarding-item--done span{text-decoration:line-through}.onboarding-checkbox{width:1.125rem;height:1.125rem;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center}.onboarding-checkbox--done{background:var(--accent);border-color:var(--accent)}.onboarding-checkbox--done svg{width:.5rem;height:.5rem;color:#fff}.welcome-setup-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem;margin-bottom:1.5rem;text-align:center}.welcome-setup-content{max-width:480px;margin:0 auto}.welcome-setup-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;line-height:1.5}.welcome-setup-btn{padding:.875rem 2rem;font-size:1rem;min-width:200px}.setup-checklist{background:var(--bg-tertiary);border:2px solid var(--accent);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.setup-checklist-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;position:relative}.setup-checklist-header .btn-text{position:absolute;top:0;right:0}.setup-checklist-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.setup-checklist-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.checklist-items{display:flex;flex-direction:column;gap:.75rem}.checklist-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.checklist-item:hover:not(.checklist-item-completed){border-color:var(--accent);background:var(--bg-tertiary)}.checklist-item-highlighted{border-color:var(--accent);background:var(--bg-tertiary);box-shadow:0 0 0 3px #3b82f61a}.checklist-item-completed{opacity:.6;cursor:default}.checklist-checkbox{width:1.5rem;height:1.5rem;border:2px solid var(--border);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.checklist-item-completed .checklist-checkbox{background:var(--accent);border-color:var(--accent)}.checklist-checkbox svg{width:1rem;height:1rem;color:#1a1a1a}.checklist-label{font-size:.938rem;font-weight:500;color:var(--text-primary)}.checklist-item-completed .checklist-label{text-decoration:line-through;color:var(--text-secondary)}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;width:.5rem;height:.5rem;top:-10%;opacity:0;animation:confetti-fall 3s ease-out forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(100vh) rotate(720deg)}}.toast-notification{position:fixed;top:2rem;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:none;border-radius:12px;padding:1rem 1.5rem;box-shadow:0 8px 24px #00000026,0 4px 8px #0000001a,0 0 0 2px var(--accent);z-index:10000;animation:toast-slide-in .3s ease-out;max-width:90%;width:400px}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-content{text-align:center}.toast-title{font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.toast-message{font-size:.875rem;color:var(--text-secondary)}@media (max-width: 480px){.pricing-cards{gap:1.75rem}.pricing-card{padding:2rem 1.25rem 1.5rem}.setup-checklist{padding:1.25rem}.setup-checklist-title{font-size:1rem}.checklist-item{padding:.75rem .875rem}.toast-notification{width:calc(100% - 2rem);top:1rem}.pricing-badge{font-size:.656rem;padding:.281rem .813rem;margin-bottom:.75rem}.pricing-card:hover{transform:none}}.app-footer{margin-top:4rem;padding:2rem 1rem;border-top:1px solid var(--border);background:var(--bg-secondary)}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.footer-text{color:var(--text-tertiary);font-size:.875rem}.footer-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:var(--accent)}.footer-separator{color:var(--text-tertiary);font-size:.75rem}.legal-page{min-height:100vh;background:var(--bg-primary);padding:2rem 1rem;animation:fadeIn .3s ease}.legal-header{max-width:800px;margin:0 auto 2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.legal-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.legal-updated{color:var(--text-tertiary);font-size:.875rem;margin-bottom:1rem}.btn-back{background:transparent;border:none;color:var(--accent);font-size:1rem;padding:.5rem 0;margin-bottom:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .2s ease}.btn-back:hover{opacity:.8}.legal-content{max-width:800px;margin:0 auto;line-height:1.8}.legal-content section{margin-bottom:2.5rem}.legal-content h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;margin-top:2rem}.legal-content h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:.75rem;margin-top:1.5rem}.legal-content p{color:var(--text-secondary);margin-bottom:1rem;font-size:.938rem}.legal-content ul{margin:1rem 0 1.5rem 1.5rem;color:var(--text-secondary)}.legal-content li{margin-bottom:.5rem;font-size:.938rem;line-height:1.7}.contact-info{background:var(--bg-tertiary);padding:1rem 1.5rem;border-radius:var(--radius-sm);border-left:3px solid var(--text-secondary)}.auth-legal-text{margin-top:.875rem;padding-top:.875rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:.813rem;color:#b3b3b3;line-height:1.5}.legal-link{color:#f5f5f5;text-decoration:none;transition:opacity .2s ease}.legal-link:hover{opacity:.8;text-decoration:underline}.sms-consent-label{display:flex;align-items:flex-start;gap:10px;margin:0 0 .75rem;cursor:pointer}.sms-consent-checkbox{margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer}.sms-consent-text{font-size:11.5px;color:var(--text-tertiary);line-height:1.5}.booking-legal-text{margin-top:1.5rem;text-align:center}.booking-legal-text .disclaimer{font-size:.813rem;color:var(--text-tertiary);margin-bottom:.5rem}.booking-legal-text .legal-links{font-size:.813rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.booking-legal-text .separator{color:var(--text-tertiary)}.booking-legal-text .legal-link{color:#6b7280;text-decoration:none;transition:all .2s ease;font-weight:500}.booking-legal-text .legal-link:hover{color:var(--text-primary);text-decoration:underline}@media (max-width: 768px){.legal-page{padding:1.5rem 1rem}.legal-header h1{font-size:1.75rem}.legal-content h2{font-size:1.25rem}.legal-content h3{font-size:1.063rem}.footer-content,.footer-links{gap:.5rem}}@media (max-width: 480px){.legal-header h1{font-size:1.5rem}.legal-content h2{font-size:1.125rem}.legal-content p,.legal-content li{font-size:.875rem}.app-footer{padding:1.5rem 1rem}}.client-profile-editor{max-width:600px;max-height:90vh;overflow-y:auto}.client-profile-header{background:var(--bg-primary);padding:1rem 1.25rem .5rem;display:flex;justify-content:space-between;align-items:flex-start}.client-profile-header-content{display:flex;gap:.875rem;align-items:flex-start;flex:1}.client-profile-avatar{width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:600;flex-shrink:0}.client-profile-info{flex:1;min-width:0}.client-profile-name{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem;line-height:1.3}.client-profile-contact{display:flex;flex-direction:column;gap:.125rem}.client-profile-phone{font-size:.938rem;color:var(--text-secondary);font-weight:400}.client-profile-email{font-size:.875rem;color:var(--text-tertiary)}.client-profile-info input{border:none;border-bottom:1px solid transparent;background:transparent;width:calc(100% + 8px);margin-left:-4px;padding:2px 4px;outline:none;cursor:text;transition:border-color .15s,background .15s;border-radius:4px}.client-profile-info input:hover{background:#0000000a;border-bottom-color:#00000026}.client-profile-info input:focus{background:#0000000a;border-bottom-color:var(--accent)}.client-profile-info input::placeholder{color:#bbb}.client-profile-header-actions{display:flex;gap:.25rem;align-items:center}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--accent);cursor:pointer;transition:all .2s ease;flex-shrink:0}.icon-btn svg{stroke-width:1.5}.icon-btn:hover{background:var(--bg-secondary)}.icon-btn:active{transform:scale(.95)}.client-profile-quick-actions{display:flex;gap:.625rem;padding:0 1.25rem .5rem;background:var(--bg-primary)}.quick-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .625rem;background:var(--bg-secondary);border:none;border-radius:12px;color:var(--text-primary);font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s ease}.quick-action-btn svg{stroke-width:1.5}.quick-action-btn:hover{background:var(--bg-tertiary)}.quick-action-btn:active{transform:scale(.98)}.quick-action-btn svg{flex-shrink:0}.client-profile-stats{display:flex;flex-direction:column;padding:0 1.25rem .5rem;background:var(--bg-primary)}.client-stat-row{display:flex;justify-content:space-between;align-items:center;min-height:40px;border-bottom:1px solid var(--border-subtle, #f1f5f9)}.client-stat-row:last-child{border-bottom:none}.client-stat-label{font-size:.813rem;color:var(--text-secondary);font-weight:400}.client-stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.client-profile-body{padding:.5rem 1.25rem;display:flex;flex-direction:column;gap:.375rem;background:var(--bg-primary)}.client-profile-section{display:flex;flex-direction:column;gap:.25rem}.client-section-label{font-size:.813rem;font-weight:600;color:var(--text-primary)}.client-profile-textarea{width:100%;background:var(--bg-secondary);border:none;border-radius:10px;padding:.5rem .625rem;font-size:.875rem;color:var(--text-primary);resize:vertical;min-height:44px;max-height:200px;font-family:inherit;line-height:1.5;transition:all .2s ease}.client-profile-textarea:focus{outline:none;background:var(--bg-tertiary)}.client-profile-textarea::placeholder{color:var(--text-tertiary);font-style:italic}.client-profile-footer{padding:0 1.25rem .625rem;background:var(--bg-primary)}.btn-outline{background:var(--bg-secondary);border:none;color:var(--text-primary);padding:.875rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:50px}.btn-outline:hover{background:var(--bg-tertiary)}.btn-outline:active{transform:scale(.98)}@media (max-width: 640px){.client-profile-header{padding:.875rem 1rem .5rem}.client-profile-header-content{gap:.875rem}.client-profile-avatar{width:52px;height:52px;font-size:1.375rem}.client-profile-name{font-size:1.25rem}.client-profile-quick-actions{padding:0 1rem .375rem;gap:.5rem}.quick-action-btn{padding:.75rem .5rem;font-size:.75rem}.quick-action-btn svg{width:20px;height:20px}.client-profile-stats{padding:0 1rem .375rem;gap:.25rem}.client-profile-body{padding:.375rem 1rem}.client-profile-footer{padding:0 1rem .5rem}.client-profile-danger-zone{padding:.375rem 1rem .75rem}}.client-profile-danger-zone{padding:.5rem 1.25rem .875rem;background:var(--bg-primary)}.visit-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.visit-history-view-all{background:none;border:none;color:var(--accent);font-size:.813rem;font-weight:600;cursor:pointer;padding:4px 0;transition:opacity .15s ease}.visit-history-view-all:hover{opacity:.7}.visit-history-card{border-radius:10px;padding:10px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.visit-history-card-left{display:flex;flex-direction:column;gap:2px;min-width:0}.visit-history-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.visit-history-card-date{font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.visit-history-card-service{font-size:.938rem;font-weight:600;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-history-card-time{font-size:.75rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;white-space:nowrap}.visit-history-card-price{font-size:.938rem;font-weight:600;color:var(--text-primary)}.visit-history-modal{max-height:65vh;display:flex;flex-direction:column;overflow:hidden!important}.visit-history-modal .modal-header{flex-shrink:0;border-bottom:1px solid var(--border)}.visit-history-list{display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0 1.25rem 20px;flex:1;min-height:0}.visit-history-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.visit-history-row:last-child{border-bottom:none}.visit-history-row-left{display:flex;flex-direction:column;gap:2px}.visit-history-row-service{font-size:.938rem;font-weight:500;color:var(--text-primary)}.visit-history-row-date{font-size:.813rem;color:var(--text-secondary)}.visit-history-row-price{font-size:.938rem;font-weight:600;color:var(--text-primary)}.btn-danger{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:none;color:var(--error);padding:.875rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:50px}.btn-danger svg{stroke-width:1.5}.btn-danger:hover{background:#ef44441a}.btn-danger:active{transform:scale(.98)}.btn-danger svg{flex-shrink:0}.delete-confirm-modal{max-width:400px}.delete-confirm-modal .modal-header{justify-content:center;padding:1rem 1.5rem .5rem}.delete-confirm-modal .modal-body{padding:0 1.5rem .25rem}.delete-warning{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;text-align:center;margin:0}.delete-modal-actions{display:flex;gap:.75rem;margin-top:.875rem;padding:0 1.5rem 1rem}.btn-cancel-neutral{flex:1;background:#f3f4f6;border:1px solid #e5e7eb;color:var(--text-primary);padding:.875rem 1.5rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.btn-cancel-neutral:hover{background:#e5e7eb;border-color:#d1d5db}.btn-cancel-neutral:active{transform:scale(.98)}.btn-delete-destructive{flex:1;background:var(--error);border:1px solid var(--error);color:#fff;padding:.875rem 1.5rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.btn-delete-destructive:hover{background:#dc2626;border-color:#dc2626}.btn-delete-destructive:active{transform:scale(.98)}.btn-danger-solid{flex:1;background:var(--error);border:2px solid var(--error);color:#fff;padding:.875rem 1.5rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.btn-danger-solid:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger-solid:active{transform:scale(.98)}@media (max-width: 640px){.availability-day-row{grid-template-columns:auto 1fr;gap:.5rem}.day-label{grid-column:2;grid-row:1}.time-inputs{grid-column:1 / -1;grid-row:2;margin-left:2.75rem;gap:.5rem}.time-input{width:90px;font-size:.813rem;padding:.4rem}.toggle-switch{grid-row:1}}.welcome-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#0e0e10;animation:fadeIn .6s ease-out}.welcome-content{text-align:center;max-width:400px}.welcome-logo{font-family:Sora,sans-serif;font-size:4.5rem;font-weight:600;color:#fff;margin:0 0 4rem;letter-spacing:-.04em;line-height:1}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:320px;margin:0 auto}.btn-welcome-primary{padding:1rem 2rem;font-size:1.0625rem;font-weight:600;background:#fff;color:#111315;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d;width:100%}.btn-welcome-primary:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 6px 20px #0006}.btn-welcome-primary:active{transform:translateY(0)}.welcome-create-link{font-size:.9375rem;font-weight:500;color:#ffffffb3;cursor:pointer;transition:all .2s ease;text-decoration:none;border-bottom:1px solid transparent}.welcome-create-link:hover{color:#fffffff2;border-bottom-color:#fff6}.auth-container-clean{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(2rem,env(safe-area-inset-top) + 1rem) 1.5rem max(2rem,env(safe-area-inset-bottom) + 1rem);background:var(--bg-primary)}.auth-content{width:100%;max-width:400px;animation:fadeIn .4s ease-out}.auth-header-clean{text-align:center;margin-bottom:1.75rem;position:relative}.auth-back-btn{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--text-secondary, #6B7280);cursor:pointer;border-radius:8px;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.auth-back-btn:hover{background:var(--bg-secondary, #F9FAFB);color:var(--text-primary, #111111)}.first-service-back-btn{position:absolute;top:0;left:0;margin-bottom:0;align-self:unset}.auth-logo-wrapper-clean{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.auth-calendar-icon-clean{color:#111;opacity:1;flex-shrink:0}.auth-logo-clean{font-family:Sora,sans-serif;font-size:2rem;font-weight:600;color:#111;margin:0;letter-spacing:-.03em;line-height:1}.auth-step-progress{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.auth-step-bar{width:120px;height:4px;background:#e5e7eb;border-radius:99px;overflow:hidden}.auth-step-bar-fill{height:100%;background:#111;border-radius:99px;transition:width .4s cubic-bezier(.16,1,.3,1)}.auth-step-label{font-size:.75rem;font-weight:500;color:#9ca3af;letter-spacing:.02em}.auth-title{font-size:1.5rem;font-weight:600;color:#111;margin:0;line-height:1.3}.auth-subtitle{margin:4px 0 0;font-size:.875rem;color:#6b7280;line-height:1.4}.auth-container-clean .auth-form{gap:.875rem}.auth-container-clean .form-group{gap:.375rem}.auth-container-clean .form-group input,.auth-container-clean .form-group select{min-height:48px;max-height:50px;padding:0 12px;font-size:.9375rem}.auth-container-clean .field-hint{margin-top:.25rem;font-size:.75rem;opacity:.85}.auth-container-clean .username-taken-hint{margin-top:.25rem}.btn-auth-primary{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;background:#111;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;margin-top:1rem;opacity:1}.btn-auth-primary:hover:not(:disabled){background:#000;transform:translateY(-1px)}.btn-auth-primary:active:not(:disabled){transform:translateY(0);background:#333}.btn-auth-primary:disabled{opacity:.6;cursor:not-allowed}.auth-divider-clean{position:relative;text-align:center;margin:1.5rem 0 1.25rem}.auth-divider-clean:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb}.auth-divider-clean span{position:relative;background:#fff;padding:0 1rem;font-size:.875rem;color:#6b7280;font-weight:500}.social-buttons-clean{display:flex;flex-direction:column;gap:.75rem}.btn-social-clean{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.25rem;background:#fff;border:1px solid #E5E7EB;border-radius:10px;color:#111;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;opacity:1}.btn-social-clean:hover{background:#f5f5f5;border-color:#d1d5db;transform:translateY(-1px)}.btn-social-clean:active{transform:translateY(0)}.btn-social-clean .social-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.btn-social-clean span{flex-shrink:0}.auth-footer-clean{margin-top:2rem;padding-top:0;display:flex;align-items:center;justify-content:center;gap:1.5rem}.auth-footer-divider{width:1px;height:1rem;background:#e5e7eb}.btn-text-link{background:none;border:none;color:#6b7280;font-size:.9375rem;font-weight:400;cursor:pointer;transition:color .2s ease;padding:0}.btn-text-link:hover{color:#111}.auth-legal-text-clean{margin-top:2rem;text-align:center;font-size:.8125rem;color:#6b7280;line-height:1.5}.legal-link-clean{color:#111;text-decoration:none;transition:color .2s ease}.legal-link-clean:hover{color:#000;text-decoration:underline}.label-optional{font-weight:400;color:#9ca3af;font-size:.8125rem}.username-input-wrapper{position:relative;display:flex;align-items:center}.username-input-wrapper input{width:100%;padding-right:2.5rem}.username-input-wrapper.is-available input{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a22}.username-input-wrapper.is-taken input{border-color:#dc2626;box-shadow:0 0 0 1px #dc262622}.username-status-icon{position:absolute;right:.875rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.username-status-icon.checking{color:#9ca3af}.username-status-icon.available{color:#16a34a}.username-status-icon.taken{color:#dc2626}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.field-hint{margin:.3rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.4}.field-hint-error{color:#dc2626}.booking-link-preview{color:#111;font-weight:500}.username-taken-hint{margin-top:.3rem}.username-suggestions{display:flex;gap:.5rem;margin-top:.375rem;flex-wrap:wrap}.username-suggestion-chip{padding:.25rem .625rem;font-size:.8125rem;font-weight:500;border:1px solid #D1D5DB;border-radius:6px;background:#f9fafb;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.username-suggestion-chip:hover{background:#f3f4f6;border-color:#9ca3af}@media (max-width: 640px){.welcome-logo{font-size:3.5rem;margin-bottom:3rem}.btn-welcome-primary{padding:.875rem 1.75rem;font-size:1rem}}@media (max-width: 480px){.welcome-screen{padding:1.5rem}.welcome-logo{font-size:2.75rem;margin-bottom:2.5rem}}@media (max-width: 640px){.auth-container-clean{padding:max(2rem,env(safe-area-inset-top) + 1rem) 1rem max(2rem,env(safe-area-inset-bottom) + 1rem)}.auth-header-clean{margin-bottom:1.5rem}.auth-title{font-size:1.375rem}}@media (max-width: 480px){.auth-container-clean{padding:max(1.5rem,env(safe-area-inset-top) + .75rem) 1rem max(1.5rem,env(safe-area-inset-bottom) + .75rem)}.auth-header-clean{margin-bottom:1.25rem}.auth-logo-wrapper-clean{gap:.375rem;margin-bottom:.875rem}.auth-calendar-icon-clean{width:24px;height:24px}.auth-logo-clean{font-size:1.75rem}.auth-title{font-size:1.25rem}.auth-footer-clean{gap:1rem;margin-top:1.25rem;padding-top:0}}.service-card-button{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:12px;padding:.625rem .875rem;width:100%;text-align:left;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px #0000000f;margin-bottom:.375rem;display:flex;flex-direction:column;justify-content:center;min-height:60px}.service-card-button:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0000001a}.service-card-button.selected{border-color:var(--accent);background:var(--accent-subtle)}.service-card-button--custom{background:var(--bg-secondary);border:1.5px dashed #D1D5DB;margin-bottom:.375rem}.service-card-button--custom:hover{border-color:#9ca3af;border-style:dashed}.service-card-button--custom.selected{border:1.5px solid var(--accent);border-style:solid;background:var(--accent-subtle)}.service-card-button:last-of-type:not(.add-service-option){margin-bottom:0}.service-card-button .service-name{font-size:.9375rem;font-weight:600;margin-bottom:.125rem;line-height:1.3}.service-card-button .service-details{font-size:.8125rem;color:var(--text-secondary);line-height:1.3}.booking-client-summary{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary);font-weight:500;margin-bottom:0}.booking-client-summary svg{color:var(--accent);flex-shrink:0}.add-service-option{background:transparent;border:2px dashed var(--border);border-radius:12px;padding:1rem;width:100%;text-align:center;cursor:pointer;transition:all .2s ease;margin-top:.75rem;color:var(--text-secondary);font-size:.9375rem;font-weight:500}.add-service-option:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.selected-service-badge{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem 1rem;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}.conflict-banner{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;margin-bottom:1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius);color:#b91c1c;font-size:.875rem;font-weight:500;animation:conflict-fade-in .3s ease-out}.conflict-banner svg{flex-shrink:0;color:#dc2626}@keyframes conflict-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-time-section{display:flex;flex-direction:column;gap:0}.time-slot-btn{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;font-size:.9375rem;font-weight:500;color:var(--text-primary);text-align:center}.time-slot-btn:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.time-slot-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff}.price-adjust-section{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:1rem}.collapse-trigger{background:transparent;border:none;padding:.75rem 0;width:100%;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.9375rem;color:var(--text-secondary);transition:all .2s ease}.collapse-trigger:hover{color:var(--text-primary)}.collapse-icon{font-size:1.25rem;font-weight:600;color:var(--accent)}.collapse-content{margin-top:1rem;animation:slideDown .3s ease-out}.client-form{display:flex;flex-direction:column;gap:1rem}.client-card-button{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:10px;padding:.625rem .875rem;width:100%;text-align:left;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px #0000000f;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.client-card-button:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0000001a}.client-card-button.selected{border-color:var(--accent);background:var(--accent-subtle)}.client-card-button:last-child{margin-bottom:0}.client-card-info{flex:1;min-width:0}.client-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:.125rem;line-height:1.3}.client-phone{font-size:.8125rem;color:var(--text-secondary);line-height:1.3}.client-card-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff}.btn-full{width:100%;margin-top:1rem}.confirmation-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:1.5rem;animation:scaleIn .4s ease-out}.confirmation-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;animation:checkmark .5s ease-out .2s both}.confirmation-icon svg{width:48px;height:48px;color:var(--text-primary);stroke-width:2}.confirmation-heading{display:flex;flex-direction:column;gap:.25rem}.confirmation-screen h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.confirmation-subtext{font-size:1rem;color:var(--text-secondary);margin:0;font-weight:400}.confirmation-details{width:100%;max-width:400px;background:var(--bg-secondary);border-radius:var(--radius);padding:.25rem 1.25rem;display:flex;flex-direction:column}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-subtle, #f1f5f9)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.875rem;color:var(--text-tertiary);font-weight:400}.detail-value{font-size:.9375rem;color:var(--text-primary);font-weight:600;text-align:right}.confirmation-screen .btn-primary{min-width:250px}.first-service-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.first-service-container{width:100%;max-width:540px}.first-service-header{text-align:center;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:center;position:relative}.first-service-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;line-height:1.3}.first-service-subtitle{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.5}.first-service-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.first-service-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.first-service-actions .btn-secondary,.first-service-actions .btn-primary{flex:1;justify-content:center}@media (max-width: 640px){.first-service-page{padding:1.5rem}.first-service-title{font-size:1.5rem}.first-service-form{padding:1.5rem}.first-service-actions{flex-direction:column-reverse}.welcome-setup-card{padding:1.75rem 1.5rem}.welcome-setup-title{font-size:1.125rem}.detail-section{padding:1.25rem}.detail-client-name{font-size:1.25rem}.detail-time-prominent{font-size:1.5rem}.service-combined-name{font-size:.938rem}}.waitlist-entries{display:flex;flex-direction:column;gap:1rem}.waitlist-entry{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:opacity .2s ease}.waitlist-entry-stale{opacity:.6}.waitlist-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.waitlist-entry-client{flex:1;min-width:0}.waitlist-entry-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.waitlist-stale-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.688rem;font-weight:500;color:var(--text-tertiary);background:var(--bg-base);border:1px solid var(--border);border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}.waitlist-entry-phone{font-size:.938rem;color:var(--text-secondary)}.waitlist-entry-time-added{font-size:.813rem;color:var(--text-tertiary);margin-top:.25rem}.waitlist-entry-date{font-size:.875rem;color:var(--text-tertiary);white-space:nowrap}.waitlist-entry-details{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.waitlist-entry-service,.waitlist-entry-time,.waitlist-entry-notes{font-size:.938rem;color:var(--text-secondary)}.waitlist-entry-label{font-weight:500;color:var(--text-primary)}.waitlist-entry-actions{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.time-slot-input{display:flex;flex-direction:column;gap:.5rem}.time-slot-input label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.time-slot-input input{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.938rem;color:var(--text-primary);background:var(--bg-primary);transition:border-color .2s}.time-slot-input input:focus{outline:none;border-color:var(--accent)}.time-slot-input input::placeholder{color:var(--text-tertiary)}.waitlist-action-buttons{display:flex;gap:.75rem}.waitlist-action-buttons .btn-primary,.waitlist-action-buttons .btn-secondary{flex:1;justify-content:center}.waitlist-action-buttons .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.primary-action-btn{padding:1.5rem 1.25rem;font-size:1rem}.primary-action-btn svg{width:24px;height:24px}.secondary-action-btn{padding:1rem .75rem;font-size:.813rem}.secondary-action-btn svg{width:20px;height:20px}.waitlist-entry{padding:1rem}.waitlist-entry-header{flex-direction:column;gap:.5rem}.waitlist-entry-date{align-self:flex-start}}.toast{position:fixed;top:20px;right:20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-lg);z-index:10000;animation:slideIn .3s ease-out;max-width:400px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-content{display:flex;align-items:center;gap:12px;color:var(--text-primary);font-size:.938rem;font-weight:500}.toast-success .toast-content svg{color:var(--success);flex-shrink:0}.toast-error .toast-content svg{color:var(--error);flex-shrink:0}.toast-pill{position:fixed;bottom:94px;left:50%;transform:translate(-50%) translateY(0);max-width:88%;white-space:nowrap;background:#f3f4f6;border:1px solid rgba(0,0,0,.07);border-radius:100px;padding:10px 18px;box-shadow:0 8px 24px #00000021,0 2px 6px #00000012;display:flex;align-items:center;color:#111827;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;z-index:10000;pointer-events:none;animation:toastPillIn .28s ease-out forwards}@keyframes toastPillIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.action-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-elevated);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 12px 24px;box-shadow:var(--shadow-xl);z-index:1001;animation:slideUp .2s ease-out;max-width:600px;margin:0 auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-option{width:100%;padding:18px;margin:6px 0;border:none;border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.action-sheet-option:hover{background:var(--bg-tertiary);transform:scale(1.01)}.action-sheet-option:active{transform:scale(.98)}.action-sheet-option.primary{background:var(--accent);color:#fff;font-weight:600}.action-sheet-option.primary:hover{background:var(--accent-hover)}.action-sheet-option.cancel{margin-top:8px;background:var(--bg-elevated);border:1px solid var(--border);font-weight:500}.action-sheet-option.cancel:hover{background:var(--bg-secondary)}@media (max-width: 768px){.toast{top:auto;bottom:20px;right:20px;left:20px;max-width:none}}@media (max-width: 640px){.edit-appointment-modal{margin:.5rem!important;width:calc(100% - 1rem)!important;overflow-x:hidden!important}.edit-appointment-modal .modal-body{padding-left:1rem!important;padding-right:1rem!important}.edit-appointment-modal .date-time-grid{grid-template-columns:1fr!important}.edit-appointment-modal input[type=date],.edit-appointment-modal button{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}}.day-view-page{display:flex;flex-direction:column;height:calc(100dvh - 68px - env(safe-area-inset-bottom));padding:0!important;overflow:hidden;background:var(--bg-primary)}.day-view-card-wrapper{flex:1;min-height:0;display:flex;padding:8px 12px 0}.day-view-card{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px 10px 0 0;border-bottom:none;overflow:hidden;background:var(--bg-primary);min-height:0;position:relative}.day-view-card-nav{display:flex;align-items:center;justify-content:center;padding:10px 0;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.09);background:var(--bg-primary)}.day-view-card-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;min-height:0;padding-bottom:0}.day-view-card-timeline{display:flex;width:100%;position:relative;border-bottom:1px solid var(--border)}.day-view-card-timeline:before{content:"";position:absolute;top:0;bottom:0;left:40px;width:1px;background:var(--border);pointer-events:none;z-index:6}.day-view-header{display:flex;align-items:center;padding:calc(.5rem + env(safe-area-inset-top)) 1rem .5rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;z-index:20}.day-view-back-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:6px 4px;border-radius:6px;transition:opacity .15s}.day-view-back-btn:active{opacity:.6}.day-view-title{font-size:1.0625rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view-header-spacer{display:none}.day-view-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;min-height:0;padding-bottom:24px}.day-view-grid-wrapper{display:flex;width:100%;padding:8px 12px 28px}.day-view-timeline-surface{display:flex;flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-primary)}.day-view-time-col{width:40px;flex-shrink:0;position:relative;background:var(--bg-primary)}.day-view-hour-label-cell{height:76px;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px;padding-top:0;position:relative}.day-view-hour-label{font-size:.6625rem;color:#111;font-weight:500;letter-spacing:-.02em;white-space:nowrap;position:absolute;right:8px;line-height:1;transform:translateY(2px)}.day-view-main-grid{flex:1;min-width:0;overflow:visible;cursor:pointer;background:var(--bg-primary)}.day-view-hour-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--border) 100%,var(--text-tertiary));pointer-events:none;z-index:1}.day-view-half-hour-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed color-mix(in srgb,var(--border) 55%,transparent);pointer-events:none;z-index:1}.day-view-event{position:absolute;border-radius:4px;border-left:2.5px solid transparent;padding:3px 6px 3px 7px;cursor:pointer;transition:filter .12s;overflow:hidden;z-index:10;box-sizing:border-box}.day-view-event:hover{filter:brightness(.96)}.day-view-event:active{filter:brightness(.92)}.day-view-event.blocked{background-color:#00000008!important;background-image:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 6px)!important;border:1px solid rgba(0,0,0,.07);border-left:2px solid rgba(0,0,0,.1);box-shadow:none}.day-view-event.no-show{opacity:.72}.day-view-event-inner{display:flex;flex-direction:column;gap:1px;height:100%;overflow:hidden;position:relative;justify-content:flex-start}.day-view-event-header{display:flex;align-items:baseline;gap:5px;min-width:0}.day-view-event-client{font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;color:inherit;flex:1;min-width:0}.day-view-event-time{font-size:.625rem;font-weight:500;color:inherit;opacity:.55;line-height:1.25;white-space:nowrap;flex-shrink:0}.day-view-event-row2{display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0}.day-view-event-service{font-size:.6875rem;font-weight:400;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;opacity:.6;flex:1;min-width:0}.day-view-event-status-plain{font-size:.625rem;font-weight:600;color:#1a1a1a;white-space:nowrap;flex-shrink:0;opacity:.75}.day-view-event-status-tag{display:none}.day-view-event-blocked-label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);letter-spacing:-.01em}.day-view-current-time{position:absolute;left:0;right:0;display:flex;align-items:center;pointer-events:none;z-index:50;transform:translateY(-50%)}.day-view-current-time-dot{position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#00000080}.day-view-current-time-line{flex:1;height:1px;background:#00000080}.day-view-loading{padding:16px 12px}.day-view-skeleton-grid{display:flex;flex-direction:column;gap:0}.day-view-skeleton-row{display:flex;gap:12px;height:64px;align-items:flex-start;padding-top:4px}.day-view-skeleton-label{width:40px;height:12px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;flex-shrink:0;margin-top:2px}.day-view-skeleton-slot{flex:1;height:1px;background:var(--border);margin-top:8px}@media (max-width: 640px){.day-view-grid-wrapper{padding:8px 8px 24px}.day-view-event-client{font-size:.8125rem}.day-view-event-service{font-size:.6875rem}}.cal-unified-header{display:flex;align-items:center;gap:1rem;padding:3.25rem 1rem .25rem;flex-shrink:0;background:var(--bg-primary);position:relative}.cal-unified-titles{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cal-unified-titles h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.cal-unified-subtitle{font-size:.9375rem;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em;line-height:1.3}@media (max-width: 640px){.cal-unified-titles h1{font-size:1.75rem}.cal-unified-subtitle{font-size:.875rem}}.calendar-page-header{position:relative;padding-right:8px}.cal-view-switcher-wrap{position:relative;flex-shrink:0}.cal-view-switcher-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.cal-view-switcher-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-tertiary)}.cal-view-switcher-btn.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-secondary)}.cal-view-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:148px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f;overflow:hidden;z-index:200;animation:popoverIn .15s cubic-bezier(.16,1,.3,1);transform-origin:top right}@keyframes popoverIn{0%{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.cal-view-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 16px;min-height:44px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;gap:12px}.cal-view-option:last-child{border-bottom:none}.sl-insights-body{display:flex;flex-direction:column;gap:.875rem}.sl-insights-row{display:flex;flex-direction:column;gap:.125rem}.sl-insights-period{font-size:.6875rem;font-weight:700;letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase}.sl-insights-value{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.cal-view-option:hover{background:var(--bg-secondary)}.cal-view-option:active,.cal-view-option.selected{background:var(--accent-subtle)}.cal-view-option-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.cal-view-option.selected .cal-view-option-label{font-weight:600;color:var(--accent)}.cal-view-option.selected svg{color:var(--accent);flex-shrink:0}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}.safe-area-extend-top{margin-top:calc(-1*env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.safe-area-extend-bottom{margin-bottom:calc(-1*env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.na-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:99999;display:flex;align-items:center;justify-content:center;transition:background .22s ease}.na-backdrop--in{background:#0006}.na-alert{background:#f2f2f7fa;border-radius:14px;width:270px;overflow:hidden;box-shadow:0 8px 32px #00000040;transform:scale(.72);opacity:0;transition:transform .28s cubic-bezier(.34,1.52,.64,1),opacity .18s ease}.na-alert--in{transform:scale(1);opacity:1}.na-content{padding:20px 16px 16px;text-align:center}.na-title{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:17px;font-weight:600;color:#000;line-height:1.35;margin:0}.na-message{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:400;color:#3c3c43d9;line-height:1.45;margin:5px 0 0}.na-actions{border-top:.5px solid rgba(60,60,67,.3)}.na-btn{display:block;width:100%;min-height:44px;padding:11px 16px;background:none;border:none;border-top:.5px solid rgba(60,60,67,.3);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:17px;line-height:1.3;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:background .1s ease}.na-btn:first-child{border-top:none}.na-btn:active{background:#00000012}.na-btn--destructive{color:#ff3b30;font-weight:400}.na-btn--cancel{color:#007aff;font-weight:600}
