:root{--bg: oklch(97% .018 25);--surface: oklch(99% .008 25);--surface-strong: oklch(99.5% .006 25);--surface-soft: oklch(96% .012 25);--text: oklch(22% .02 20);--fg: var(--text);--muted: oklch(50% .018 20);--line: oklch(90% .014 25);--accent: oklch(64% .15 25);--accent-dark: oklch(54% .16 25);--accent-strong: oklch(48% .16 25);--hero-bg: oklch(20% .04 25);--success: oklch(55% .12 145);--warning: oklch(62% .14 60);--danger: oklch(52% .18 20);--info: oklch(64% .15 25);--faint: oklch(65% .08 25);--header-bg: rgba(253, 248, 252, .98);--input-bg: var(--surface-strong);--card-bg: var(--surface-strong);--inverse-text: oklch(99% .008 25);--text-xs: clamp(.7rem, .9vw, .78rem);--text-sm: clamp(.8rem, 1vw, .88rem);--text-base: 1rem;--text-lg: clamp(1.1rem, 1.5vw, 1.25rem);--text-xl: clamp(1.5rem, 2.5vw, 2rem);--text-2xl: clamp(2rem, 4vw, 3rem);--shadow-sm: 0 1px 3px rgba(180, 80, 80, .08);--shadow-md: 0 4px 16px rgba(180, 80, 80, .12);--shadow-lg: 0 8px 32px rgba(180, 80, 80, .16);--shadow: var(--shadow-md);--shadow-soft: 0 3px 16px rgba(180, 80, 80, .08);--shadow-button: 0 3px 12px rgba(180, 80, 80, .24);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--radius-xs: 6px;--radius-sm: 8px;--radius-card: 8px;font-family:Cormorant Garamond,Georgia,serif}[data-theme=dark]{--bg: oklch(18% .02 20);--surface: oklch(22% .015 20);--surface-strong: oklch(28% .012 20);--surface-soft: oklch(25% .014 20);--text: oklch(92% .008 25);--fg: var(--text);--muted: oklch(68% .015 20);--line: oklch(35% .015 20);--accent: oklch(72% .18 25);--accent-dark: oklch(62% .18 25);--accent-strong: oklch(78% .14 25);--hero-bg: oklch(8% .04 20);--success: oklch(72% .15 145);--warning: oklch(72% .16 60);--danger: oklch(62% .2 20);--info: oklch(72% .18 25);--faint: oklch(45% .06 20);--header-bg: rgba(46, 35, 40, .98);--input-bg: oklch(25% .015 20);--card-bg: oklch(22% .015 20)}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--bg);color:var(--text);line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:DM Sans,-apple-system,sans-serif}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:.75rem 1rem;background:var(--input-bg);color:var(--text);transition:border-color .3s,box-shadow .3s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b450502e}textarea{resize:vertical}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1.25rem,4vw,2.5rem);border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:1.25rem;letter-spacing:.1em;text-transform:uppercase;font-family:DM Sans,sans-serif,Cormorant Garamond,serif;color:var(--accent)}.site-nav{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:0;flex-wrap:wrap}.nav-close{display:none}.site-nav .nav-link,.site-nav .button{margin-left:.25rem;position:relative}.site-nav .nav-link:before{display:none}.site-nav .button:before{content:"";position:absolute;left:-.25rem;top:50%;transform:translateY(-50%);width:1px;height:16px;background:var(--line)}.site-nav .nav-link:first-child,.site-nav .button:first-child{margin-left:0}.site-nav .nav-link:first-child:before,.site-nav .button:first-child:before{display:none}.nav-cursor{position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--accent);pointer-events:none;z-index:0;border-radius:6px;transform:translate(0);transition:opacity .12s var(--ease-out),transform .18s var(--ease-out),width .18s var(--ease-out)}.site-nav .nav-link,.site-nav .button{position:relative;z-index:1}.site-nav .button.small{background:var(--surface);border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;text-transform:none;letter-spacing:normal;color:var(--text);font-weight:500}.site-nav .button.small:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--bg)}.site-nav .button.logout-btn{background:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:.5rem 1rem;color:var(--inverse-text);font-weight:500;font-family:DM Sans,sans-serif;margin-left:.5rem}.site-nav .button.logout-btn:hover{background:var(--danger);border-color:var(--danger);color:var(--inverse-text);transform:scale(1.05);transition:transform .2s ease}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);cursor:pointer;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),transform .16s var(--ease-out);flex-shrink:0}.theme-toggle:hover{background:var(--accent);color:var(--inverse-text);border-color:var(--accent);transform:scale(1.05)}.theme-toggle svg{width:18px;height:18px}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}.nav-link{min-height:36px;display:inline-flex;align-items:center;padding:.35rem 1rem;color:var(--muted);text-decoration:none;font-weight:500;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;font-family:DM Sans,sans-serif;border-radius:6px;transition:color .3s}.site-nav .nav-link:hover,.site-nav .button:hover{color:var(--inverse-text)}.nav-link.is-active{color:var(--accent-dark);font-weight:700}.profile-strip{padding:.45rem clamp(1.25rem,4vw,2.5rem);background:var(--surface);color:var(--muted);font-size:.8rem;font-family:DM Sans,sans-serif;letter-spacing:.03em;border-bottom:1px solid var(--line)}.profile-strip span{margin-left:.75rem;color:var(--accent);font-weight:700}.hero{min-height:50vh;display:grid;align-items:center;justify-items:center;padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem);background:url(/salon-hero.webp) center/cover no-repeat;color:var(--text);position:relative;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0;background:#fffdfcb8;background:oklch(99.5% .006 25 / .72);pointer-events:none}.hero-copy{width:min(800px,100%);text-align:center;position:relative;z-index:1}.hero h1{margin:0 auto 1.375rem;max-width:18ch;font-size:clamp(3.125rem,7.5vw,5.75rem);line-height:1.08;font-weight:400;font-style:italic;letter-spacing:0;font-family:Cormorant Garamond,Georgia,serif}.hero p{margin-left:auto;margin-right:auto;max-width:480px;font-size:1rem;line-height:1.7;font-family:DM Sans,sans-serif;letter-spacing:.03em;opacity:.95}.hero-delight-mark{width:min(220px,58vw);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin:-.35rem auto 1rem;color:var(--accent)}.hero-delight-mark:before,.hero-delight-mark:after{content:"";height:1px;flex:1 1 auto;background:color-mix(in oklch,var(--accent) 34%,transparent)}.hero-delight-mark span{width:.42rem;height:.42rem;flex:0 0 auto;border:1px solid color-mix(in oklch,var(--accent) 60%,var(--inverse-text));background:color-mix(in oklch,var(--accent) 14%,var(--surface));transform:rotate(45deg)}@media(prefers-reduced-motion:no-preference){.hero-delight-mark{animation:heroDelightIn .48s var(--ease-out) both}}.hero .button-row{justify-content:center;margin-top:2rem}.hero .button{min-width:150px;min-height:48px;border-radius:0;padding:.8rem 2rem;font-family:DM Sans,sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:200}.hero .button.primary{border:none;background:var(--accent);color:var(--inverse-text)}.hero .button.primary:hover{background:var(--accent-dark)}.hero .button.hero-request-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding-right:3rem;border-radius:10px}.hero .hero-request-text{transition:opacity .5s ease;white-space:nowrap}.hero .hero-request-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1.75rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#fffdfc26;background:oklch(99.5% .006 25 / .15);transition:width .22s var(--ease-out),right .22s var(--ease-out),background-color .16s var(--ease-out)}.hero .hero-request-icon svg{width:1rem;height:1rem}.hero .button.hero-request-btn:hover .hero-request-text{opacity:0}.hero .button.hero-request-btn:hover .hero-request-icon{width:calc(100% - 1rem);right:.5rem}.hero .button.secondary{border:1.5px solid var(--hero-bg);background:var(--hero-bg);color:var(--inverse-text)}.hero .button.secondary:hover{background:var(--surface-strong);color:var(--text)}.page-section{width:min(1100px,calc(100% - 3rem));margin:0 auto;padding:clamp(2rem,5vw,4rem) 0}.page-section.narrow{width:min(650px,calc(100% - 3rem))}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.section-header{text-align:center;margin-bottom:4rem}.section-eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;font-family:DM Sans,-apple-system,sans-serif}.section-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.2;letter-spacing:0;color:var(--text)}.section-title:before{content:"";display:block;width:80px;height:3px;border-radius:999px;background:var(--accent);margin:0 auto 1rem}.how-it-works{padding:clamp(3rem,6vw,5rem) 0}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:4rem}.step{text-align:center}.step-number{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--bg);border:2px solid var(--line);border-radius:50%;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--text);margin-bottom:1.5rem;transition:background-color .17s var(--ease-out),border-color .17s var(--ease-out),color .17s var(--ease-out),transform .17s var(--ease-out)}.step:hover .step-number,.step:focus-within .step-number{border-color:color-mix(in oklch,var(--accent) 46%,var(--line));background:color-mix(in oklch,var(--accent) 9%,var(--bg));color:var(--accent-strong);transform:translateY(-2px)}.step h3{font-family:Cormorant Garamond,Georgia,serif;font-size:1.375rem;font-weight:400;line-height:1.3;color:var(--text);margin-bottom:.75rem}.step p{font-size:.9375rem;line-height:1.6;color:var(--muted);font-family:DM Sans,sans-serif}.step-link{position:relative;min-height:44px;display:inline-flex;align-items:center;color:var(--text)}.step-link:before{content:"";position:absolute;left:0;bottom:.45rem;height:.05em;width:100%;background:currentColor;transform-origin:right;transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.step-link:hover:before{transform-origin:left;transform:scaleX(1)}.step-link-icon{width:.55em;margin-left:.3em;opacity:0;transform:translateY(.1em);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.step-link:hover .step-link-icon{opacity:1;transform:translateY(0)}.home-calendar-title{font-size:1rem}.calendar-preview-section{width:min(820px,calc(100% - 3rem));display:grid;gap:1.25rem;margin:clamp(2rem,5vw,4rem) auto 0;padding:0;color:var(--text)}.calendar-preview-label{margin:0;text-align:center;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-family:DM Sans,sans-serif;color:var(--muted)}.calendar-preview-stack{display:grid;justify-items:center;gap:1.25rem}.calendar-preview{width:min(680px,100%);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--card-bg);box-shadow:var(--shadow-soft)}.calendar-preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--line);background:var(--surface)}.calendar-preview-header h3{margin:0;font-size:1.35rem;font-weight:500;font-family:Cormorant Garamond,serif;letter-spacing:.02em;color:var(--text)}.calendar-preview-nav{display:flex;gap:.5rem}.calendar-preview-nav button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--card-bg);color:var(--accent);font-weight:600;font-size:1.05rem;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.calendar-preview-nav button:hover{background:var(--accent);color:var(--inverse-text);border-color:var(--accent);box-shadow:0 2px 10px #b4505047}.calendar-preview-weekdays,.calendar-preview-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:.65rem}.calendar-preview-weekdays{border-bottom:1px solid var(--line)}.calendar-preview-weekdays span{padding:.5rem .25rem;color:var(--accent);font-size:.75rem;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-family:DM Sans,sans-serif}.calendar-preview-day{position:relative;aspect-ratio:1;min-height:48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text);font-weight:400;font-family:DM Sans,sans-serif;border-radius:8px;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),transform .16s var(--ease-out)}.calendar-preview-day.has-slots{border-color:var(--accent)}.calendar-preview-day span{position:relative;z-index:1;font-size:1rem}.calendar-preview-day:hover:not(:disabled){background:#b4505014;border-color:var(--line)}.calendar-preview-day.is-empty{visibility:hidden}.calendar-preview-day.is-disabled{color:var(--faint);opacity:.3}.calendar-preview-day.is-today{background:#b4505014;color:var(--text)}.calendar-preview-day.is-today span{color:var(--text);font-weight:700}.calendar-preview-day.is-today:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent)}.calendar-preview-day.has-slots:after{content:"";position:relative;z-index:1;width:4px;height:4px;border-radius:999px;background:var(--accent);margin-top:4px}.calendar-preview-day.is-selected{background:var(--accent);color:var(--bg)}.calendar-preview-day.is-selected:hover{background:var(--accent-dark)}.calendar-preview-day.is-selected span{font-weight:600;color:var(--bg)}.calendar-preview-day.is-selected:after{background:var(--inverse-text)}.calendar-preview-slots{padding:1.25rem;border-top:1px solid var(--line)}.calendar-preview-slots p{margin:0 0 .75rem;color:var(--muted);font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:DM Sans,sans-serif}.calendar-times-heading{display:grid;gap:.15rem;margin-bottom:.85rem}.calendar-times-heading p{margin:0}.calendar-times-heading small,.available-times-date{color:var(--muted);font-size:.8rem;font-family:DM Sans,sans-serif}.calendar-times-summary{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.calendar-times-label{color:var(--accent);font-weight:700}.calendar-preview-slot-grid{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-preview-slot{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;padding:.4rem .75rem;background:var(--card-bg);color:var(--text);font-weight:500;font-family:DM Sans,sans-serif;text-decoration:none;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.calendar-preview-slot:hover{background:var(--accent);color:var(--inverse-text);border-color:var(--accent);box-shadow:0 2px 12px #b4505047;transform:translateY(-1px)}.calendar-preview-action{min-height:44px;display:inline-flex;align-items:center;color:var(--accent);text-decoration:underline;text-underline-offset:4px;font-family:DM Sans,sans-serif;font-weight:500}.calendar-preview-action:hover{color:var(--accent-dark)}.home-availability-section{width:min(820px,calc(100% - 3rem));margin:clamp(2rem,5vw,4rem) auto 0;color:var(--text)}.home-availability-card{display:grid;gap:1.25rem;border:1px solid var(--line);border-radius:16px;padding:clamp(1.25rem,3vw,1.75rem);background:var(--card-bg);box-shadow:var(--shadow-soft)}.home-availability-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.home-availability-header h2{margin:0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;font-family:Cormorant Garamond,serif;letter-spacing:.02em}.home-availability-header .eyebrow{margin-bottom:.5rem}.home-availability-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.home-availability-arrows{display:flex;gap:.4rem}.home-availability-arrow{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--card-bg);color:var(--accent);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.home-availability-arrow:hover:not(:disabled){background:var(--accent);color:var(--inverse-text);border-color:var(--accent);box-shadow:0 2px 10px #b4505047}.home-availability-arrow:disabled{color:var(--faint);cursor:not-allowed;opacity:.3}.home-availability-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.6rem}.home-availability-day{min-height:72px;display:grid;place-items:center;gap:.15rem;border:1px solid var(--line);border-radius:12px;padding:.65rem;background:var(--card-bg);color:var(--text);text-align:center;cursor:pointer;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out);font-family:DM Sans,sans-serif}.home-availability-day span{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.home-availability-day strong{font-size:1.15rem;font-weight:500}.home-availability-day:hover,.home-availability-day.is-selected{border-color:var(--accent);background:#b4505014;box-shadow:0 2px 12px #b4505026}.home-availability-day.is-selected{background:var(--accent);color:var(--inverse-text)}.home-availability-day.is-selected span{color:color-mix(in oklch,var(--inverse-text) 85%,transparent)}.home-availability-times{border-top:1px solid var(--line);padding-top:1.25rem}.home-availability-times .calendar-preview-slot-grid{gap:.5rem}.calendar-date-picker{width:100%;margin-top:1rem}.calendar-date-picker-summary strong{display:block;color:var(--text);font-size:.95rem}.section-heading{margin-bottom:1.75rem}.section-heading.split{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.section-heading h1,.section-heading h2,.panel h1,.panel h2{margin-top:0;font-weight:500;font-family:Cormorant Garamond,serif;letter-spacing:.02em}.panel h3{margin-top:0;font-weight:700;font-family:Cormorant Garamond,serif;letter-spacing:.02em}.section-heading p,.panel p,.muted{color:var(--muted);font-family:DM Sans,sans-serif}.eyebrow{margin:0 0 .6rem;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-family:DM Sans,sans-serif}.hero .eyebrow{color:var(--text)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.booking-flow{display:grid;gap:1.5rem}.booking-section{padding:clamp(1.25rem,3vw,1.75rem)}.booking-section h2{margin-bottom:1.25rem;font-family:Cormorant Garamond,serif;font-weight:500}.booking-services-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:stretch}.booking-services-list .service-option{min-height:140px}.booking-date-section{display:grid;gap:1.25rem}.booking-date-section .calendar-date-picker{max-width:780px;margin-left:auto;margin-right:auto}.booking-date-section .calendar-preview-header{padding:1rem 1.25rem}.booking-date-section .calendar-preview-day{min-height:clamp(40px,4vw,56px)}.available-times-section{display:grid;gap:1rem;margin-top:.75rem}.available-times-section h3{margin:0;font-family:Cormorant Garamond,serif;font-weight:500;font-size:1.1rem}.available-times-date{margin:-.5rem 0 0}.booking-review-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);gap:clamp(1.25rem,3vw,2rem);align-items:start}.booking-review-actions{display:grid;gap:1rem}.panel,.appointment-card,.state-card{border:1px solid var(--line);border-radius:14px;background:var(--card-bg);box-shadow:var(--shadow-soft)}.panel,.appointment-card{padding:clamp(1.25rem,3vw,1.75rem)}.state-card{padding:1.5rem}.button-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:0;padding:.7rem 1.5rem;text-decoration:none;font-weight:500;font-family:DM Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.reqApp{font-weight:500}.button.primary{background:var(--accent);color:var(--inverse-text);border-color:var(--accent);font-family:DM Sans,sans-serif}.button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);font-family:DM Sans,sans-serif}.button.secondary{border-color:var(--line);background:var(--card-bg);color:var(--text)}.button.secondary:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.button.danger:hover{background:var(--danger);color:var(--inverse-text)}.button.small{min-height:36px;padding:.5rem 1.1rem;font-size:.72rem}.button.full{width:100%}.button.logout-btn{background-color:var(--danger);color:var(--inverse-text);border-color:var(--danger);margin-left:12px}.form-stack{display:grid;gap:1.25rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack label,.booking-grid label,.booking-flow label,.date-filter{display:grid;gap:.65rem;color:var(--text);font-weight:600;font-family:DM Sans,sans-serif;font-size:.85rem;letter-spacing:.05em}.form-footer{margin-bottom:0}.form-footer a{min-height:44px;display:inline-flex;align-items:center}.management-form{margin-bottom:1.75rem}.management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.management-card{display:grid;gap:1.25rem}.customer-info-layout{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:1.25rem;align-items:start}.customer-list-panel,.customer-detail-panel{display:grid;gap:1.15rem}.customer-detail-panel{scroll-margin-top:6rem}.customer-list-header{display:grid;gap:1rem}.customer-list-header h2,.customer-list-header p,.customer-detail-header h2,.customer-history-heading h2,.customer-history-heading p{margin:0}.customer-list-header p,.customer-history-heading p,.customer-history-note{color:var(--muted);font-family:DM Sans,sans-serif}.customer-search-field{display:grid;gap:.55rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.customer-list{display:grid;gap:.75rem}.customer-list-item{min-width:0;display:grid;gap:.4rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem;background:var(--surface-strong);color:var(--text);font-family:DM Sans,sans-serif;transition:border-color .15s var(--ease-out),background-color .15s var(--ease-out),box-shadow .15s var(--ease-out),transform .15s var(--ease-out)}.customer-list-item.is-selected{border-color:color-mix(in oklch,var(--accent) 45%,var(--line));background:color-mix(in oklch,var(--accent) 8%,var(--surface-strong));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 12%,transparent)}.customer-list-main,.customer-detail-badges,.customer-history-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.customer-list-main strong{min-width:0;overflow-wrap:anywhere}.customer-list-meta,.customer-list-total{color:var(--muted);font-size:.82rem;line-height:1.35}.customer-list-total{color:var(--accent-strong);font-weight:800}.customer-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.customer-detail-header h2{font-size:clamp(1.5rem,2.5vw,2rem)}.customer-detail-badges{justify-content:flex-start;flex-wrap:wrap;margin-top:.65rem;color:var(--muted);font-family:DM Sans,sans-serif}.customer-detail-badges a{min-height:28px;display:inline-flex;align-items:center;color:var(--accent-strong);font-weight:800}.customer-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.customer-detail-summary-item{min-width:0;display:grid;gap:.25rem;border:1px solid color-mix(in oklch,var(--accent) 18%,var(--line));border-radius:var(--radius-sm);padding:.85rem;background:color-mix(in oklch,var(--accent) 5%,var(--surface));font-family:DM Sans,sans-serif}.customer-detail-summary-item span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.customer-detail-summary-item strong{color:var(--text);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}.customer-history-section,.customer-history-list{display:grid;gap:.85rem}.customer-history-heading{display:grid;gap:.25rem}.customer-history-row{display:grid;gap:.65rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;background:var(--surface-strong);font-family:DM Sans,sans-serif}.customer-history-main h3,.customer-history-main p,.customer-history-note{margin:0}.customer-history-main h3{color:var(--text);font-size:1rem;line-height:1.35}.customer-history-main p{color:var(--muted)}.customer-history-note{border-left:3px solid color-mix(in oklch,var(--accent) 36%,var(--line));padding-left:.75rem;font-size:.88rem}.customer-history-payment{width:fit-content;display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;color:var(--muted);font-size:.78rem;font-weight:800}.customer-history-payment.is-success{border-color:color-mix(in oklch,var(--success) 36%,var(--line));background:color-mix(in oklch,var(--success) 9%,var(--surface));color:color-mix(in oklch,var(--success) 72%,var(--text))}.customer-history-payment.is-warning{border-color:color-mix(in oklch,var(--warning) 42%,var(--line));background:color-mix(in oklch,var(--warning) 10%,var(--surface));color:color-mix(in oklch,var(--warning) 72%,var(--text))}.customer-inline-empty{display:grid;gap:.35rem;padding:.45rem 0;color:var(--muted);font-family:DM Sans,sans-serif}.customer-inline-empty h3,.customer-inline-empty p{margin:0}.customer-inline-empty h3{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.customer-inline-empty p{max-width:34rem;line-height:1.55}@media(max-width:860px){.customer-info-layout{grid-template-columns:1fr}.customer-list-panel,.customer-detail-panel{gap:1rem}.customer-detail-panel{scroll-margin-top:calc(8rem + env(safe-area-inset-top,0px))}.customer-list{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-list-item{min-height:9rem}.customer-detail-header{display:grid}.customer-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.customer-list{grid-template-columns:1fr}.customer-list-item{min-height:0}.customer-history-main{display:grid}.customer-history-payment{width:100%;justify-content:center;text-align:center}}@media(max-width:520px){.customer-info-layout{gap:.85rem}.customer-detail-summary{grid-template-columns:1fr}.customer-detail-badges,.customer-list-main{align-items:flex-start}.customer-list-main{display:grid;justify-items:start}}.checkbox-line{display:flex!important;align-items:center;gap:.85rem!important;font-weight:600}.checkbox-line input{width:auto;min-width:20px;min-height:20px}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:0;border:1px solid var(--line);padding:.5rem 1.15rem;font-size:.78rem;font-weight:700;font-family:DM Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-variant-numeric:tabular-nums}.pill.active{background:#2d7a4f14;color:var(--success);border-color:#2d7a4f33}.pill.inactive{background:transparent;color:var(--muted);border-color:var(--line)}.pill.category{background:#8a2e5214;color:var(--accent);border-color:#8a2e522e}.service-card-pills{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.quick-actions{display:flex;gap:.85rem;flex-wrap:wrap}.alert{border:1px solid;border-radius:0;padding:.85rem 1.25rem;margin:1.25rem 0;font-weight:500;font-family:DM Sans,sans-serif}.alert-error{background:#b91c1c0f;color:var(--danger);border-color:#b91c1c33}.form-alert{display:grid;gap:.35rem;margin:0;border-width:2px;background:#b91c1c1a;box-shadow:0 12px 24px #b91c1c14}.form-alert strong{font-size:.9rem}.form-alert span{line-height:1.5}.alert-success{background:#2d7a4f0f;color:var(--success);border-color:#2d7a4f33}.appointment-added-success{display:flex;align-items:center;gap:.75rem;border-color:color-mix(in oklch,var(--accent) 28%,var(--line));background:color-mix(in oklch,var(--accent) 7%,var(--card-bg));color:var(--text);box-shadow:0 10px 24px #b4505014}.appointment-added-check{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid color-mix(in oklch,var(--accent) 34%,var(--line));border-radius:999px;background:color-mix(in oklch,var(--accent) 11%,var(--card-bg));color:var(--accent-strong)}.appointment-added-success span:last-child{min-width:0}@media(prefers-reduced-motion:no-preference){.appointment-added-success{animation:appointmentSuccessIn .38s var(--ease-out)}.appointment-added-check{animation:appointmentCheckPop .42s var(--ease-out)}}.service-list{display:grid;gap:.85rem}.service-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:0;background:var(--card-bg);transition:background-color .17s var(--ease-out),border-color .17s var(--ease-out),box-shadow .17s var(--ease-out),transform .17s var(--ease-out)}.service-option:hover{border-color:var(--accent);transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-md)}.service-option.is-selected{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 7%,var(--card-bg));box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 18%,transparent)}.service-option input{width:auto;margin-top:.35rem}.service-option-copy{display:grid;gap:.4rem;text-align:center}.service-option small,.service-option em{color:var(--muted);font-family:DM Sans,sans-serif}.service-option .desc{color:var(--faint);font-weight:400}.service-quantity-control{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface-soft);min-height:2.35rem;width:fit-content}.service-quantity-button{width:100%;min-width:2.35rem;height:2.35rem;border:0;border-radius:0;background:transparent;color:var(--accent);font-family:DM Sans,sans-serif;font-size:1rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center}.service-quantity-button:disabled{color:var(--faint);cursor:not-allowed}.service-quantity-value{display:block;color:var(--text);font-family:DM Sans,sans-serif;font-weight:800;text-align:center}.service-category-list{display:grid;gap:.85rem}.service-category-panel{border:1px solid var(--line);background:var(--surface-soft)}.service-category-panel.is-open{border-color:#8a2e523d;box-shadow:0 10px 24px #8a2e5214}.service-category-toggle{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;background:transparent;color:var(--text);padding:.95rem 1rem;text-align:left;cursor:pointer}.service-category-toggle:hover{background:#8a2e520f}.service-category-summary{min-width:0;display:grid;gap:.35rem}.service-category-label{font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:800}.service-category-counts{display:flex;gap:.4rem;flex-wrap:wrap;color:var(--muted);font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.service-category-counts span{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);background:var(--card-bg);padding:.25rem .55rem}.service-category-counts span:last-child:not(:first-child){border-color:#8a2e5238;background:#8a2e5214;color:var(--accent)}.service-category-icon{flex:0 0 auto;width:.6rem;height:.6rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--accent);transform:rotate(45deg);transition:transform .2s ease}.service-category-panel.is-open .service-category-icon{transform:rotate(225deg)}.service-category-body{padding:0 1rem 1rem}.modal-service-category-list .service-category-toggle{padding:.85rem .9rem}.modal-service-category-list .service-category-body{padding:0 .9rem .9rem}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin-top:1.25rem}.slot-button{min-height:54px;border:1px solid var(--line);border-radius:0;background:var(--card-bg);color:var(--text);padding:.85rem 1rem;text-align:left;font-weight:500;font-family:DM Sans,sans-serif;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.slot-button:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 7%,var(--card-bg));transform:scale(1.02);box-shadow:var(--shadow-sm)}.slot-button.is-selected{border-color:var(--accent);background:var(--accent);color:var(--inverse-text)}.slot-button.is-selected:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--inverse-text)}.summary-list{display:grid;gap:.3rem;margin-bottom:1.25rem}.card-list{display:grid;gap:1rem}.card-list.compact{gap:.85rem}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.card-topline h2,.card-topline h3{margin:0 0 .5rem;font-weight:500;font-family:Cormorant Garamond,serif}.card-topline p{margin:0;color:var(--muted);font-family:DM Sans,sans-serif}.needs-action{border-color:color-mix(in oklch,var(--accent) 55%,var(--line));background:color-mix(in oklch,var(--accent) 5%,var(--card-bg));box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 10%,transparent),var(--shadow-soft)}.payment-action-card{border-color:#c97a1f52;box-shadow:0 0 0 2px #c97a1f14}.payment-action-form{display:grid;gap:1rem;margin-top:1rem}.payment-checkbox{color:var(--muted);font-family:DM Sans,sans-serif}.owner-decision-note{display:grid;gap:.55rem;margin-top:1rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:700}.owner-decision-note textarea{min-height:96px;font-weight:400}.owner-card-secondary-details{display:grid;gap:.65rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem}.owner-card-secondary-details p{margin:0}.owner-detail-label,.owner-mobile-request-summary span{color:var(--muted);font-family:DM Sans,sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.owner-mobile-request-summary{display:grid;gap:.35rem;margin-top:.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);padding:.8rem .9rem}.owner-mobile-request-summary strong{color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem}.owner-mobile-request-summary p{margin:0;color:var(--muted);font-family:DM Sans,sans-serif}.owner-card-more,.service-edit-details{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);overflow:hidden}.owner-card-more{margin-top:.75rem}.owner-card-more summary,.service-edit-details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;color:var(--text);cursor:pointer;font-family:DM Sans,sans-serif;font-size:.92rem;font-weight:800;letter-spacing:0;list-style:none}.owner-card-more summary::-webkit-details-marker,.service-edit-details summary::-webkit-details-marker{display:none}.owner-card-more summary:after,.service-edit-details summary:after{content:"+";color:var(--accent);font-size:1rem;line-height:1}.owner-card-more[open] summary,.service-edit-details[open] summary{border-bottom:1px solid var(--line)}.owner-card-more[open],.service-edit-details[open]{border-color:color-mix(in oklch,var(--accent) 24%,var(--line));background:var(--card-bg)}.owner-card-more summary:focus-visible,.service-edit-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.owner-card-more[open] summary:after,.service-edit-details[open] summary:after{content:"-"}.owner-card-more-body,.service-edit-details-body,.service-edit-fields{display:grid;gap:1rem}.owner-card-more-body,.service-edit-details-body{padding:1rem}.dashboard-section{margin-top:2rem}.appointment-archive-section{border-top:1px solid var(--line);padding-top:2rem}.archive-heading{display:grid;gap:.35rem;margin-bottom:1rem}.archive-heading h2,.archive-heading p{margin:0}.archive-heading p{color:var(--muted);font-family:DM Sans,sans-serif}.appointment-archive{border:1px solid var(--line);background:var(--card-bg);box-shadow:var(--shadow-soft)}.archive-payment-summary{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 1.15rem;background:color-mix(in oklch,var(--accent) 7%,var(--surface))}.archive-payment-total-card{min-width:min(12rem,100%);display:grid;gap:.2rem;border:1px solid color-mix(in oklch,var(--accent) 22%,var(--line));padding:.8rem .9rem;background:var(--surface-strong);font-family:DM Sans,sans-serif}.archive-payment-total-card span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.archive-payment-total-card strong{color:var(--accent-strong);font-size:1.1rem;line-height:1.2}.archive-payment-total-card.is-all-time{border-color:color-mix(in oklch,var(--accent) 42%,var(--line));background:color-mix(in oklch,var(--accent) 10%,var(--surface-strong))}.archive-payment-summary+.archive-month{border-top:1px solid var(--line)}.archive-month+.archive-month{border-top:1px solid var(--line)}.archive-month summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;color:var(--text);font-family:DM Sans,sans-serif;font-weight:700}.archive-month-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;text-align:right}.archive-count{color:var(--muted);font-size:.86rem;font-weight:500}.archive-total{color:var(--accent-strong);font-size:.86rem;font-weight:800;white-space:nowrap}.archive-appointment-list{display:grid;gap:0;list-style:none;margin:0;padding:0 1.15rem 1.15rem}.archive-appointment-row{display:grid;grid-template-columns:4rem minmax(7rem,.8fr) minmax(8rem,1fr) minmax(6.5rem,auto) auto;gap:.85rem;align-items:center;border-top:1px solid var(--line);padding:.8rem 0;font-family:DM Sans,sans-serif}.archive-date{color:var(--accent);font-weight:700}.archive-customer{color:var(--text);font-weight:700}.archive-service{color:var(--muted);overflow-wrap:anywhere}.archive-payment{grid-column:4;justify-self:end;color:var(--accent-strong);font-size:.78rem;font-weight:800;white-space:nowrap}.archive-status{grid-column:5;justify-self:end;border:1px solid;padding:.35rem .65rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.note{border:1px solid color-mix(in oklch,var(--accent) 28%,var(--line));margin:1rem 0 0;padding:.85rem 1rem;background:color-mix(in oklch,var(--accent) 7%,var(--surface));color:var(--muted);font-family:DM Sans,sans-serif;font-style:italic}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:0;border:1px solid;padding:.5rem 1.15rem;font-size:.78rem;font-weight:700;font-family:DM Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.status-pending{background:#c97a1f14;color:var(--warning);border-color:#c97a1f33}.status-approved{background:#2d7a4f14;color:var(--success);border-color:#2d7a4f33}.status-rejected{background:#b91c1c14;color:var(--danger);border-color:#b91c1c33}.status-change_requested{background:#8a2e5214;color:var(--accent);border-color:#8a2e5233}.status-canceled_by_customer,.status-canceled_by_owner{background:#62626214;color:var(--muted);border-color:#62626238}.requested-change-summary{display:grid;gap:.35rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid color-mix(in oklch,var(--accent) 30%,var(--line));background:#8a2e520f}.requested-change-summary strong,.requested-change-summary p{margin:0}.requested-change-summary strong{color:var(--text);font-family:DM Sans,sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.requested-change-summary p{color:var(--muted);font-family:DM Sans,sans-serif}.needs-action-groups{display:grid;gap:1.5rem}.needs-action-group{display:grid;gap:.9rem}.needs-action-heading{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.needs-action-heading h3{margin:0;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:500}.needs-action-heading span{min-width:2.25rem;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--accent);font-family:DM Sans,sans-serif;font-weight:800}.change-request-card{border-color:#8a2e5259}.change-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.change-comparison-panel{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--line);background:var(--surface-soft)}.change-comparison-panel.requested{border-color:color-mix(in oklch,var(--accent) 34%,var(--line));background:#8a2e520f}.change-comparison-panel span{color:var(--muted);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.change-comparison-panel strong,.change-comparison-panel p{margin:0}.change-comparison-panel p{color:var(--muted);font-family:DM Sans,sans-serif}.booking-confirmation{max-width:560px;margin:0 auto;text-align:center;padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem)}.confirmation-icon{margin-bottom:2rem;color:var(--accent)}.confirmation-icon svg{width:72px;height:72px}.booking-confirmation h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem);font-weight:500;font-family:Cormorant Garamond,serif;letter-spacing:.02em;color:var(--text)}.confirmation-message{margin:0 auto 2.5rem;font-size:1rem;line-height:1.7;font-family:DM Sans,sans-serif;color:var(--muted);max-width:400px}.confirmation-details{border:1px solid var(--line);padding:1.5rem;margin-bottom:2rem;background:var(--surface);text-align:left}.confirmation-summary{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-family:DM Sans,sans-serif;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.confirmation-summary:last-of-type{border-bottom:none}.confirmation-summary strong{color:var(--text);font-weight:600}.confirmation-status{padding-top:1rem;text-align:center}.booking-confirmation .button-row{justify-content:center}.spinner{width:28px;height:28px;display:inline-block;border:2px solid var(--line);border-top-color:var(--accent);border-radius:999px;animation:spin .8s linear infinite}.state-card.loading-state{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border-color:color-mix(in oklch,var(--accent) 22%,var(--line));background:color-mix(in oklch,var(--accent) 5%,var(--card-bg))}.state-card.loading-state p{margin:0;color:var(--text);font-family:DM Sans,sans-serif;font-size:var(--text-sm);font-weight:700;line-height:1.45}.state-card.loading-state .spinner{width:24px;height:24px;flex:0 0 auto;border-color:color-mix(in oklch,var(--accent) 18%,var(--line));border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appointmentSuccessIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes appointmentCheckPop{0%{transform:scale(.86)}72%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes heroDelightIn{0%{opacity:0;transform:translateY(4px) scaleX(.92)}to{opacity:1;transform:translateY(0) scaleX(1)}}.mobile-menu-toggle{display:none;border:none;background:none;padding:.5rem;cursor:pointer;color:var(--accent)}.mobile-header-logout{display:none}@media(max-width:860px){.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.site-header{flex-wrap:wrap;gap:.75rem;-webkit-backdrop-filter:none;backdrop-filter:none}.site-nav{position:fixed;inset:0;width:100%;height:100vh;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1.5rem 2rem;background:var(--surface);transform:translate(100%);transition:transform .3s ease;z-index:30;gap:1rem;overflow-y:auto}.site-nav.is-open{transform:translate(0)}.nav-close{display:none;position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text);z-index:10}.site-nav.is-open .nav-close{display:block}.site-nav .nav-link,.site-nav .button{margin-left:0;padding:.85rem 0;border-bottom:1px solid var(--line)}.site-nav .nav-link:before,.site-nav .button:before{display:none}.site-nav .button{text-align:center}.nav-cursor{display:none}.site-header,.section-heading.split,.card-topline{align-items:stretch;flex-direction:column}.feature-grid,.booking-grid,.booking-review-grid,.form-grid.two{grid-template-columns:1fr}.booking-services-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.hero{min-height:55vh}.hero h1{max-width:14ch}}@media(max-width:520px){.site-header{position:static;padding:.75rem 1rem;flex-wrap:wrap}.brand{width:100%;font-size:1.1rem}.button-row{width:100%;gap:.5rem;max-width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.button-row::-webkit-scrollbar{display:none}.hero{padding-top:2rem}.calendar-preview-section,.home-availability-section{width:min(100% - 2rem,820px)}.home-availability-header{flex-direction:column}.home-availability-actions{width:100%;justify-content:space-between}.home-availability-actions .calendar-preview-action{flex:1 1 auto}.home-availability-days{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-preview-day{min-height:40px}.booking-date-section .calendar-preview-day{min-height:38px}.service-list{grid-template-columns:repeat(2,1fr);gap:.65rem}.service-option{grid-template-columns:1fr;align-items:center;padding:.75rem;gap:.65rem}.service-quantity-control{justify-self:center}.hero h1{font-size:2rem}.archive-month summary{align-items:flex-start;flex-direction:column;gap:.25rem}.archive-payment-summary{display:grid;grid-template-columns:minmax(0,1fr)}.archive-month-meta{justify-content:flex-start;text-align:left}.archive-total{white-space:normal}.archive-appointment-row{grid-template-columns:3.25rem minmax(0,1fr);gap:.35rem .75rem}.archive-service,.archive-payment,.archive-status{grid-column:2}.archive-payment,.archive-status{justify-self:start;margin-top:.25rem}}@media(max-width:420px){body{overflow-x:hidden}.page-section{width:min(1100px,calc(100% - 1rem))}.page-section.narrow{width:min(650px,calc(100% - 1rem))}.calendar-preview-section{width:min(820px,calc(100% - 1rem))}.calendar-preview-weekdays,.calendar-preview-days{padding:.35rem}.calendar-preview-weekdays span{font-size:.55rem;padding:.35rem .2rem}.calendar-preview-day{aspect-ratio:auto;min-height:32px}.calendar-preview-header{padding:.75rem .85rem}.calendar-preview-header h3{font-size:1rem}.calendar-preview-nav button{width:30px;height:30px;font-size:.85rem}.calendar-preview-slots{padding:.75rem .85rem}.home-availability-day{min-height:60px;padding:.5rem}.home-availability-day strong{font-size:1rem}.hero{min-height:40vh;padding:1.5rem .75rem}.hero h1{font-size:1.6rem}.hero p{font-size:.85rem}.hero .button{min-width:120px;min-height:42px;font-size:.72rem;padding:.6rem 1.2rem}.site-header{padding:.5rem .75rem;gap:1rem}.brand{font-size:1rem}.nav-link{font-size:.72rem;padding:.3rem .6rem;min-height:34px}}.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:2.5rem 1.5rem 1.5rem;margin-top:4rem}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;max-width:1200px;margin:0 auto}.footer-brand .brand-name{font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);font-size:1.25rem;font-weight:600;color:var(--text)}.footer-brand .brand-tagline{font-size:.85rem;color:var(--muted);margin:.25rem 0 0}.footer-contact{font-size:.9rem;color:var(--muted)}.footer-contact p{margin:.25rem 0}.footer-links{display:flex;gap:1.5rem}.footer-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.9rem;color:var(--accent);transition:color .2s}.footer-links a:hover{color:var(--accent-dark)}.wip-disclaimer a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.footer-bottom p{font-size:.8rem;color:var(--muted);margin:0}@media(max-width:520px){.footer-content{flex-direction:column;text-align:center;gap:1.5rem}.footer-links{justify-content:center}}.confirm-overlay{position:fixed;inset:0;background:#0c04048f;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.confirm-dialog{background:var(--surface);padding:1.5rem 2rem;border-radius:0;max-width:320px;text-align:center;box-shadow:var(--shadow-soft)}.confirm-dialog h3{margin:0 0 .5rem;font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);color:var(--text)}.confirm-dialog p{margin:0 0 1.5rem;color:var(--muted)}.confirm-actions{display:flex;gap:1rem;justify-content:center}.confirm-actions .button.danger{background:var(--danger);color:var(--inverse-text)}.confirm-actions .button.danger:hover{background:#a10128}.modal-overlay{padding:clamp(.75rem,3vw,2rem);overflow-y:auto}.appointment-modal{width:min(760px,100%);max-height:min(90vh,860px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--card-bg);box-shadow:var(--shadow-soft);outline:none}.appointment-cancel-modal{width:min(460px,100%)}.logout-confirm-modal{width:min(390px,100%)}.logout-confirm-modal .appointment-modal-body{padding-bottom:1rem}.logout-confirm-copy{margin:0;color:var(--muted);font-family:DM Sans,sans-serif}.logout-confirm-modal .appointment-modal-actions{justify-content:stretch}.logout-confirm-modal .appointment-modal-actions .button{flex:1 1 10rem}.appointment-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.appointment-modal-header h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.45rem,4vw,2rem);font-weight:500}.modal-close-button{width:2.4rem;height:2.4rem;border:1px solid var(--line);background:var(--card-bg);color:var(--text);font-size:1.45rem;line-height:1;cursor:pointer}.appointment-modal-body{min-height:0;overflow-y:auto;padding:1.25rem 1.5rem}.appointment-modal-actions{display:flex;justify-content:flex-end;gap:.85rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:1px solid var(--line);background:var(--surface-soft)}.appointment-edit-form{display:grid;gap:1.25rem}.appointment-edit-form label{display:grid;gap:.65rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.05em}.modal-section{display:grid;gap:1rem}.modal-section h3,.available-times-section h4{margin:0;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500}.modal-note{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid color-mix(in oklch,var(--accent) 30%,var(--line));background:#8a2e520f;color:var(--muted);font-family:DM Sans,sans-serif}.modal-service-list .service-option{align-items:stretch;flex-direction:row;justify-content:space-between;text-align:left}.modal-service-list .service-option-copy{text-align:left}.compact-slot-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cancel-confirmation-copy{display:grid;gap:.85rem}.cancel-confirmation-copy p{margin:0;color:var(--muted)}.cancel-confirmation-copy strong{color:var(--text)}.cancel-note-field{display:grid;gap:.65rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.05em}@media(max-width:640px){.modal-overlay{align-items:flex-start;padding:.5rem}.appointment-modal{max-height:calc(100vh - 1rem)}.appointment-modal-header,.appointment-modal-body,.appointment-modal-actions{padding-left:1rem;padding-right:1rem}.appointment-modal-actions{align-items:stretch;flex-direction:column-reverse}.appointment-modal-actions .button{width:100%}.modal-service-list .service-option,.change-comparison-grid{grid-template-columns:1fr}.modal-service-list .service-option{flex-direction:column}.change-comparison-grid{display:grid}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.theme-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;height:36px;width:80px;cursor:pointer}.theme-switch-input{position:absolute;opacity:0;width:0;height:0}.theme-switch-input:focus-visible+.theme-switch-track{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 22%,transparent)}.theme-switch-track{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;transition:background .2s ease-out}.theme-switch-icon{display:flex;align-items:center;justify-content:center;z-index:1;transition:color .16s var(--ease-out),opacity .16s var(--ease-out),transform .16s var(--ease-out)}.theme-switch-icon-sun{color:var(--fg)}.theme-switch-icon-sun.active{transform:scale(1.1)}.theme-switch-icon-sun.dimmed{color:var(--muted);opacity:.7}.theme-switch-icon-moon{color:var(--muted)}.theme-switch-icon-moon.active{color:var(--fg);transform:scale(1.1)}.theme-switch-icon-moon.dimmed{color:var(--muted);opacity:.7}.theme-switch-input:checked+.theme-switch-track{background:var(--surface)}.hero a.button.secondary.create-account-btn{background:var(--hero-bg);color:var(--inverse-text);border:1.5px solid var(--hero-bg)}.hero a.button.secondary.create-account-btn:hover{background:var(--surface-strong);color:var(--text)}.wip-disclaimer{position:fixed;bottom:1rem;right:1rem;max-width:320px;padding:.65rem 2rem .65rem 1rem;font-size:.78rem;line-height:1.5;font-family:DM Sans,sans-serif;background:var(--surface);border:1px solid var(--line);color:var(--muted);z-index:999;box-shadow:var(--shadow-soft)}.wip-disclaimer a{color:var(--accent);text-decoration:underline;white-space:nowrap}.wip-disclaimer-close{position:absolute;top:.15rem;right:.15rem;width:1.5rem;height:1.5rem;border:none;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.wip-disclaimer-close:hover{color:var(--text)}@media(max-width:640px){.wip-disclaimer{left:.5rem;right:.5rem;bottom:.5rem;max-width:none;text-align:center}}.button.button.small.logout-btn{font-family:DM Sans,sans-serif,Cormorant Garamond,serif;text-transform:uppercase;padding:.3rem .6rem}html{overflow-x:hidden}main,.app-shell,.page-section,.panel,.appointment-card,.state-card{min-width:0}.header-actions{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.theme-switch{min-height:44px}.theme-switch-track{min-height:36px}.calendar-preview-nav button,.home-availability-arrow{min-width:44px;min-height:44px}.calendar-preview-slot{min-height:44px}.service-quantity-control{min-height:44px;grid-template-columns:44px minmax(2rem,auto) 44px}.service-quantity-button{min-width:44px;min-height:44px;height:44px;touch-action:manipulation}.service-option-copy{min-width:0}.service-option-copy strong,.card-topline h2,.card-topline h3,.card-topline p,.summary-list p,.note,.requested-change-summary p,.change-comparison-panel p{overflow-wrap:anywhere}.status-badge,.pill,.archive-status{max-width:100%;line-height:1.25;text-align:center;white-space:normal}.modal-close-button,.wip-disclaimer-close{min-width:44px;min-height:44px}.modal-close-button{display:inline-flex;align-items:center;justify-content:center}@media(max-width:860px){.site-header{position:sticky;top:0;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.75rem clamp(.875rem,4vw,1.25rem);min-height:64px}.brand{width:auto;min-width:0;flex:1 1 auto;font-size:1rem;letter-spacing:.06em;line-height:1.25}.mobile-menu-toggle{width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.site-nav{position:fixed;inset:0;width:100%;max-width:100vw;height:100vh;height:100dvh;align-items:stretch;justify-content:flex-start;gap:.75rem;padding:calc(4.5rem + env(safe-area-inset-top,0px)) 1rem calc(1.25rem + env(safe-area-inset-bottom,0px));background:var(--surface-strong);border-left:0;box-shadow:none;opacity:0;transform:none!important;transition:none;visibility:hidden;pointer-events:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;z-index:1200}.site-nav.is-open{opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto;box-shadow:-18px 0 36px #361c2b29}.nav-close{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:1rem;width:44px;height:44px;display:none;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.site-nav.is-open .nav-close{display:inline-flex}.site-nav .nav-link,.site-nav .button,.site-nav .button.small,.site-nav .button.logout-btn,.button.button.small.logout-btn{width:100%;min-height:48px;justify-content:flex-start;margin:0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:.88rem;letter-spacing:.03em;text-align:left;white-space:normal}.site-nav.is-open .nav-link,.site-nav.is-open .button{opacity:1!important;visibility:visible!important;transition:none}.site-nav .button.logout-btn,.button.button.small.logout-btn{background:var(--danger);border-color:var(--danger);color:var(--inverse-text)}.site-nav .nav-link:hover,.site-nav .button:hover,.site-nav .nav-link.is-active{background:#b4505014;border-color:var(--accent);color:var(--accent-dark);transform:none}.site-nav .button.logout-btn:hover,.button.button.small.logout-btn:hover{color:var(--inverse-text)}.section-heading.split,.card-topline{align-items:stretch;flex-direction:column}.section-heading.split>.button,.section-heading.split>a.button{align-self:flex-start}}@media(max-width:768px){.page-section{width:min(1100px,calc(100% - 2rem));padding-top:2rem;padding-bottom:2rem}.page-section.narrow{width:min(650px,calc(100% - 2rem))}.section-heading{margin-bottom:1.35rem}.booking-flow{gap:1rem}.panel,.appointment-card,.state-card,.booking-section{padding:1rem}.management-grid{grid-template-columns:1fr}.owner-primary-actions,.owner-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.form-grid.two{grid-template-columns:1fr;gap:1rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.65rem}.quick-actions .button{width:100%}.change-comparison-grid{grid-template-columns:1fr}}@media(max-width:640px){.button-row{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:.65rem;overflow:visible;flex-wrap:initial}.button-row .button,.button-row a.button,.confirm-actions .button{width:100%;min-height:44px;padding-left:.9rem;padding-right:.9rem;white-space:normal}.hero .button-row,.booking-confirmation .button-row,.confirm-actions{grid-template-columns:1fr}.hero .button{width:100%;min-width:0;min-height:48px}.home-availability-card{border-radius:10px;padding:1rem}.home-availability-actions{display:grid;grid-template-columns:1fr auto;align-items:center}.home-availability-arrows{justify-self:end}.calendar-preview-header{padding:.85rem;gap:.65rem}.calendar-preview-header h3{font-size:1.1rem}.calendar-preview-weekdays,.calendar-preview-days{padding:.35rem}.calendar-preview-day,.booking-date-section .calendar-preview-day{min-height:44px}.calendar-preview-weekdays span{font-size:.65rem;letter-spacing:0;padding:.35rem .1rem}.slot-grid,.compact-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-button{justify-content:center;text-align:center}.service-list,.booking-services-list{grid-template-columns:1fr;gap:.75rem}.service-category-list{gap:.7rem}.service-category-toggle{min-height:56px;padding:.85rem}.service-category-counts{font-size:.68rem;letter-spacing:.03em}.service-category-counts span{min-height:26px}.service-category-body{padding:0 .75rem .85rem}.service-option,.modal-service-list .service-option{align-items:stretch;padding:1rem;text-align:left}.service-option-copy,.modal-service-list .service-option-copy{text-align:left}.service-quantity-control{width:100%;grid-template-columns:44px minmax(2.25rem,1fr) 44px}.appointment-card{display:grid;gap:.85rem}.appointment-card .button-row{margin-top:.25rem}.owner-primary-actions,.owner-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-card-more-body,.service-edit-details-body{padding:.85rem}.service-edit-details summary,.owner-card-more summary{padding-inline:.85rem}.card-topline{gap:.65rem}.status-badge,.pill{align-self:flex-start;min-height:34px;padding:.45rem .65rem;font-size:.7rem;letter-spacing:.04em}.note,.requested-change-summary,.change-comparison-panel,.modal-note{padding:.75rem .85rem;margin-top:.5rem}.owner-decision-note textarea{min-height:88px}.archive-month summary{align-items:flex-start;flex-direction:column;gap:.2rem;padding:.85rem 1rem}.archive-appointment-list{padding:0 1rem 1rem}.archive-appointment-row{grid-template-columns:minmax(0,1fr);gap:.2rem;align-items:start;padding:.85rem 0}.archive-date,.archive-customer,.archive-service,.archive-payment,.archive-status{grid-column:1;justify-self:start}.archive-payment{white-space:normal}.archive-status{margin-top:.25rem}.appointment-modal{width:min(100%,calc(100vw - 1rem));max-height:calc(100dvh - 1rem)}.appointment-modal-header{align-items:center;gap:.75rem;padding-top:.85rem;padding-bottom:.85rem}.appointment-modal-header h2{font-size:1.35rem;line-height:1.15}.appointment-modal-body{padding-top:1rem;padding-bottom:1rem}.appointment-modal-actions{position:sticky;bottom:0;flex-direction:column-reverse;align-items:stretch;gap:.65rem}.appointment-modal-actions .button{width:100%}.wip-disclaimer{position:static;max-width:none;margin:1rem;padding:.85rem 3.25rem .85rem 1rem;text-align:left}.wip-disclaimer-close{top:.35rem;right:.35rem}}@media(max-width:430px){.page-section,.page-section.narrow,.calendar-preview-section,.home-availability-section{width:min(100% - 1rem,1100px)}.brand{font-size:.95rem}.site-header{padding-left:.75rem;padding-right:.75rem}.hero{min-height:auto;padding:2rem 1rem}.hero h1{max-width:13ch;font-size:1.85rem;line-height:1.12}.hero p{font-size:.9rem}.home-availability-days,.booking-review-grid{grid-template-columns:1fr}.confirmation-summary{display:grid;gap:.2rem}.form-stack,.booking-flow,.management-card,.modal-section{gap:1rem}}@media(max-width:360px){.brand{font-size:.88rem}.theme-switch{width:72px}.site-nav{padding-left:.75rem;padding-right:.75rem}.calendar-preview-weekdays,.calendar-preview-days{padding-left:.2rem;padding-right:.2rem}.calendar-preview-day,.booking-date-section .calendar-preview-day{min-height:42px}}@media(max-width:860px){.site-header>.site-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}}button,.button,.nav-link,.theme-toggle,.theme-switch,.mobile-menu-toggle,.nav-close,.service-option,.service-category-toggle,.service-quantity-button,.slot-button,.calendar-preview-day,.calendar-preview-slot,.calendar-preview-nav button,.home-availability-day,.home-availability-arrow,.modal-close-button{-webkit-tap-highlight-color:transparent}input,select,textarea{min-height:44px;border-radius:var(--radius-sm);transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out),background-color .16s var(--ease-out),color .16s var(--ease-out)}input:hover,select:hover,textarea:hover{border-color:color-mix(in oklch,var(--accent) 42%,var(--line))}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 20%,transparent)}textarea{min-height:104px;line-height:1.55}.panel,.appointment-card,.state-card,.calendar-preview,.home-availability-card,.confirm-dialog,.appointment-modal,.service-category-panel{border-radius:var(--radius-card);background:var(--card-bg)}.panel,.appointment-card,.state-card,.home-availability-card,.calendar-preview{box-shadow:0 1px 2px #411f2b0a,0 12px 30px #411f2b12}.panel h1,.panel h2,.section-heading h1,.section-heading h2,.hero h1{letter-spacing:0}.button{border-radius:var(--radius-sm);min-width:0;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.button:active:not(:disabled){transform:translateY(1px) scale(.98)}.button.primary{box-shadow:0 6px 16px #8a2e522e}.button.secondary,.button.danger{box-shadow:0 1px 2px #411f2b0a}.nav-link,.site-nav .button,.theme-toggle,.mobile-menu-toggle,.nav-close{transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.hero:before{background:linear-gradient(180deg,#fffdfcd1,#fff5f4ad),#fffdfc8c;background:linear-gradient(180deg,color(xyz 0.944 0.983 1.055 / 0.82),color(xyz 0.918 0.935 0.975 / 0.678)),oklch(99.5% .006 25 / .55)}.hero .button{border-radius:var(--radius-sm);font-weight:600}.hero .button.hero-request-btn{border-radius:var(--radius-sm)}.hero .hero-request-text,.hero .hero-request-icon{transition:opacity .22s var(--ease-out),width .22s var(--ease-out),right .22s var(--ease-out),background-color .16s var(--ease-out)}.service-option{border-radius:var(--radius-card);box-shadow:0 1px 2px #411f2b0a;transition:background-color .17s var(--ease-out),border-color .17s var(--ease-out),box-shadow .17s var(--ease-out),transform .17s var(--ease-out)}.service-option.is-selected{background:color-mix(in oklch,var(--accent) 7%,var(--card-bg));box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 18%,transparent),0 8px 18px #411f2b0f}.service-quantity-control{overflow:hidden;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-soft) 78%,var(--card-bg))}.service-quantity-button{transition:background-color .14s var(--ease-out),color .14s var(--ease-out),transform .14s var(--ease-out)}.service-quantity-button:active:not(:disabled){transform:scale(.94);background:color-mix(in oklch,var(--accent) 10%,transparent)}.service-category-panel{overflow:hidden;background:color-mix(in oklch,var(--surface-soft) 72%,var(--card-bg));transition:border-color .17s var(--ease-out),box-shadow .17s var(--ease-out),background-color .17s var(--ease-out)}.service-category-panel.is-open{background:var(--card-bg);box-shadow:0 1px 2px #411f2b0a,0 10px 24px #8a2e5214}.service-category-toggle{transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}.service-category-toggle:active{background:color-mix(in oklch,var(--accent) 9%,transparent)}.service-category-counts span,.pill,.status-badge,.archive-status{border-radius:var(--radius-xs)}.service-category-icon{transition:transform .18s var(--ease-out)}.slot-button,.calendar-preview-slot,.calendar-preview-nav button,.home-availability-arrow,.home-availability-day,.calendar-preview-day,.modal-close-button{transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}.slot-button{border-radius:var(--radius-sm)}.slot-button:active:not(:disabled),.calendar-preview-slot:active,.calendar-preview-nav button:active:not(:disabled),.home-availability-arrow:active:not(:disabled),.home-availability-day:active:not(:disabled),.calendar-preview-day:active:not(:disabled),.modal-close-button:active{transform:scale(.97)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-overlay{animation:fadeIn .16s var(--ease-out);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{width:min(340px,calc(100vw - 2rem));border:1px solid var(--line);box-shadow:0 22px 60px #200f1838}.appointment-modal{overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 70px #200f1838}.modal-close-button{border-radius:var(--radius-sm)}.appointment-modal-actions{box-shadow:0 -1px 0 var(--line)}@media(hover:hover)and (pointer:fine){.button.primary:hover{box-shadow:0 10px 22px #8a2e5238;transform:translateY(-1px)}.button.secondary:hover,.button.danger:hover,.site-nav .button.logout-btn:hover,.button.button.small.logout-btn:hover,.theme-toggle:hover,.mobile-menu-toggle:hover,.nav-close:hover{transform:translateY(-1px)}.nav-link:hover{background:color-mix(in oklch,var(--accent) 8%,transparent)}.service-option:hover{border-color:color-mix(in oklch,var(--accent) 70%,var(--line));transform:translateY(-1px);box-shadow:0 1px 2px #411f2b0d,0 12px 26px #411f2b14}.service-category-toggle:hover{background:color-mix(in oklch,var(--accent) 8%,transparent)}.slot-button:hover,.calendar-preview-slot:hover{transform:translateY(-1px)}.calendar-preview-day:hover:not(:disabled),.home-availability-day:hover:not(:disabled),.calendar-preview-nav button:hover:not(:disabled),.home-availability-arrow:hover:not(:disabled){transform:translateY(-1px)}}@media(hover:none),(pointer:coarse){.button:hover,.theme-toggle:hover,.mobile-menu-toggle:hover,.nav-close:hover,.service-option:hover:not(.is-selected),.slot-button:hover:not(.is-selected),.calendar-preview-slot:hover,.calendar-preview-day:hover:not(.is-selected),.home-availability-day:hover:not(.is-selected),.calendar-preview-nav button:hover,.home-availability-arrow:hover{transform:none}}@media(max-width:860px){.site-header{overflow:hidden}.brand{width:auto;max-width:calc(100% - 8rem)}.header-actions{margin-left:auto}.site-nav{transition:opacity .18s var(--ease-drawer),visibility .18s var(--ease-drawer)}.site-nav.is-open .nav-link,.site-nav.is-open .button{transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}}@media(max-width:640px){.panel,.appointment-card,.state-card,.booking-section,.service-category-panel,.appointment-modal,.confirm-dialog{border-radius:var(--radius-card)}.available-times-section .slot-grid,.compact-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.slot-button{min-height:48px;padding:.7rem .5rem;font-size:.84rem}.service-category-toggle{gap:.75rem}.service-category-counts{gap:.3rem}.appointment-modal-actions{box-shadow:0 -8px 20px #411f2b14}}@media(max-width:520px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:visible}.brand{width:auto!important;max-width:none;min-width:0;overflow-wrap:anywhere}.header-actions{margin-left:0;justify-self:end}.hero-copy{width:100%;max-width:100%}.hero .eyebrow,.hero h1,.hero p{max-width:100%;text-align:center}.hero h1{font-size:clamp(1.8rem,10vw,2rem)}.home-availability-days{grid-template-columns:1fr!important}}:root{--mobile-tabbar-height: 76px;--mobile-tabbar-offset: calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom, 0px));--app-screen-bg: color-mix(in oklch, var(--bg) 72%, var(--surface-soft))}.app-main{min-height:calc(100vh - 16rem);min-height:calc(100dvh - 16rem)}.mobile-screen-bar,.mobile-bottom-nav{display:none}.mobile-screen-back,.mobile-bottom-nav-link{-webkit-tap-highlight-color:transparent}.mobile-screen-back{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--accent)}.mobile-screen-title{min-width:0;display:grid;gap:.1rem}.mobile-screen-title span{color:var(--muted);font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase}.mobile-screen-title strong{overflow:hidden;color:var(--text);font-family:Cormorant Garamond,Georgia,serif;font-size:1.28rem;font-weight:600;letter-spacing:0;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav{--mobile-nav-columns: var(--mobile-nav-count, 4)}.mobile-bottom-nav-link{min-width:0;min-height:58px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:0;line-height:1;text-align:center;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .15s var(--ease-out)}.mobile-bottom-nav-link svg{flex:0 0 auto}.mobile-bottom-nav-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav-link.is-active{border-color:color-mix(in oklch,var(--accent) 24%,transparent);background:color-mix(in oklch,var(--accent) 10%,var(--surface));color:var(--accent-strong)}.mobile-bottom-nav-link:active{transform:scale(.97)}@media(max-width:860px){body{background:var(--app-screen-bg)}.app-shell{min-height:100dvh;padding-bottom:var(--mobile-tabbar-offset)}.app-main{min-height:calc(100dvh - var(--mobile-tabbar-offset) - 64px)}.site-header{z-index:70;min-height:calc(64px + env(safe-area-inset-top,0px));padding-top:calc(.65rem + env(safe-area-inset-top,0px));background:color-mix(in oklch,var(--header-bg) 92%,var(--surface-strong))}.header-actions{gap:.55rem}.mobile-screen-bar{min-height:58px;display:flex;align-items:center;gap:.75rem;padding:.55rem clamp(.75rem,4vw,1rem);border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface-strong) 90%,var(--bg))}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:65;display:grid;grid-template-columns:repeat(var(--mobile-nav-columns),minmax(0,1fr));gap:.35rem;padding:.45rem max(.55rem,env(safe-area-inset-left,0px)) calc(.45rem + env(safe-area-inset-bottom,0px)) max(.55rem,env(safe-area-inset-right,0px));border-top:1px solid var(--line);background:var(--surface-strong);box-shadow:0 -10px 28px #411f2b1a}.mobile-bottom-nav[aria-hidden=true]{visibility:hidden}.page-section,.page-section.narrow,.calendar-preview-section,.home-availability-section{width:min(100% - 1rem,1100px)}.page-section{padding-top:1rem;padding-bottom:1.35rem}.section-heading{margin-bottom:1rem}.section-heading.split{align-items:stretch}.section-heading h1,.section-heading h2{font-size:clamp(1.65rem,8vw,2.15rem);line-height:1.08}.section-heading p{margin-top:.45rem;line-height:1.55}.hero{margin:.75rem auto 0;width:min(100% - 1rem,680px);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.hero .button-row{margin-top:1.25rem}.home-availability-section{margin-top:.75rem}.home-availability-card,.calendar-preview,.panel,.appointment-card,.state-card,.service-category-panel{border-radius:var(--radius-card)}.booking-flow{counter-reset:booking-step;gap:.85rem}.booking-section{counter-increment:booking-step;padding:1rem}.booking-section>h2{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;font-size:1.32rem;line-height:1.12}.booking-section>h2:before{content:counter(booking-step);width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid color-mix(in oklch,var(--accent) 30%,var(--line));border-radius:999px;background:color-mix(in oklch,var(--accent) 10%,var(--card-bg));color:var(--accent-strong);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:900}.booking-review-grid,.booking-review-actions{gap:.85rem}.booking-review-actions .button.full{min-height:52px}.owner-manual-date-section .form-grid.two{gap:.8rem}.owner-manual-date-section input[type=date],.owner-manual-date-section input[type=time]{min-height:52px;height:52px;border-radius:var(--radius-sm);padding:0 .95rem;font-size:16px;line-height:1.2;color-scheme:light;-webkit-appearance:none;appearance:none}.owner-manual-date-section input[type=date]::-webkit-date-and-time-value,.owner-manual-date-section input[type=time]::-webkit-date-and-time-value{min-height:52px;display:flex;align-items:center;text-align:left}.owner-manual-date-section input[type=date]::-webkit-calendar-picker-indicator,.owner-manual-date-section input[type=time]::-webkit-calendar-picker-indicator{min-width:24px;min-height:24px;padding:.25rem}.service-category-toggle{min-height:60px}.service-option,.modal-service-list .service-option{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}.service-option-copy,.modal-service-list .service-option-copy{text-align:left}.slot-grid,.compact-slot-grid{gap:.55rem}.slot-button{min-height:50px;justify-content:center;text-align:center}.dashboard-section{margin-top:1.15rem}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.quick-actions .button{min-height:52px;width:100%;padding-inline:.65rem;text-align:center}.needs-action-groups,.card-list{gap:.8rem}.appointment-card.needs-action{border-color:color-mix(in oklch,var(--accent) 60%,var(--line));background:color-mix(in oklch,var(--accent) 6%,var(--card-bg))}.owner-primary-actions,.owner-secondary-actions{gap:.55rem}.owner-primary-actions .button,.owner-secondary-actions .button{min-height:50px}.appointment-archive-section{padding-top:1.35rem}.alert,.state-card{border-radius:var(--radius-card)}.state-card{display:grid;justify-items:start;gap:.65rem}.state-card .spinner{justify-self:center}.footer-links a,.footer-contact a{min-height:44px;display:inline-flex;align-items:center}.site-footer{margin-top:2rem}}@media(max-width:640px){.confirm-overlay.modal-overlay{align-items:flex-end;padding:0}.appointment-modal,.appointment-cancel-modal,.logout-confirm-modal{width:100%;max-height:calc(100dvh - .75rem);border-radius:18px 18px 0 0}.appointment-modal:before{content:"";justify-self:center;width:44px;height:4px;display:block;margin-top:.65rem;border-radius:999px;background:color-mix(in oklch,var(--muted) 35%,transparent)}.appointment-modal-header{padding:.85rem 1rem}.appointment-modal-header h2{font-size:1.38rem}.appointment-modal-body{padding:1rem}.appointment-modal-actions{padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px))}.logout-confirm-modal .appointment-modal-actions{flex-direction:row;align-items:center;justify-content:flex-end;gap:.55rem}.logout-confirm-modal .appointment-modal-actions .button{width:auto;min-width:0;min-height:44px;flex:0 0 auto;padding:.65rem .9rem;font-size:.85rem}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px)and (hover:none),(max-width:860px)and (pointer:coarse){.mobile-menu-toggle{display:none}.mobile-header-logout{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--danger);padding:.62rem .85rem;font-size:.78rem;font-weight:800;letter-spacing:.02em}}@media(max-width:860px)and (hover:hover)and (pointer:fine){.app-shell{padding-bottom:0}.mobile-bottom-nav{display:none}}@media(max-width:430px){.mobile-bottom-nav{gap:.25rem;padding-inline:.4rem}.mobile-bottom-nav-link{min-height:56px;font-size:.64rem}.mobile-bottom-nav-link svg{width:19px;height:19px}.home-availability-card,.booking-section,.panel,.appointment-card,.state-card{padding:.9rem}.quick-actions .button{font-size:.68rem;letter-spacing:.04em}}@media(max-width:360px){.mobile-screen-bar{padding-inline:.65rem}.mobile-screen-title strong{font-size:1.18rem}.mobile-bottom-nav-link{font-size:.6rem}.quick-actions{grid-template-columns:1fr}}@media(min-width:861px){.app-main{background:var(--bg)}.quick-actions .button{min-width:11rem}}[data-theme=dark] .hero{background:url(/salon-hero.webp) center/cover no-repeat;color:var(--inverse-text)}[data-theme=dark] .hero:before{background:#1e1e1e8c}[data-theme=dark] .calendar-preview-nav button,[data-theme=dark] .home-availability-arrow,[data-theme=dark] .calendar-preview-slot,[data-theme=dark] .home-availability-card,[data-theme=dark] .home-availability-day,[data-theme=dark] .panel,[data-theme=dark] .appointment-card,[data-theme=dark] .state-card{background:var(--card-bg)}[data-theme=dark] .state-card.loading-state{background:color-mix(in oklch,var(--accent) 10%,var(--card-bg));border-color:color-mix(in oklch,var(--accent) 34%,var(--line))}[data-theme=dark] .button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}[data-theme=dark] .button.secondary:hover{background:var(--surface-strong);border-color:var(--accent);color:var(--accent)}[data-theme=dark] .service-option{background:var(--card-bg)}[data-theme=dark] .service-category-panel{background:var(--surface)}[data-theme=dark] .owner-manual-date-section input[type=date],[data-theme=dark] .owner-manual-date-section input[type=time]{color-scheme:dark}[data-theme=dark] .service-category-toggle:hover{background:color-mix(in oklch,var(--inverse-text) 5%,transparent)}[data-theme=dark] .service-category-counts span,[data-theme=dark] .pill.category,[data-theme=dark] .slot-button{background:var(--card-bg)}[data-theme=dark] .button.logout-btn{background-color:var(--surface-strong);color:var(--text);border:1px solid var(--line);margin-left:12px}[data-theme=dark] .site-nav .nav-link{background-color:var(--header-bg)}[data-theme=dark] nav.site-nav{background-color:var(--header-bg)}[data-theme=dark] .site-nav .nav-link:hover,[data-theme=dark] .site-nav .button:hover{color:var(--inverse-text);background:#b450501a}[data-theme=dark] .confirm-overlay{background:#050101b8}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--input-bg);border-color:var(--line);color:var(--text)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--muted)}[data-theme=dark] .profile-strip,[data-theme=dark] .site-footer{background:var(--surface)}[data-theme=dark] .calendar-preview-section{color:var(--text)}[data-theme=dark] .calendar-preview-day:hover:not(:disabled){background:#b450501f}[data-theme=dark] .calendar-preview-day.is-today{background:#b450501a}[data-theme=dark] .calendar-preview-day.is-selected{background:var(--accent)}[data-theme=dark] .calendar-preview-day.is-selected span{color:#fcf7f7}[data-theme=dark] .calendar-preview-day.is-selected:after{background:#fcf7f7}[data-theme=dark] .service-option.is-selected{background:color-mix(in oklch,var(--accent) 12%,var(--card-bg))}[data-theme=dark] .home-availability-day.is-selected{background:var(--accent);color:var(--inverse-text)}[data-theme=dark] .home-availability-day.is-selected span{color:color-mix(in oklch,var(--inverse-text) 85%,transparent)}[data-theme=dark] .home-availability-day.is-selected:hover{background:var(--accent-dark)}[data-theme=dark] .home-availability-day:hover:not(.is-selected){border-color:var(--accent);background:#b4505014}[data-theme=dark] .alert-error{background:#b91c1c26}[data-theme=dark] .alert-success{background:#2d7a4f26}[data-theme=dark] .status-pending{background:#c97a1f26}[data-theme=dark] .status-approved{background:#2d7a4f26}[data-theme=dark] .status-rejected{background:#b91c1c26}[data-theme=dark] .pill.active{background:#377a4f26}[data-theme=dark] .confirmation-details,[data-theme=dark] .site-nav{background:var(--surface)}[data-theme=dark] .theme-switch-track{background:var(--bg)}[data-theme=dark] .confirm-dialog{background:var(--surface)}[data-theme=dark] .confirm-dialog h3{color:var(--text)}[data-theme=dark] .confirm-dialog p{color:var(--muted)}[data-theme=dark] .confirmation-icon{color:var(--accent)}[data-theme=dark] .confirmation-icon svg{fill:var(--accent);stroke:var(--accent)}[data-theme=dark] .calendar-preview-nav button:hover,[data-theme=dark] .home-availability-arrow:hover:not(:disabled){background:var(--accent);color:#fcf7f7}[data-theme=dark] .appointment-modal,[data-theme=dark] .modal-close-button{background:var(--surface)}[data-theme=dark] .appointment-modal-header h2{color:var(--text)}[data-theme=dark] .modal-note{background:#b4505014}[data-theme=dark] .modal-section h3,[data-theme=dark] .available-times-section h4{color:var(--text)}[data-theme=dark] .appointment-modal-actions{background:var(--surface-strong)}[data-theme=dark] .service-quantity-control{background:var(--surface)}[data-theme=dark] .service-option.is-selected{box-shadow:0 0 0 2px #b4505033}[data-theme=dark] .summary-list p{color:var(--muted)}[data-theme=dark] .summary-list strong{color:var(--text)}[data-theme=dark] .appointment-archive{background:var(--surface)}@media(max-width:860px){[data-theme=dark] .site-nav{background:var(--surface-strong);border-color:var(--line);box-shadow:-18px 0 36px #00000052}[data-theme=dark] .site-nav .nav-link,[data-theme=dark] .site-nav .button,[data-theme=dark] .site-nav .button.small,[data-theme=dark] .nav-close,[data-theme=dark] .mobile-menu-toggle{background:var(--surface);border-color:var(--line);color:var(--text)}[data-theme=dark] .site-nav .nav-link:hover,[data-theme=dark] .site-nav .button:hover,[data-theme=dark] .site-nav .nav-link.is-active{background:color-mix(in oklch,var(--inverse-text) 6%,transparent);border-color:var(--accent);color:var(--accent)}[data-theme=dark] .site-nav .button.logout-btn,[data-theme=dark] .button.button.small.logout-btn{background:var(--danger);border-color:var(--danger);color:var(--inverse-text)}}@media(max-width:640px){[data-theme=dark] .appointment-modal-actions,[data-theme=dark] .appointment-modal-header{background:var(--surface-strong)}[data-theme=dark] .wip-disclaimer{background:var(--surface);border-color:var(--line)}}[data-theme=dark]{--shadow-sm: 0 1px 3px rgba(0, 0, 0, .28);--shadow-md: 0 10px 28px rgba(0, 0, 0, .26);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .32);--shadow-soft: 0 12px 30px rgba(0, 0, 0, .22)}[data-theme=dark] .panel,[data-theme=dark] .appointment-card,[data-theme=dark] .state-card,[data-theme=dark] .calendar-preview,[data-theme=dark] .home-availability-card,[data-theme=dark] .service-category-panel{border-color:color-mix(in oklch,var(--line) 85%,var(--inverse-text) 5%);box-shadow:0 1px 2px #00000047,0 14px 34px #00000038}[data-theme=dark] input:hover,[data-theme=dark] select:hover,[data-theme=dark] textarea:hover{border-color:color-mix(in oklch,var(--accent) 48%,var(--line))}[data-theme=dark] .hero:before{background:linear-gradient(180deg,#141012b8,#1410128a),#00000047}[data-theme=dark] .button.primary{box-shadow:0 8px 20px #00000047}[data-theme=dark] .button.secondary,[data-theme=dark] .button.danger{box-shadow:0 1px 2px #00000047}[data-theme=dark] .service-category-panel{background:color-mix(in oklch,var(--surface) 88%,oklch(12% .015 20) 12%)}[data-theme=dark] .service-category-panel.is-open,[data-theme=dark] .service-option.is-selected{background:color-mix(in oklch,var(--accent) 10%,var(--card-bg))}[data-theme=dark] .service-quantity-control{background:color-mix(in oklch,var(--surface) 88%,oklch(12% .015 20) 12%)}[data-theme=dark] .appointment-modal,[data-theme=dark] .confirm-dialog{border-color:var(--line);box-shadow:0 24px 70px #0000007a}[data-theme=dark] .appointment-modal-actions{box-shadow:0 -1px 0 var(--line)}@media(hover:hover)and (pointer:fine){[data-theme=dark] .service-option:hover{box-shadow:0 1px 2px #0000004d,0 14px 30px #00000047}}@media(max-width:640px){[data-theme=dark] .appointment-modal-actions{box-shadow:0 -8px 20px #00000047}}[data-theme=dark]{--app-screen-bg: color-mix(in oklch, var(--bg) 78%, oklch(14% .02 20))}[data-theme=dark] .mobile-screen-bar{background:color-mix(in oklch,var(--surface-strong) 92%,var(--bg));border-color:color-mix(in oklch,var(--line) 88%,var(--accent) 8%)}[data-theme=dark] .mobile-screen-back{background:var(--surface);border-color:var(--line);color:var(--accent)}[data-theme=dark] .mobile-bottom-nav{background:color-mix(in oklch,var(--surface-strong) 92%,var(--bg));border-color:color-mix(in oklch,var(--line) 88%,var(--accent) 8%);box-shadow:0 -12px 32px #00000052}[data-theme=dark] .mobile-bottom-nav-link{color:var(--muted)}[data-theme=dark] .mobile-bottom-nav-link.is-active{background:color-mix(in oklch,var(--accent) 14%,var(--surface));border-color:color-mix(in oklch,var(--accent) 32%,var(--line));color:var(--accent-strong)}[data-theme=dark] .booking-section>h2:before{background:color-mix(in oklch,var(--accent) 12%,var(--surface));border-color:color-mix(in oklch,var(--accent) 34%,var(--line));color:var(--accent-strong)}
