@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"layer(base);:root{--color-black: #111111;--color-white: #ffffff;--color-blush: #f7d9df;--color-rose: #df7f93;--color-soft-pink: #fcecef;--color-light-gray: #f6f6f6;--color-border: #eadfe2;--color-text-muted: #6f6f6f;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-soft-pink);--color-bg-tertiary: var(--color-light-gray);--color-bg-card: var(--color-white);--color-bg-card-hover: var(--color-soft-pink);--color-bg-elevated: var(--color-white);--color-border-subtle: var(--color-border);--color-border-default: var(--color-border);--color-border-strong: #d4c4c8;--color-border-focus: var(--color-rose);--color-border-error: var(--color-rose);--color-text-primary: var(--color-black);--color-text-secondary: #333333;--color-text-muted: var(--color-text-muted);--color-text-inverse: var(--color-white);--color-text-brand: var(--color-rose);--color-brand-primary: var(--color-black);--color-brand-primary-hover: #333333;--color-brand-primary-active: #000000;--color-brand-secondary: var(--color-rose);--color-brand-secondary-hover: #c96d82;--color-success: #2d8a3e;--color-success-bg: rgba(45, 138, 62, .1);--color-success-border: rgba(45, 138, 62, .2);--color-warning: #c09040;--color-warning-bg: rgba(192, 144, 64, .1);--color-warning-border: rgba(192, 144, 64, .2);--color-danger: #c03030;--color-danger-bg: rgba(192, 48, 48, .1);--color-danger-border: rgba(192, 48, 48, .2);--color-rose-50: #fef5f7;--color-rose-100: var(--color-soft-pink);--color-rose-200: var(--color-blush);--color-rose-300: #f0a8b8;--color-rose-400: #e690a4;--color-rose-500: var(--color-rose);--color-rose-600: #c96d82;--color-rose-700: #b05a70;--color-rose-800: #964a5e;--color-rose-900: #7d3d4d;--color-neutral-0: #ffffff;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e8e8e8;--color-neutral-300: #d0d0d0;--color-neutral-400: #a8a8a8;--color-neutral-500: #888888;--color-neutral-600: #686868;--color-neutral-700: #484848;--color-neutral-800: #303030;--color-neutral-900: #202020;--color-neutral-950: #141414;--color-neutral-1000: var(--color-black);--font-serif: "Playfair Display", "Cormorant Garamond", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .7rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .03);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px rgba(224, 160, 160, .35);--shadow-brand: 0 4px 16px rgba(192, 128, 128, .18);--shadow-card: 0 2px 8px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .04);--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-popover: 400;--z-tooltip: 500;--container-max: 1200px;--header-height: 64px;--sidebar-width: 280px}@media (prefers-color-scheme: dark){:root[data-theme=dark]{--color-bg-primary: var(--color-neutral-1000);--color-bg-secondary: var(--color-neutral-950);--color-bg-tertiary: var(--color-neutral-900);--color-bg-card: var(--color-neutral-950);--color-bg-card-hover: var(--color-neutral-900);--color-bg-elevated: var(--color-neutral-800);--color-border-subtle: var(--color-neutral-800);--color-border-default: var(--color-neutral-700);--color-border-strong: var(--color-neutral-600);--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-400);--color-text-muted: var(--color-neutral-600);--color-text-inverse: var(--color-neutral-950);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2)}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh}#root{min-height:100vh}:focus-visible{outline:none;ring:2px solid var(--color-border-focus);ring-offset:2px;ring-offset-color:var(--color-bg-primary)}::selection{background:var(--color-brand-primary);color:var(--color-text-inverse)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-neutral-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-600)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.w-full{width:100%}.max-w-container{max-width:var(--container-max);margin:0 auto}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border-default)}.border-subtle{border:1px solid var(--color-border-subtle)}.border-strong{border:1px solid var(--color-border-strong)}.bg-card{background:var(--color-bg-card)}.bg-elevated{background:var(--color-bg-elevated)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-text-brand)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.marketing-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(247,217,223,.85),transparent 26rem),linear-gradient(180deg,#fff,#fcecef);color:#111;font-family:var(--font-sans)}.marketing-nav{max-width:1180px;margin:0 auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-lockup{display:flex;align-items:center;gap:12px;color:#111;text-decoration:none}.brand-lockup img{width:150px;height:auto;object-fit:contain}.brand-lockup span{font-family:var(--font-serif, Georgia, serif);font-size:30px;letter-spacing:0}.brand-lockup small{color:#df7f93}.marketing-links{display:flex;align-items:center;gap:18px}.marketing-links a{color:#111;font-size:14px;font-weight:700;text-decoration:none}.pill-button{border:0;border-radius:999px;background:#111;color:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font-size:13px;font-weight:800;letter-spacing:0;text-decoration:none;box-shadow:0 18px 40px #11111129}.pill-button.rose{background:#df7f93}.pill-button.outline{background:transparent;border:1px solid #df7f93;color:#111;box-shadow:none}.marketing-hero{max-width:1180px;margin:0 auto;padding:54px 24px 34px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:48px;align-items:center}.eyebrow{width:fit-content;border-radius:999px;background:#fcecef;color:#df7f93;padding:8px 13px;font-size:12px;font-weight:800;text-transform:uppercase}.display-title{font-family:var(--font-serif, Georgia, serif);font-size:clamp(48px,7vw,88px);line-height:.95;font-weight:400;margin:22px 0}.display-title em{color:#df7f93;font-style:italic}.hero-copy{max-width:560px;color:#333;font-size:18px;line-height:1.65}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}.trust-row{display:flex;align-items:center;gap:12px;color:#333;font-size:14px}.stars{color:#df7f93;letter-spacing:2px}.mockup-stage{background:linear-gradient(135deg,#fff,#fcecef);border:1px solid #eadfe2;border-radius:18px;padding:28px;box-shadow:0 24px 70px #1111111a;position:relative;overflow:hidden}.dashboard-mock{background:#fff;border:1px solid #eadfe2;border-radius:18px;padding:24px;box-shadow:0 18px 50px #0000000f}.mock-header,.mock-row{display:flex;justify-content:space-between;gap:12px}.mock-card{flex:1;border:1px solid #eadfe2;border-radius:16px;padding:18px;background:#fff}.mock-card strong{display:block;font-size:28px;margin-top:8px}.mock-list{margin-top:22px;display:grid;gap:12px}.mock-appointment{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:13px;border-radius:14px;background:#fcecef}.phone-mock{position:absolute;right:18px;bottom:18px;width:180px;border:10px solid #111;border-radius:28px;background:#fff;padding:18px 12px;box-shadow:0 20px 50px #0003}.phone-mock h4{margin:0 0 14px;text-align:center}.phone-service,.phone-time{border-radius:10px;padding:10px;margin-bottom:8px;background:#fcecef;font-size:12px}.feature-strip,.marketing-section{max-width:1180px;margin:0 auto;padding:24px}.feature-grid,.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.feature-card,.price-card{background:#fff;border:1px solid #eadfe2;border-radius:18px;padding:24px;box-shadow:0 18px 50px #0000000d}.feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fcecef;color:#df7f93;margin-bottom:14px;position:relative}.feature-icon span,.feature-icon:before,.feature-icon:after{content:"";position:absolute;box-sizing:border-box}.icon-calendar span{width:23px;height:22px;border:2px solid currentColor;border-radius:5px}.icon-calendar span:before{content:"";position:absolute;inset:6px 0 auto;border-top:2px solid currentColor}.icon-calendar:before,.icon-calendar:after{top:11px;width:2px;height:6px;background:currentColor}.icon-calendar:before{left:18px}.icon-calendar:after{right:18px}.icon-bell span{width:22px;height:24px;border:2px solid currentColor;border-bottom:0;border-radius:14px 14px 8px 8px}.icon-bell:before{bottom:14px;width:28px;border-top:2px solid currentColor}.icon-bell:after{bottom:10px;width:6px;height:6px;border-radius:50%;background:currentColor}.icon-card span{width:27px;height:20px;border:2px solid currentColor;border-radius:5px}.icon-card:before{top:20px;width:27px;border-top:2px solid currentColor}.icon-card:after{right:14px;bottom:17px;width:8px;border-top:2px solid currentColor}.icon-users span{top:11px;width:12px;height:12px;border:2px solid currentColor;border-radius:50%}.icon-users:before,.icon-users:after{bottom:11px;width:20px;height:11px;border:2px solid currentColor;border-radius:14px 14px 0 0}.icon-users:before{left:9px}.icon-users:after{right:9px}.icon-chart span{left:14px;bottom:13px;width:5px;height:12px;border:2px solid currentColor;border-radius:2px}.icon-chart:before{bottom:13px;width:5px;height:21px;border:2px solid currentColor;border-radius:2px}.icon-chart:after{right:14px;bottom:13px;width:5px;height:28px;border:2px solid currentColor;border-radius:2px}.section-heading{font-family:var(--font-serif, Georgia, serif);font-size:clamp(38px,5vw,64px);line-height:1;text-align:center;font-weight:400;margin:32px auto}.section-heading em{color:#df7f93;font-style:italic}.pricing-grid{grid-template-columns:repeat(3,1fr)}.price-card.featured{border-color:#df7f93;box-shadow:0 24px 70px #df7f932e}.price{font-family:var(--font-serif, Georgia, serif);font-size:54px;margin:12px 0}.price span{font-family:var(--font-sans);font-size:15px;color:#6f6f6f}.price-card ul{padding-left:18px;line-height:2;color:#333}.auth-lux-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 18% 12%,rgba(247,217,223,.82),transparent 25rem),radial-gradient(circle at 84% 88%,rgba(223,127,147,.18),transparent 22rem),linear-gradient(180deg,#fff,#fcecef);padding:48px 20px}.auth-visual{display:none}.auth-visual h1{font-family:var(--font-serif, Georgia, serif);font-size:clamp(42px,5vw,74px);line-height:1;font-weight:400;margin:0}.auth-visual em{color:#df7f93;font-style:italic}.auth-panel{width:100%;display:flex;justify-content:center;padding:0}.auth-card{width:min(100%,460px);background:#ffffffeb;border:1px solid #eadfe2;border-radius:18px;box-shadow:0 24px 70px #1111111a;padding:34px}.auth-brand{text-align:center;margin-bottom:22px}.auth-brand img{width:150px;height:auto;display:block;margin:0 auto 10px}.auth-brand p{margin:0;color:#6f6f6f;font-size:14px;line-height:1.45}.auth-heading{text-align:center;margin-bottom:24px}.auth-heading h1{margin:0 0 8px;font-family:var(--font-serif, Georgia, serif);font-size:34px;font-weight:400;line-height:1.05;color:#111}.auth-heading p{margin:0 auto;max-width:320px;color:#6f6f6f;font-size:14px;line-height:1.45}.auth-form{display:grid;gap:15px}.auth-form button{margin-top:4px}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px}.auth-row label{display:inline-flex;align-items:center;gap:7px;color:#6f6f6f}.auth-row a,.auth-footnote a{color:#df7f93;font-weight:700;text-decoration:none}.auth-footnote{margin:20px 0 0;padding-top:18px;border-top:1px solid #eadfe2;text-align:center;color:#6f6f6f;font-size:14px}.auth-error{margin-bottom:16px;border:1px solid #f0b8c5;border-radius:12px;background:#fff5f7;color:#a83e56;padding:11px 13px;font-size:14px;line-height:1.4}@media (max-width: 900px){.marketing-nav,.marketing-links{flex-wrap:wrap}.brand-lockup img{width:132px}.marketing-hero{grid-template-columns:1fr}.auth-lux-wrapper{padding:24px 14px;align-items:flex-start}.auth-card{padding:22px}.auth-heading h1{font-size:30px}.feature-grid,.pricing-grid{grid-template-columns:1fr}.phone-mock{position:static;margin:18px auto 0}}.public-booking-wrapper{min-height:100vh;background:var(--color-bg);padding:var(--space-6)}.booking-container{max-width:720px;margin:0 auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--color-text-muted);gap:var(--space-4)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.error-card{max-width:480px;margin:120px auto;text-align:center;padding:var(--space-10) var(--space-6)}.error-icon{font-size:4rem;margin-bottom:var(--space-4)}.error-card h1{color:var(--color-text);margin-bottom:var(--space-3);font-size:var(--text-2xl)}.error-card p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.back-link{color:var(--color-primary);text-decoration:none;font-weight:500}.back-link:hover{text-decoration:underline}.client-account-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--space-8);font-size:var(--text-sm)}.account-prompt{color:var(--color-text-muted);font-weight:500}.account-link{color:var(--color-primary);text-decoration:none;font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast)}.account-link:hover{background:var(--color-primary-bg);text-decoration:none}.account-link-primary{background:var(--color-primary);color:var(--color-bg)}.account-link-primary:hover{background:var(--color-primary-hover);color:var(--color-bg)}.account-separator{color:var(--color-text-muted)}.account-benefit{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.booking-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-8);text-align:center}.business-avatar{margin-bottom:var(--space-4)}.business-name{color:var(--color-text);font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-3)}.business-bio{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.6;max-width:500px;margin:0 auto var(--space-4)}.business-meta{display:flex;justify-content:center;gap:var(--space-6);flex-wrap:wrap;color:var(--color-text-muted);font-size:var(--text-sm)}.meta-item{display:flex;align-items:center;gap:var(--space-2)}.progress-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-8);padding:var(--space-4);gap:var(--space-2)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative;z-index:1}.step-circle{width:36px;height:36px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;transition:all var(--transition-fast)}.progress-step.active .step-circle{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.progress-step.completed .step-circle{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg)}.step-label{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap;max-width:80px}.progress-step.active .step-label{color:var(--color-primary);font-weight:500}.progress-step.completed .step-label{color:var(--color-success)}.progress-line{width:60px;height:2px;background:var(--color-border);flex-shrink:0;transition:background-color var(--transition-fast)}.progress-line.completed{background:var(--color-success)}.error-message{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-error-text);font-size:var(--text-sm);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-2)}.booking-section{margin-bottom:var(--space-8)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-3)}.section-title{color:var(--color-text);font-size:var(--text-xl);font-weight:600;margin:0}.services-grid{display:grid;gap:var(--space-4)}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;cursor:pointer;transition:all var(--transition-fast);width:100%}.service-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3);gap:var(--space-3)}.service-name{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:0;flex:1}.service-price{color:var(--color-primary);font-size:var(--text-xl);font-weight:700;white-space:nowrap}.service-description{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-3)}.service-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.deposit-badge{background:var(--color-warning-bg)!important;border-color:var(--color-warning-border)!important;color:var(--color-warning-text)!important}.selected-service-summary{background:var(--color-surface);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6)}.selected-service-name{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-3)}.selected-service-meta{display:flex;flex-wrap:wrap;gap:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.date-picker-card{text-align:center;max-width:320px;margin:0 auto}.date-label{display:block;color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}.date-input{width:100%;text-align:center;font-size:var(--text-lg)!important;padding:var(--space-3) var(--space-4)!important}.selected-date-card{background:var(--color-surface);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.selected-date-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-muted)}.selected-date-content strong{color:var(--color-text)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.slot-button{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:500;transition:all var(--transition-fast)}.slot-button:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.slot-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.slot-button[aria-selected=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.no-slots-card{text-align:center;padding:var(--space-8) var(--space-6)}.no-slots-card p{color:var(--color-text);margin-bottom:var(--space-2)}.no-slots-card .subtext{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.booking-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}.required{color:var(--color-error)}.form-group input,.form-group textarea{width:100%;box-sizing:border-box}.textarea{resize:vertical;min-height:80px;font-family:inherit}.checkbox-group{margin-bottom:var(--space-4)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;line-height:1.5}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all var(--transition-fast)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:var(--color-bg);font-size:var(--text-sm);font-weight:700}.checkbox-label:focus-within .checkbox-custom{box-shadow:0 0 0 3px var(--color-focus-ring)}.health-title{color:var(--color-text);font-size:var(--text-lg);font-weight:600;margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.consent-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6)}.consent-label{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.consent-label input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.consent-text strong{color:var(--color-text)}.submit-button{width:100%;padding:var(--space-4)!important;font-size:var(--text-lg)!important;font-weight:700!important}.submit-button:disabled{opacity:.5;cursor:not-allowed}.confirmation-card{max-width:560px;margin:var(--space-8) auto;text-align:center;padding:var(--space-10) var(--space-6)}.success-icon{font-size:5rem;margin-bottom:var(--space-6)}.confirmation-card h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-4)}.confirmation-card>p{color:var(--color-text-muted);font-size:var(--text-base);margin-bottom:var(--space-8);line-height:1.6}.booking-details{text-align:left;margin-bottom:var(--space-6)}.booking-details h3{color:var(--color-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.detail-row{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--color-text-muted);font-size:var(--text-sm)}.detail-row span:last-child{color:var(--color-text);font-size:var(--text-base);font-weight:600}.info-box{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6);text-align:left}.info-box p{color:var(--color-success-text);font-size:var(--text-sm);margin-bottom:var(--space-2)}.info-box .subtext{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.home-link{color:var(--color-primary);text-decoration:none;font-size:var(--text-base);font-weight:500}.home-link:hover{text-decoration:underline}@media (max-width: 640px){.public-booking-wrapper{padding:var(--space-4)}.booking-header{padding:var(--space-6) var(--space-4)}.business-name{font-size:var(--text-2xl)}.progress-line{width:40px}.step-label{max-width:70px;font-size:10px}.booking-form{padding:var(--space-5)}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.client-dashboard{min-height:100vh;background:var(--color-bg-primary);padding:var(--space-8) var(--space-4)}.client-dashboard .loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--space-4);color:var(--color-text-muted)}.client-dashboard .spinner{width:40px;height:40px;border:3px solid var(--color-border-default);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.header-left{display:flex;align-items:center;gap:var(--space-5)}.business-name{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-brand-primary);margin:0;letter-spacing:-.02em}.welcome-text{color:var(--color-text-secondary);font-size:var(--text-base);margin:var(--space-1) 0 0}.header-right{display:flex;gap:var(--space-3)}.tab-nav{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:);border-bottom:1px solid var(--color-border-subtle);overflow-x:auto;padding-bottom:var(--space-4)}.tab-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.tab-button.active{background:var(--color-brand-primary);color:#fff}.tab-button.active .tab-count{background:#fff3}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.tab-button.active .tab-count{background:#fff3;color:#fff}.tab-panel{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle)}.empty-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.6}.empty-state h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.empty-state p{color:var(--color-text-secondary);margin:0 0 var(--space-6);max-width:300px}.appointments-list{display:flex;flex-direction:column;gap:var(--space-4)}.appointment-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);transition:all var(--transition-fast)}.appointment-card:hover{border-color:var(--color-border-default);box-shadow:var(--shadow-md)}.appointment-card.past{opacity:.85}.appointment-main{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.appointment-info{flex:1;min-width:0}.service-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.appointment-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary)}.meta-item{display:flex;align-items:center;gap:var(--space-1)}.meta-item.price{font-weight:var(--font-semibold);color:var(--color-brand-primary)}.appointment-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.action-buttons{display:flex;gap:var(--space-2)}.appointment-details{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.deposit-info,.notes-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.deposit-info{color:var(--color-warning)}.preferences-card{max-width:720px}.preferences-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1)}.preferences-subtitle{color:var(--color-text-secondary);margin:0 0 var(--space-8);font-size:var(--text-base)}.preferences-form{margin-bottom:var(--space-8)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.form-select,.form-textarea{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit;transition:all var(--transition-fast)}.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-primary-bg)}.form-textarea{resize:vertical;min-height:80px}.form-actions{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle)}.save-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.save-message.success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.save-message.error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.preferences-divider{height:1px;background:var(--color-border-subtle);margin:var(--space-8) 0}.profile-section{padding-top:var(--space-4)}.section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-5)}.profile-fields{display:flex;flex-direction:column;gap:var(--space-4)}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle)}.profile-field:last-child{border-bottom:none}.field-label{color:var(--color-text-secondary);font-size:var(--text-base)}.field-value{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);text-align:right;max-width:60%;word-break:break-word}.error-card{max-width:480px;margin:0 auto;text-align:center;padding:var(--space-10) var(--space-6);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.error-icon{font-size:48px;margin-bottom:var(--space-4)}.error-card h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-danger);margin:0 0 var(--space-2)}.error-card p{color:var(--color-text-secondary);margin:0 0 var(--space-6)}@media (max-width: 640px){.client-dashboard{padding:var(--space-6) var(--space-3)}.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.header-right{width:100%;justify-content:flex-end}.tab-nav{gap:var(--space-1)}.tab-button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.appointment-main{flex-direction:column;gap:var(--space-3)}.appointment-actions{width:100%;justify-content:space-between}.action-buttons{width:100%;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.profile-field{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.field-value{max-width:100%;text-align:left}}
