:root{--bg: #fafafa;--surface: #ffffff;--surface-warm: var(--surface);--fg: #111111;--fg-2: var(--fg);--muted: #6b6b6b;--meta: var(--muted);--border: #e5e5e5;--border-soft: var(--border);--accent: #2f6feb;--accent-on: #ffffff;--accent-hover: color-mix(in oklab, var(--accent), black 8%);--accent-active: color-mix(in oklab, var(--accent), black 14%);--success: #17a34a;--warn: #eab308;--danger: #dc2626;--font-display: "Inter", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 48px;--text-4xl: 64px;--leading-body: 1.5;--leading-tight: 1.2;--tracking-display: -.01em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-20: 80px;--section-y-desktop: 80px;--section-y-tablet: 48px;--section-y-phone: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 9999px;--elev-flat: none;--elev-ring: 0 0 0 1px var(--border);--elev-raised: 0 2px 8px color-mix(in oklab, var(--fg), transparent 92%);--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);--motion-fast: .15s;--motion-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--container-max: 1200px;--container-gutter-desktop: 24px;--container-gutter-tablet: 16px;--container-gutter-phone: 12px}:root[data-theme=dark]{--bg: oklch(.17 0 0);--surface: oklch(.21 0 0);--fg: oklch(.94 0 0);--muted: oklch(.7 0 0);--border: oklch(.32 0 0)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: oklch(.17 0 0);--surface: oklch(.21 0 0);--fg: oklch(.94 0 0);--muted: oklch(.7 0 0);--border: oklch(.32 0 0)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}p{text-wrap:pretty}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{width:min(100%,430px);min-height:100dvh;margin:0 auto;background:var(--surface);position:relative;overflow-x:hidden;padding-bottom:calc(84px + env(safe-area-inset-bottom));box-shadow:var(--elev-ring)}.app-shell.booking-shell{height:100dvh;min-height:0;padding-bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.booking-shell .app-header{position:relative;top:auto}.booking-shell main{min-height:0;overflow:hidden}.booking-shell .bottom-nav{position:static;left:auto;bottom:auto;width:100%;transform:none}.app-header{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--surface),transparent 4%);border-bottom:1px solid var(--border);padding:max(14px,env(safe-area-inset-top)) var(--space-4) var(--space-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-row,.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.header-leading{display:flex;align-items:center;gap:var(--space-3);min-width:0}[hidden]{display:none!important}.eyebrow{color:var(--muted);font:600 var(--text-xs)/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-1)}.app-title{font-size:var(--text-xl);font-weight:600}.demo-label{color:var(--muted);font-size:var(--text-xs)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.icon-btn:hover{background:var(--bg);border-color:var(--fg)}.icon-btn:active{background:color-mix(in oklab,var(--fg),transparent 92%)}.icon-btn:focus-visible,.btn:focus-visible,.nav-item:focus-visible,.chip:focus-visible,.client-row:focus-visible,.input:focus-visible,.slot:focus-visible{outline:none;box-shadow:var(--focus-ring)}main{min-height:calc(100dvh - 160px)}.screen{display:none;animation:reveal var(--motion-base) var(--ease-standard)}.screen.active{display:block}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.section{padding:var(--space-5) var(--space-4)}.section+.section{border-top:1px solid var(--border)}.date-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2);margin-top:var(--space-4)}.calendar-header-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.calendar-menu-wrap{position:relative}.calendar-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:20;min-width:180px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--elev-raised)}.calendar-menu button{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-3);border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--fg);text-align:left}.calendar-menu .icon{flex:0 0 18px;width:18px;height:18px}.calendar-menu [data-calendar-menu-action=settings]{margin-top:var(--space-1);border-top:1px solid var(--border);border-radius:0 0 calc(var(--radius-sm) - 2px) calc(var(--radius-sm) - 2px)}.calendar-menu button:hover{background:var(--bg)}.date-chip{min-height:80px;border:0;background:var(--surface);border-radius:var(--radius-sm);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:var(--text-xs)}.date-chip strong{color:var(--fg);font-size:var(--text-base)}.date-load{margin-top:2px;color:var(--muted);font:600 var(--text-xs)/1.2 var(--font-mono)}.load-progress{width:84%;height:7px;margin-top:4px;overflow:hidden;border-radius:var(--radius-pill);background:var(--border)}.load-progress-fill{display:block;height:100%;border-radius:inherit}.load-low{background:var(--danger)}.load-medium{background:var(--warn)}.load-high{background:var(--success)}.date-chip.selected{border-color:var(--fg);background:var(--fg);color:var(--surface)}.date-chip.selected strong,.date-chip.selected .date-load{color:var(--surface)}.date-chip.selected .load-progress{background:color-mix(in oklab,var(--surface),transparent 72%)}:root[data-theme=dark] .date-chip.selected{background:color-mix(in oklab,var(--surface),black 34%);border-color:var(--border);color:var(--fg)}:root[data-theme=dark] .date-chip.selected strong,:root[data-theme=dark] .date-chip.selected .date-load{color:var(--fg)}:root[data-theme=dark] .date-chip.selected .load-progress{background:var(--border)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .date-chip.selected{background:color-mix(in oklab,var(--surface),black 34%);border-color:var(--border);color:var(--fg)}:root:not([data-theme]) .date-chip.selected strong,:root:not([data-theme]) .date-chip.selected .date-load{color:var(--fg)}:root:not([data-theme]) .date-chip.selected .load-progress{background:var(--border)}}.date-dialog{width:min(100%,430px);max-width:none;height:100dvh;max-height:none;margin:0 auto;border:0;border-radius:0;background:var(--surface);color:var(--fg);padding:0;box-shadow:var(--elev-raised)}.date-dialog::backdrop{background:color-mix(in oklab,var(--fg),transparent 68%)}.date-dialog-shell{height:100%;min-height:0;display:flex;flex-direction:column;padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));overflow:hidden}.date-dialog-top{display:flex;align-items:center;gap:var(--space-3);min-height:52px}.date-dialog-top h2{flex:1;font-size:var(--text-xl)}.calendar-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;margin:var(--space-4) calc(var(--space-4) * -1) 0;padding:0 var(--space-4) var(--space-6)}.calendar-scroll::-webkit-scrollbar{display:none}.calendar-month{padding:var(--space-5) 0 var(--space-8)}.calendar-month+.calendar-month{border-top:1px solid var(--border)}.calendar-month h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:var(--muted);font:var(--text-xs)/1.2 var(--font-mono);text-align:center}.calendar-weekdays span{padding-block:var(--space-2)}.calendar-days{grid-auto-rows:64px;margin-top:var(--space-1)}.calendar-day{min-width:44px;min-height:64px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--fg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-mono)}.calendar-day:hover{background:var(--bg);border-color:var(--border)}.calendar-day.selected{background:var(--fg);color:var(--surface);border-color:var(--fg);font-weight:600}.calendar-load{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.1}.calendar-day .load-progress{width:38px}.calendar-day.selected .calendar-load{color:var(--surface)}.calendar-day.selected .load-progress{background:color-mix(in oklab,var(--surface),transparent 72%)}.date-dialog-actions{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.metric{padding:var(--space-3);background:var(--bg);border-radius:var(--radius-sm)}.metric strong{display:block;font:600 var(--text-lg)/1.2 var(--font-mono)}.metric span{color:var(--muted);font-size:var(--text-xs)}.timeline{position:relative}.time-row{display:grid;grid-template-columns:52px 1fr;min-height:88px}.time{color:var(--muted);font:var(--text-xs)/1 var(--font-mono);padding-top:3px}.time-track{border-top:1px solid var(--border);padding:var(--space-2) 0 var(--space-3)}.appointment{width:100%;text-align:left;border:1px solid var(--border);border-left:3px solid var(--fg);border-radius:3px;background:var(--surface);padding:var(--space-3);color:var(--fg)}.appointment:hover{background:var(--bg)}.appointment-title{display:block;font-weight:600}.appointment-client{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.appointment-client .avatar{flex:0 0 24px;width:24px;height:24px;font-size:10px}.appointment-duration{display:block;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm);font-weight:600}.free-slot{min-height:60px;display:flex;align-items:center;color:var(--muted);font-size:var(--text-sm)}.free-slot-duration{font-weight:600}.btn{min-height:44px;border-radius:var(--radius-sm);padding:10px var(--space-4);border:1px solid transparent;font-weight:600;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);border-color:var(--accent-active)}#saveCalendarSettings{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}#saveCalendarSettings:disabled{cursor:wait;opacity:.82}.save-button-indicator{display:none;width:16px;height:16px;border:2px solid color-mix(in oklab,var(--accent-on),transparent 58%);border-top-color:var(--accent-on);border-radius:var(--radius-pill)}#saveCalendarSettings.is-saving .save-button-indicator{display:block;animation:save-spin .7s linear infinite}#saveCalendarSettings.is-saved .save-button-indicator{display:block;width:8px;height:14px;border:0;border-right:2px solid var(--accent-on);border-bottom:2px solid var(--accent-on);border-radius:0;transform:rotate(45deg) translateY(-1px)}#saveCalendarSettings.is-saved{cursor:default;background:color-mix(in oklch,var(--success) 80%,oklch(0 0 0));border-color:transparent;color:var(--accent-on);opacity:1}#saveCalendarSettings.is-dismissed{animation:save-dismiss .2s ease-out forwards}@keyframes save-dismiss{to{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){#saveCalendarSettings.is-dismissed{animation:none;opacity:0}}@keyframes save-spin{to{transform:rotate(360deg)}}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--fg)}.btn-secondary:hover{border-color:var(--fg);background:var(--bg)}.full{width:100%}.fab{position:fixed;z-index:30;right:max(calc((100vw - 430px)/2 + 16px),16px);bottom:calc(94px + env(safe-area-inset-bottom));width:56px;height:56px;padding:0;display:grid;place-items:center;border-radius:var(--radius-lg);box-shadow:var(--elev-raised)}.bottom-nav{position:fixed;z-index:25;bottom:0;left:50%;transform:translate(-50%);width:min(100%,430px);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.nav-item{min-height:56px;border:0;background:transparent;color:var(--muted);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:var(--text-xs)}.nav-item:hover{color:var(--fg);background:var(--bg)}.nav-item.active{color:var(--accent);font-weight:600}.nav-item .icon{width:21px;height:21px}.search{position:relative}.search .icon{position:absolute;left:13px;top:12px;width:20px;height:20px;color:var(--muted);pointer-events:none}.input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);padding:10px 12px}.search .input{padding-left:42px}.input::placeholder{color:var(--muted)}.input:focus-visible{border-color:var(--accent)}.chips{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-block:1px}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:36px;padding:7px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--muted)}.chip:hover{border-color:var(--fg);color:var(--fg)}.chip.selected{background:var(--fg);color:var(--surface);border-color:var(--fg)}.client-list{border-top:1px solid var(--border)}.client-row{width:100%;min-height:76px;border:0;border-bottom:1px solid var(--border);background:var(--surface);padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:var(--space-3);text-align:left;color:var(--fg)}.client-row:hover{background:var(--bg)}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--fg),transparent 92%);font-weight:600}.client-name{font-weight:600}.client-meta{color:var(--muted);font-size:var(--text-sm);margin-top:1px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--success);background:color-mix(in oklab,var(--success),transparent 91%)}.form{display:grid;gap:var(--space-4)}.field{display:grid;gap:6px}.field label{font-size:var(--text-sm);font-weight:600}.field-help,.error{font-size:var(--text-xs);color:var(--muted)}.error{display:none;color:var(--danger)}.field.invalid .input{border-color:var(--danger)}.field.invalid .error{display:block}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.slot{min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg)}.slot:hover{border-color:var(--fg)}.slot.selected{background:var(--fg);border-color:var(--fg);color:var(--surface)}.booking-progress{display:grid;gap:var(--space-2)}.app-header.booking-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.booking-header .header-row{flex:1;min-width:0}.app-header>.booking-progress{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.app-header>.booking-progress .row-between{display:block}.app-header>.booking-progress .demo-label{display:none}.app-header>.booking-progress strong{font:600 var(--text-xs)/1.2 var(--font-mono)}.app-header>.booking-progress .booking-progress-row{width:64px}.booking-progress-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.booking-progress-bar{height:4px;border-radius:var(--radius-pill);background:var(--border)}.booking-progress-bar.complete,.booking-progress-bar.active{background:var(--fg)}.booking-step{display:none;gap:var(--space-4)}.booking-step.active{display:grid}#booking.active{height:100%;min-height:0;overflow:hidden}#booking>.form{height:100%;min-height:0}#booking [data-step="1"].active{height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto}#booking [data-step="1"] .booking-options-scroll{max-height:none;min-height:0}#booking [data-step="2"].active{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}#booking [data-step="2"] .booking-options-scroll{max-height:none;min-height:0}#booking [data-step="3"].active{height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto}#booking [data-step="3"] .booking-days-scroll{max-height:none;min-height:0}#booking [data-step="4"].active{height:100%;min-height:0;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;overflow-y:auto}#booking [data-step="4"] .booking-actions{grid-row:6}.booking-step-heading{display:grid;gap:var(--space-1)}.booking-step-heading h2{font-size:var(--text-xl)}.booking-step-heading p{color:var(--muted);font-size:var(--text-sm)}[data-step="1"] .booking-step-heading p{display:none}.booking-options-scroll,.booking-days-scroll{display:grid;gap:var(--space-2);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.booking-options-scroll{max-height:min(47dvh,420px)}.booking-days-scroll{max-height:min(55dvh,520px);padding-right:2px}.choice-card{width:100%;min-height:64px;padding:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);text-align:left;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.choice-card:hover{border-color:var(--fg)}.choice-card.selected{color:var(--surface);background:var(--fg);border-color:var(--fg)}.choice-card strong,.choice-card span{display:block}.choice-card span{margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.choice-card.selected span{color:var(--surface)}.client-choice{justify-content:flex-start}.client-choice .avatar{flex:0 0 44px;display:grid;margin-top:0;color:var(--fg);font-size:var(--text-base)}.client-choice.selected .avatar{color:var(--fg);background:var(--surface)}.booking-actions{align-self:end;display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);padding-top:var(--space-2);background:var(--surface)}.booking-actions.single{grid-template-columns:1fr}.booking-day-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.booking-day-card.today{background:color-mix(in oklab,var(--fg),transparent 97%)}.booking-day-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.booking-day-title strong{font-size:var(--text-base)}.booking-day-title span{color:var(--muted);font-size:var(--text-sm)}.booking-day-card.today .booking-day-title span{font-weight:600}.booking-summary{display:grid;gap:var(--space-3)}.booking-summary-row{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.booking-summary-row span{color:var(--muted)}.booking-summary-row strong{text-align:right}.check-row{min-height:52px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm)}.check-row input{width:20px;height:20px;accent-color:var(--accent)}.calendar-settings-form{display:grid;gap:var(--space-6)}.settings-group{display:grid;gap:var(--space-3)}.settings-group h2{font-size:var(--text-base)}.work-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday-option{position:relative}.weekday-option input{position:absolute;opacity:0;pointer-events:none}.weekday-option span{min-height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm)}.weekday-option input:checked+span{border-color:var(--fg);background:var(--fg);color:var(--surface)}.weekday-option input:focus-visible+span{box-shadow:var(--focus-ring)}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.theme-option{position:relative}.theme-option input{position:absolute;opacity:0;pointer-events:none}.theme-option span{min-height:48px;display:grid;place-items:center;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);text-align:center}.theme-option input:checked+span{border-color:var(--fg);background:var(--fg);color:var(--surface)}.theme-option input:focus-visible+span{box-shadow:var(--focus-ring)}.work-calendar{display:grid;gap:var(--space-4)}.work-calendar-list{display:grid;gap:var(--space-2)}.work-calendar-day{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.work-calendar-date{display:grid;gap:2px}.work-calendar-date span,.work-calendar-time{color:var(--muted);font-size:var(--text-sm)}.work-calendar-status{justify-self:start;margin-top:var(--space-2);padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600}.work-calendar-status.working{color:var(--success);background:color-mix(in oklab,var(--success),transparent 91%)}.work-calendar-status.rest{color:var(--muted);background:var(--bg)}.work-calendar-status.vacation{color:var(--danger);background:color-mix(in oklab,var(--danger),transparent 91%)}.work-calendar-day .btn{min-height:38px;padding:7px 10px;font-size:var(--text-sm)}.settings-link{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--fg);text-align:left;font:inherit}.settings-menu>.search{margin-bottom:var(--space-4)}.settings-link>span{flex:1;min-width:0}.settings-link>.icon{flex-shrink:0}.settings-link>.settings-section-icon{margin-left:calc(var(--space-3) / 2)}.settings-link:hover{background:var(--bg);color:var(--fg)}.settings-link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.settings-category-content{display:grid;gap:var(--space-5)}.settings-category-content p{margin:0}.booking-shell #calendar-settings.active{height:100%;min-height:0}.booking-shell .calendar-settings-form{height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto}.settings-save-area{display:grid;gap:var(--space-2)}.settings-save-area:has(button[hidden]){display:none}.settings-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}#account-profile .quick-actions .btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}#account-profile .quick-actions .icon{width:18px;height:18px;flex-shrink:0}.profile{text-align:center;padding-top:var(--space-6)}.profile .avatar{width:72px;height:72px;margin:0 auto var(--space-3);font-size:var(--text-xl)}.profile h2{font-size:var(--text-xl)}.profile p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-top:var(--space-5)}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4)}.card h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.info-list{display:grid;gap:var(--space-3)}.info-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}.info-item span:first-child{color:var(--muted)}.history-row{display:grid;grid-template-columns:62px 1fr auto;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);font-size:var(--text-sm)}.history-row time{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.history-row strong{font-weight:600}.history-row span:last-child{color:var(--muted);font-family:var(--font-mono)}.toast{position:fixed;z-index:50;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,16px);width:min(calc(100% - 32px),398px);padding:13px 16px;border-radius:var(--radius-sm);background:var(--fg);color:var(--surface);opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);text-align:center;font-size:var(--text-sm)}.toast.show{opacity:1;transform:translate(-50%)}.empty-state{padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center}@media(min-width:700px){body{padding-block:var(--space-6)}.app-shell{min-height:calc(100dvh - 48px);border-radius:var(--radius-lg)}.app-shell.booking-shell{height:calc(100dvh - 48px)}.bottom-nav{bottom:var(--space-6);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.booking-shell .bottom-nav{bottom:auto}.fab{bottom:118px}}#account-profile .account-modules-button{width:100%;display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);text-align:left}#account-profile .account-modules-button>span{flex:1}#account-profile .account-modules-button .icon{width:18px;height:18px;flex-shrink:0}#account-profile .account-modules-button+.quick-actions{margin-top:var(--space-2)}#modules .module-catalog-intro{margin-bottom:var(--space-5)}#modules .module-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) 0}#modules .module-row+.module-row{border-top:1px solid var(--border)}#modules .module-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}#modules .module-symbol .icon{width:20px;height:20px}#modules .module-content{min-width:0;flex:1}#modules .module-title{font-size:var(--text-base);font-weight:600;line-height:var(--leading-body)}#modules .module-description{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}#modules .badge{margin-top:var(--space-3)}#modules .module-dependency{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}#modules .module-catalog-note{margin-top:var(--space-5)}#modules .module-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 44px;width:44px;height:26px;margin:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--muted);cursor:pointer}#modules .module-switch:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);transition:transform var(--motion-fast) var(--ease-standard)}#modules .module-switch:checked{background:var(--success);border-color:var(--success)}#modules .module-switch:checked:before{transform:translate(18px)}#modules .module-switch:disabled{opacity:.45;cursor:not-allowed}#modules .module-switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(prefers-reduced-motion:reduce){#modules .module-switch:before{transition:none}}#modules .module-open{display:flex;flex:1;min-width:0;align-items:flex-start;gap:var(--space-3);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);text-align:left}#modules .module-open:focus-visible{outline:none;box-shadow:var(--focus-ring)}#modules .module-open:hover .module-title{text-decoration:underline;text-underline-offset:var(--space-1)}#modules .module-title,#modules .module-description{display:block}#module-detail .module-detail-content{display:grid;gap:var(--space-6)}#module-detail .module-detail-heading{display:flex;align-items:center;gap:var(--space-3)}#module-detail .module-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}#module-detail .module-symbol .icon{width:20px;height:20px}#module-detail .module-detail-section h2{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}#module-detail p{font-size:var(--text-sm);color:var(--muted)}#module-detail .module-cover{display:block;width:100%;height:auto;aspect-ratio:5 / 3;border-radius:var(--radius-md);overflow:hidden;font-family:var(--font-body)}#clients .client-phone{display:flex;align-items:center;gap:var(--space-1)}#clients .client-phone .icon{width:14px;height:14px;flex-shrink:0}#clients .client-phone strong{font-weight:700}.primary-action-menu{position:fixed;z-index:30;bottom:calc(148px + env(safe-area-inset-bottom));right:max(var(--space-4),calc((100vw - 430px) / 2 + var(--space-4)));width:min(300px,calc(100vw - 32px));padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--elev-raised)}.primary-action-menu button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);text-align:left}.primary-action-menu button:hover{background:var(--bg)}.primary-action-menu button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.primary-action-menu button:disabled{opacity:.45;cursor:not-allowed}
