:root{--text:#5b6472;--text-h:#111827;--bg:#fff;--bg-subtle:#f1f3f6;--border:#e2e5ea;--accent:#ff5a36;--accent-hover:#e6491f;--accent-bg:#ff5a3629;--accent-border:#ff5a3680;--success:#15a349;--success-bg:#15a34929;--danger:#dc2626;--danger-bg:#dc262624;--warning:#d97706;--shadow:#1118271f 0 12px 22px -6px, #11182712 0 4px 8px -4px;--shadow-sm:0 4px 20px -8px #00000026;--scrim:#0006;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--glass-blur:blur(16px) saturate(180%);font:16px/150% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#14161a;--bg-subtle:#1b1e24;--border:#2a2d33;--accent:#ff7a52;--accent-hover:#ff8f6b;--accent-bg:#ff7a5226;--accent-border:#ff7a5266;--success:#4ade80;--success-bg:#4ade801f;--danger:#f87171;--danger-bg:#f871711f;--warning:#fbbf24;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--shadow-sm:0 4px 20px -8px #0000008c;--scrim:#0009}}:root[data-theme=light]{--text:#5b6472;--text-h:#111827;--bg:#fff;--bg-subtle:#f1f3f6;--border:#e2e5ea;--accent:#ff5a36;--accent-hover:#e6491f;--accent-bg:#ff5a3629;--accent-border:#ff5a3680;--success:#15a349;--success-bg:#15a34929;--danger:#dc2626;--danger-bg:#dc262624;--warning:#d97706;--shadow:#1118271f 0 12px 22px -6px, #11182712 0 4px 8px -4px;--shadow-sm:0 4px 20px -8px #00000026;--scrim:#0006;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#14161a;--bg-subtle:#1b1e24;--border:#2a2d33;--accent:#ff7a52;--accent-hover:#ff8f6b;--accent-bg:#ff7a5226;--accent-border:#ff7a5266;--success:#4ade80;--success-bg:#4ade801f;--danger:#f87171;--danger-bg:#f871711f;--warning:#fbbf24;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--shadow-sm:0 4px 20px -8px #0000008c;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}#root{width:100%;min-height:100svh}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);letter-spacing:-.3px;font-weight:700}h1{font-size:var(--fs-2xl);margin:0 0 4px;line-height:122%}h2{font-size:var(--fs-lg);margin:0 0 12px;line-height:130%}p{margin:0}code{font-family:var(--mono);color:var(--text-h);font-size:var(--fs-base);background:var(--bg-subtle);border-radius:4px;padding:3px 7px;display:inline-flex}a,a:visited{color:var(--accent)}.logo{flex-direction:column;align-items:center;gap:3px;line-height:1;display:inline-flex}.logo-mark{width:44px;height:22px;color:var(--accent);flex-shrink:0}.logo-mark rect{fill:currentColor}.logo-word{font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-h);font-weight:800}.app-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);will-change:transform;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;transition:box-shadow .2s;display:flex;position:sticky;top:0;transform:translateZ(0)}.app-header-scrolled{box-shadow:var(--shadow-sm)}.app-header-logo{text-decoration:none;display:inline-flex}.app-header-left{align-items:center;gap:16px;min-width:0;display:flex}.app-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=640px){.app-header{padding:12px 16px}}@media (width<=360px){.app-header{gap:8px}.app-header-left{gap:6px}.app-header-actions{gap:4px}.app-header .dashboard-nav a,.app-header .dashboard-nav-locked{font-size:var(--fs-xs);padding:7px 5px}}.account-menu{align-items:center;display:inline-flex;position:relative}.account-avatar{border:1px solid var(--border);background:var(--bg-subtle);width:36px;height:36px;min-height:36px;color:var(--text-h);font-size:var(--fs-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:600;display:inline-flex;overflow:hidden}.account-avatar img{object-fit:cover;width:100%;height:100%}.account-dropdown{z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-dropdown-head{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.account-name{color:var(--text-h);font-weight:600;font-size:var(--fs-base)}.account-email{font-size:var(--fs-xs);color:var(--text);text-overflow:ellipsis;overflow:hidden}.account-dropdown button[role=menuitem]{border-radius:var(--radius-sm);min-height:40px;color:var(--text-h);font-size:var(--fs-base);text-align:left;background:0 0;border:none;justify-content:flex-start;padding:8px 10px;font-weight:500}.account-signout{color:var(--danger)!important}.account-dropdown-sep{background:var(--border);height:1px;margin:6px 4px}.wizard-optional-note{color:var(--text);font-size:var(--fs-sm);margin:0 0 12px}button,.btn{font:inherit;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:12px 18px;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{color:var(--text-h);border-color:var(--border);background:0 0}.btn-danger{background:var(--danger);color:#fff}.btn-danger-subtle{background:var(--bg-subtle);border:1px solid var(--border);color:var(--danger)}.link-button{color:var(--danger);background:0 0;padding:12px 14px}.btn-sm{min-height:36px;font-size:var(--fs-sm);padding:6px 14px}.btn-icon{border:1px solid var(--border);border-radius:var(--radius-pill);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}label{font-size:var(--fs-base);color:var(--text-h);flex-direction:column;gap:6px;font-weight:600;display:flex}input,select,textarea{font-family:inherit;font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-h);padding:10px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--fs-sm);font-weight:400}.field-group{flex-direction:column;gap:6px;display:flex}.password-field{position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{width:32px;min-width:32px;height:32px;min-height:32px;position:absolute;bottom:4px;right:4px}.auth-page{text-align:left;max-width:420px;margin:0 auto;padding:56px 24px}.dashboard-page,.public-booking-page{text-align:left;margin:0 auto;padding:40px 24px 64px}.dashboard-page{max-width:860px}.public-booking-page{max-width:560px}@media (width<=640px){.auth-page{padding:32px 16px}.dashboard-page,.public-booking-page{padding:24px 16px 48px}}@media (width<=480px){.auth-form button[type=submit],.booking-form button[type=submit]{width:100%}}.page-status{color:var(--text)}.auth-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.auth-message{text-align:center;flex-direction:column;gap:16px;margin-top:24px;display:flex}.auth-message button,.auth-form button{margin-top:4px}.auth-hint{font-size:var(--fs-sm);color:var(--text);font-weight:400}.auth-error{color:var(--danger);font-size:var(--fs-base);margin:0}.auth-success{color:var(--success);font-size:var(--fs-base);align-items:center;gap:6px;display:inline-flex}.auth-switch{font-size:var(--fs-base);text-align:center;color:var(--text);font-weight:400}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-public-link{color:var(--text);font-size:var(--fs-base);align-items:center;gap:4px;margin-top:4px;display:inline-flex}.share-link-btn{width:26px;min-width:26px;height:26px;min-height:26px}.billing-status{font-size:var(--fs-md);color:var(--text-h);align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.billing-status-active{color:var(--success)}.billing-status-warn{color:var(--danger)}.billing-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;display:flex}.pricing-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);max-width:420px;margin-top:16px;padding:20px}.pricing-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:14px;padding-bottom:14px;display:flex}.pricing-plan{font-size:var(--fs-md);color:var(--text-h);font-weight:600}.pricing-amount{color:var(--text);font-size:var(--fs-base)}.pricing-amount strong{font-size:var(--fs-2xl);color:var(--text-h);font-weight:700}.pricing-features{flex-direction:column;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.pricing-features li{font-size:var(--fs-base);color:var(--text-h);align-items:center;gap:8px;display:flex}.pricing-features svg{color:var(--success);flex-shrink:0}.pricing-card button{width:100%}.pricing-note{font-size:var(--fs-xs);color:var(--text);text-align:center;margin:10px 0 0}@media (width<=480px){.billing-actions>button{width:100%}}.dashboard-nav{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.dashboard-nav::-webkit-scrollbar{display:none}.dashboard-nav a{border-radius:var(--radius-sm);min-height:36px;color:var(--text);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;align-items:center;padding:7px 12px;text-decoration:none;display:inline-flex}.dashboard-nav a.active{color:var(--text-h);background:var(--accent-bg)}.dashboard-nav-locked{min-height:36px;font-weight:600;font-size:var(--fs-sm);white-space:nowrap;color:var(--text);cursor:not-allowed;align-items:center;padding:7px 12px;display:inline-flex}.dashboard-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);margin-top:32px;padding:20px}.dashboard-section h2{margin-bottom:16px}.slot-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-choices{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.schedule-choice{text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--text-h);font-weight:600;font-size:var(--fs-base);justify-content:center;align-items:center;padding:10px 14px;display:flex}.schedule-choice.active{border-color:var(--accent-border);background:var(--accent-bg)}@media (width<=560px){.schedule-choices{gap:6px}.schedule-choice{font-size:var(--fs-sm);padding:8px 4px;line-height:1.2}}.mode-hours{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mode-hours-label{color:var(--text-h);font-weight:600;font-size:var(--fs-base)}.weekday-rows{flex-direction:column;gap:8px;display:flex}.weekday-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.weekday-row.active{border-color:var(--accent-border)}.weekday-toggle{color:var(--text-h);font-weight:600;font-size:var(--fs-base);cursor:pointer;flex-direction:row;align-items:center;gap:10px;display:flex}.weekday-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.weekday-times{align-items:center;gap:8px;display:flex}.weekday-times input{width:auto}.time-select{align-items:center;gap:2px;display:inline-flex}.time-select select{font-variant-numeric:tabular-nums;min-height:44px;padding:10px 8px}@media (width<=480px){.time-select select{padding:10px 4px}.weekday-times{gap:6px}}.wizard-intro{margin-bottom:20px}.wizard-intro h1{margin:0 0 6px}.wizard-steps{align-items:center;margin:0 0 24px;padding:0;list-style:none;display:flex}.wizard-step{align-items:center;min-width:0;display:flex}.wizard-step:not(:last-child){flex:1}.wizard-step-pill{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);min-width:0;color:var(--text);font-size:var(--fs-sm);align-items:center;gap:10px;padding:5px 14px 5px 5px;font-weight:600;display:flex}.wizard-step.current .wizard-step-pill{background:var(--accent-bg);border-color:var(--accent-border);color:var(--text-h)}.wizard-step.done .wizard-step-pill{color:var(--text-h)}.wizard-step-num{border-radius:var(--radius-pill);background:var(--bg-subtle);width:30px;height:30px;color:var(--text);font-size:var(--fs-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.wizard-step.current .wizard-step-num,.wizard-step.done .wizard-step-num{background:var(--accent);color:#fff}.wizard-step-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wizard-step:not(:last-child):after{content:"";background:var(--border);border-radius:1px;flex:1;height:2px;margin:0 12px}.wizard-step.done:after{background:var(--accent)}@media (width<=640px){.wizard-step-pill{background:0 0;border:none;gap:0;padding:0}.wizard-step.current .wizard-step-pill{background:0 0;border:none}.wizard-step-label{display:none}.wizard-step-num{width:34px;height:34px;font-size:var(--fs-md)}.wizard-step:not(:last-child):after{margin:0 8px}}.wizard-step-title{font-size:var(--fs-lg);color:var(--text-h);margin:0 0 14px;font-weight:600;display:none}@media (width<=640px){.wizard-step-title{display:block}}.wizard-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.setup-complete{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:0 auto;padding:24px 0 8px;display:flex}.setup-complete-icon{color:var(--accent);display:flex}.setup-complete h1{margin:0}.setup-complete-lead{color:var(--text);margin:0}.setup-complete-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}@media (width<=480px){.setup-complete-actions,.setup-complete-actions button,.setup-complete-actions .btn{width:100%}}.settings-layout{grid-template-columns:220px 1fr;align-items:start;gap:24px;margin-top:32px;display:grid}.settings-sidebar{flex-direction:column;gap:4px;display:flex;position:sticky;top:76px}.settings-side-link{border-radius:var(--radius-sm);min-height:40px;color:var(--text);font-weight:600;font-size:var(--fs-base);text-align:left;background:0 0;border:none;justify-content:flex-start;padding:10px 12px}.settings-side-link.active{background:var(--accent-bg);color:var(--text-h)}.settings-content{min-width:0}.settings-content .dashboard-section{margin-top:0}.settings-content .dashboard-section h2,.schedule-wizard .dashboard-section h2{display:none}@media (width<=720px){.settings-layout{grid-template-columns:1fr;gap:16px}.settings-sidebar{grid-template-columns:1fr 1fr;gap:8px;display:grid;position:static}.settings-side-link{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;font-size:var(--fs-sm);justify-content:center;padding:8px 10px}.settings-side-link.active{border-color:var(--accent-border)}}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading-row h2{white-space:nowrap;margin:0}@media (width<=420px){.confirm-all-btn{flex:1 0 100%}}.save-status{font-size:var(--fs-sm);color:var(--text);flex-shrink:0}.save-status-ok{color:var(--success);align-items:center;gap:4px;display:inline-flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0 0 16px;display:grid}.settings-grid:last-child{margin-bottom:0}.lunch-block{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.settings-note{font-size:var(--fs-sm);color:var(--text);margin:10px 0 0;line-height:1.45}.lunch-times{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.lunch-times-label{font-size:var(--fs-sm);color:var(--text)}.exceptions-hint{margin:4px 0 14px}.exceptions-calendar{margin-top:4px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-header button{min-width:44px;min-height:44px;font-size:var(--fs-lg);padding:8px;line-height:1}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays span{text-align:center;font-size:var(--fs-xs);color:var(--text);padding-bottom:4px;font-weight:600}.calendar-cell{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:0;min-height:0;color:var(--text-h);font-size:var(--fs-base);justify-content:center;align-items:center;padding:0;display:flex;position:relative}.calendar-cell.empty{cursor:default;background:0 0;border:none}.calendar-cell.today{border-color:var(--accent)}.calendar-cell-lock{color:var(--text);line-height:1;display:flex;position:absolute;top:2px;right:3px}.calendar-cell:disabled{opacity:.35;cursor:not-allowed}.booking-intro{margin-bottom:20px}.booking-calendar{margin:4px 0 20px}.calendar-cell.available{cursor:pointer;font-weight:600}.calendar-cell.viewing{border-color:var(--accent);background:var(--accent-bg)}.calendar-cell.has-picks:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.selected-slots-summary{font-size:var(--fs-base);color:var(--text-h);flex-direction:column;gap:8px;display:flex}.selected-slots-summary .slot-list{margin-top:4px}.slot-list-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:var(--fs-base);color:var(--text-h);justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;display:flex}.slot-list-item .link-button{min-height:auto;padding:6px 8px}.pending-days{flex-direction:column;gap:18px;display:flex}.pending-day{flex-direction:column;gap:8px;display:flex}.pending-day-header{font-size:var(--fs-sm);color:var(--text-h);font-weight:600}.booking-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.booking-list-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.booking-info-top{align-items:baseline;gap:8px;min-width:0;display:flex}.booking-time{color:var(--text-h);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.booking-name{color:var(--text-h);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.booking-sub{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-email{min-width:0;color:var(--text);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.booking-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.booking-decline{color:var(--danger);font-size:var(--fs-lg);line-height:1}.week-schedule .calendar-header{margin-bottom:20px}.day-picker-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);min-height:44px;color:var(--text-h);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.day-picker-toggle[aria-expanded=true]{border-color:var(--accent-border);background:var(--accent-bg)}.day-picker-icon{color:var(--accent);flex-shrink:0}.day-picker-text{font-size:var(--fs-base);white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex}.wd-short{display:none}@media (width<=400px){.wd-full{display:none}.wd-short{display:inline}.day-picker-toggle{gap:6px;padding-left:10px;padding-right:10px}}.day-picker-text strong{color:var(--text-h);font-weight:600}.day-picker-date{color:var(--text);font-size:var(--fs-sm)}.day-picker-caret{color:var(--text);flex-shrink:0;transition:transform .15s;display:flex}.day-picker-toggle[aria-expanded=true] .day-picker-caret{transform:rotate(180deg)}.day-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--shadow);align-items:flex-start;gap:24px;margin:0 0 20px;padding:16px;display:flex}.day-picker-cal{flex:1;min-width:0}@media (width<=560px){.day-picker{flex-direction:column;gap:12px;width:100%}.day-picker-cal{width:100%}}.calendar-cell .cell-dot{background:var(--warning);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.cell-dot.dot-free{background:var(--success)}.cell-dot.dot-full{background:var(--danger)}.calendar-cell.day-off{color:var(--text)}.day-picker-legend{font-size:var(--fs-xs);color:var(--text);flex-direction:column;gap:10px;padding-top:4px;display:flex}@media (width<=560px){.day-picker-legend{flex-flow:wrap;gap:6px 14px;padding-top:0}}.day-picker-legend span{align-items:center;gap:5px;display:inline-flex}.legend-dot{background:var(--warning);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.legend-dot.dot-free{background:var(--success)}.legend-dot.dot-full{background:var(--danger)}.week-day-status{font-size:var(--fs-base);color:var(--text);overflow-wrap:anywhere;margin:0}.week-day-status.off,.week-day-status.blocked{opacity:.6}.week-schedule-hint{font-size:var(--fs-sm);margin:8px 0 20px}.day-grid{gap:8px;display:flex;position:relative}.day-grid-gutter{flex-shrink:0;width:44px;position:relative}.day-grid-hourlabel{font-size:var(--fs-xs);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;right:0;transform:translateY(-50%)}.day-grid-track{border-left:1px solid var(--border);flex:1;min-width:0;position:relative}.day-grid-line{border-top:1px solid var(--border);opacity:.6;position:absolute;left:0;right:0}.day-grid-event{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1px;min-height:0;padding:4px 8px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.day-grid-event.free{cursor:pointer}.day-grid-event.booking{background:var(--success-bg)}.day-grid-event.pending{background:var(--accent-bg);border-color:var(--accent-border);cursor:pointer;border-style:dashed}.day-grid-event.blocked{background:var(--bg-subtle);background:color-mix(in srgb, var(--text) 16%, var(--bg));border-color:color-mix(in srgb, var(--text) 22%, var(--bg));cursor:pointer}.day-grid-event.lunch{cursor:default;background:repeating-linear-gradient(45deg, var(--bg-subtle), var(--bg-subtle) 7px, var(--bg) 7px, var(--bg) 14px)}.dg-time{font-size:var(--fs-2xs);color:var(--text);font-variant-numeric:tabular-nums}.dg-label{font-size:var(--fs-sm);color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.day-grid-event.free .dg-label,.day-grid-event.blocked .dg-label{color:var(--text);font-weight:500}.dg-cancel{min-width:24px;min-height:24px;color:var(--danger);font-size:var(--fs-md);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:0;line-height:1;position:absolute;top:2px;right:2px}.dg-cancel:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{background:var(--scrim);z-index:100;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:360px;box-shadow:var(--shadow);max-height:calc(100dvh - 32px);padding:24px;position:relative;overflow-y:auto}.modal h3{font-size:var(--fs-lg);color:var(--text-h);margin:0 0 4px;font-weight:700}.modal .auth-form{margin-top:16px}.booking-done-modal{text-align:center;flex-direction:column;display:flex}.booking-done-icon{color:var(--accent);justify-content:center;margin-bottom:12px;display:flex}.booking-done-modal h3{margin:0 0 6px}.booking-done-list{text-align:left;flex-direction:column;gap:6px;min-height:0;margin:14px 0 18px;padding:0;list-style:none;display:flex;overflow-y:auto}.booking-done-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-h);font-size:var(--fs-base);font-variant-numeric:tabular-nums;padding:10px 12px}.booking-done-modal>button:not(.modal-close){flex-shrink:0;width:100%}.confirm-cancel-modal h3{margin:0 0 6px;padding-right:28px}.slot-modal-title{padding-right:28px}.slot-modal .auth-form button[type=submit]{width:100%}.confirm-cancel-when{flex-wrap:wrap;gap:2px 10px;display:flex}.cancel-note-field{margin-top:16px}.confirm-cancel-modal .booking-email-note{margin:16px 0 0}.cancel-note-field textarea{resize:vertical}.pending-head{flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding-right:28px;display:flex}.pending-head-name{font-size:var(--fs-lg);color:var(--text-h);font-weight:700}.pending-head-when{color:var(--text-h)}.pending-head-email{margin-top:4px}.nowrap{white-space:nowrap}.confirm-cancel-modal>button:not(.modal-close){width:100%;margin-top:18px}.block-slot-button{width:100%;margin:14px 0 0}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-actions button{flex:1}.public-profile-header{align-items:center;gap:20px;margin-bottom:24px;display:flex}.public-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:88px;height:88px}.public-avatar-placeholder{background:var(--accent-bg);color:var(--accent);font-size:var(--fs-3xl);justify-content:center;align-items:center;font-weight:700;display:flex}.public-bio{font-size:var(--fs-base);color:var(--text);white-space:pre-wrap;margin-top:6px;line-height:1.5}@media (width<=480px){.public-profile-header{gap:14px;margin-bottom:20px}.public-avatar{width:64px;height:64px}.public-avatar-placeholder{font-size:var(--fs-xl)}}.public-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow);padding:24px}@media (width<=480px){.public-card{border-radius:var(--radius-lg);padding:16px}}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-shell-body{flex:1 0 auto}.app-footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:24px 16px;display:flex}.app-footer-brand{opacity:.7;text-decoration:none;display:inline-flex}.app-footer-legal{font-size:var(--fs-xs);justify-content:center;gap:8px;display:flex}.app-footer-legal a{color:var(--text);opacity:.7}.form-consent-note{font-size:var(--fs-xs);color:var(--text);text-align:center;text-wrap:balance;margin-top:4px}.booking-email-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);font-size:var(--fs-xs);color:var(--text);align-items:flex-start;gap:8px;margin:-4px 0 4px;padding:10px 12px;display:flex}.booking-email-note svg{flex-shrink:0;margin-top:1px}@media (width>=560px){.auth-form .form-consent-note{margin-inline:-32px}}.booking-action-title{margin-bottom:20px}.booking-action-info{font-size:var(--fs-base);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:16px;padding-bottom:16px;display:flex}.booking-action-info strong{font-size:var(--fs-lg);color:var(--text-h)}.booking-action-info span{color:var(--text)}.booking-action-buttons{gap:10px;margin-top:16px;display:flex}.booking-action-buttons button{flex:1}.legal-page{max-width:720px;margin:0 auto;padding:40px 24px 64px}.legal-page h2{margin-top:28px}.legal-page p{margin-bottom:12px;line-height:1.6}.legal-page ul{flex-direction:column;gap:8px;margin:0 0 16px;padding-left:20px;line-height:1.6;display:flex}.legal-updated{color:var(--text);font-size:var(--fs-sm);margin-bottom:24px}.back-button{gap:6px;margin-bottom:20px}@media (width<=640px){.legal-page{padding:24px 16px 48px}}.profile-section{position:relative}.profile-section>.save-status{position:absolute;top:20px;right:20px}.profile-form{flex-direction:column;gap:8px;max-width:480px;display:flex}.avatar-picker{align-items:center;gap:18px;margin-bottom:4px;display:flex}.avatar-side{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.avatar-hint{font-size:var(--fs-xs);color:var(--text)}.avatar-edit{cursor:pointer;flex-shrink:0;width:104px;height:104px;display:block;position:relative}.avatar-preview{background:var(--accent-bg);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{font-size:var(--fs-3xl);color:var(--accent);font-weight:700}.avatar-edit-badge{background:var(--accent);color:#fff;border:3px solid var(--bg);width:34px;height:34px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;bottom:2px;right:2px}.avatar-remove-btn{align-items:center;gap:6px;padding:6px 4px;display:inline-flex}@media (hover:hover) and (pointer:fine){.avatar-edit:hover .avatar-edit-badge{background:var(--accent-hover)}}.profile-form textarea{resize:vertical}.booking-form{flex-direction:column;gap:20px;margin-top:20px;display:flex}.slot-group{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.slot-group legend{color:var(--text-h);padding:0 4px;font-weight:700}.slot-options{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;display:grid}.slot-option{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:44px;font-size:var(--fs-base);color:var(--text-h);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:10px;font-weight:500;transition:border-color .15s,background-color .15s;display:flex;position:relative}.slot-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.slot-option:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}.home-banner{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);text-align:center;will-change:transform;padding:12px 16px;transition:box-shadow .2s,background-color .2s;position:sticky;top:0;transform:translateZ(0)}.home-banner-scrolled{background:color-mix(in srgb, var(--bg) 72%, transparent);box-shadow:var(--shadow-sm)}.home-banner-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-banner-row-right{align-items:center;gap:8px;display:flex}.home-banner-tagline{font-size:var(--fs-base);color:var(--text-h);margin:0 0 10px;font-weight:700}.home-banner-cta{width:100%;font-weight:700}.home-demo-avatar-icon{width:56%;height:56%}.home-demo-hint{text-align:center;border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--accent);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:6px;margin:0 0 16px;padding:8px 14px;font-weight:700;display:inline-flex}@media (width>=720px){.home-banner{text-align:left;padding:14px 24px}.home-banner-inner{align-items:center;gap:24px;display:flex}.home-banner-row{display:contents}.home-banner-logo{order:1}.home-banner-center{flex-direction:row;flex:1;order:2;justify-content:center;align-items:center;gap:16px;display:flex}.home-banner-row-right{order:3}.home-banner-tagline{max-width:430px;font-size:var(--fs-base);text-align:left;margin:0;font-weight:700;line-height:135%}.home-banner-cta{white-space:nowrap;flex-shrink:0;width:auto}}.upsell-modal{text-align:center;position:relative}.modal-close{width:32px;min-width:32px;height:32px;min-height:32px;position:absolute;top:10px;right:10px}.upsell-icon{color:var(--accent);justify-content:center;margin:0 0 10px;display:flex}.upsell-actions{justify-content:center}.upsell-actions button{flex:0 auto}.admin-page{max-width:1080px}.admin-impersonation-banner{border-radius:var(--radius-sm);background:var(--accent-bg);color:var(--accent);font-size:var(--fs-sm);align-items:center;gap:8px;margin:0 0 16px;padding:10px 14px;font-weight:700;display:flex}.admin-impersonation-banner svg{flex-shrink:0}.admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0 32px;display:grid}@media (width>=720px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);flex-direction:column-reverse;gap:4px;padding:16px;display:flex}.admin-stat-value{font-size:var(--fs-2xl);color:var(--text-h);font-weight:800}.admin-stat-label{font-size:var(--fs-xs);color:var(--text)}.table-scroll{margin-top:8px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:10px 12px}.admin-table th{color:var(--text);font-weight:700;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.4px}.admin-table td strong{color:var(--text-h);display:block}.admin-table-subtext{font-size:var(--fs-xs);color:var(--text);display:block}.admin-table-actions{flex-wrap:nowrap;gap:6px;display:flex}.admin-table-actions button{white-space:nowrap}.admin-table a{color:var(--accent)}.admin-badges{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.admin-badge{border-radius:var(--radius-pill);font-size:var(--fs-2xs);white-space:nowrap;align-items:center;padding:3px 9px;font-weight:700;display:inline-flex}.admin-badge-active{background:var(--success-bg);color:var(--success)}.admin-badge-expired{background:var(--danger-bg);color:var(--danger)}.admin-badge-disabled{background:var(--border);color:var(--text-h)}.admin-badge-status-pending{background:var(--accent-bg);color:var(--accent)}.admin-badge-status-confirmed{background:var(--success-bg);color:var(--success)}.admin-badge-status-cancelled{background:var(--border);color:var(--text)}@media (hover:hover) and (pointer:fine){a:hover{color:var(--accent-hover)}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}.link-button:hover:not(:disabled){background:var(--danger-bg)}.btn-danger-subtle:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.btn-icon:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-h)}.booking-decline:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.schedule-choice:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--accent-border);color:var(--text-h)}.schedule-choice.active:hover:not(:disabled){background:var(--accent-bg)}.settings-side-link:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-h)}.settings-side-link.active:hover:not(:disabled){background:var(--accent-bg)}.dashboard-nav a:hover{background:var(--bg-subtle);color:var(--text-h)}.dashboard-nav a.active:hover{background:var(--accent-bg)}.account-avatar:hover:not(:disabled){border-color:var(--accent-border)}.account-dropdown button[role=menuitem]:hover:not(:disabled){background:var(--bg-subtle)}.account-signout:hover:not(:disabled){background:var(--danger-bg)!important}.calendar-cell:hover:not(:disabled){background:var(--bg)}.calendar-cell.viewing:hover:not(:disabled){background:var(--accent-bg)}.day-picker-toggle:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--accent-border)}.day-picker-toggle[aria-expanded=true]:hover:not(:disabled){background:var(--accent-bg)}.day-grid-event.free:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.day-grid-event.blocked:hover:not(:disabled){background:color-mix(in srgb, var(--text) 26%, var(--bg))}.day-grid-event.pending:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--bg))}.dg-cancel:hover:not(:disabled){background:var(--danger-bg)}.app-footer-brand:hover{opacity:1}.app-footer-legal a:hover{color:var(--text);opacity:1}}
