:root{--color-bg: #f3f4f6;--color-canvas: #f3f4f6;--color-surface: #ffffff;--color-surface-muted: #e5e7eb;--color-surface-elevated: #e5e7eb;--color-border: #d1d5db;--color-border-light: #e5e7eb;--color-text: #111827;--color-text-muted: #6b7280;--color-primary: #1e3a8a;--color-primary-hover: #1e40af;--color-on-primary: #ffffff;--color-focus: #1e3a8a;--color-accent: #1e3a8a;--color-success: #2d6a2d;--color-danger: #b91c1c;--color-danger-bg: #fef2f2;--color-skeleton: #e5e7eb;--color-skeleton-highlight: #f3f4f6;--color-appointment-proposed-bg: #fffbeb;--color-appointment-proposed-border: #d97706;--color-appointment-confirmed-bg: #eff6ff;--color-appointment-confirmed-border: #1e3a8a;--color-nav-active: #1e3a8a;--color-badge: #dc2626;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--shadow-chrome: 0 1px 2px rgba(17, 24, 39, .06);--shadow-shell: 0 4px 24px rgba(0, 0, 0, .08);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--touch-min: 44px;--app-max-width: 100%;--content-readable: 36rem;--app-bar-height: 52px;--bottom-nav-height: 56px}@media(min-width:481px){:root{--app-max-width: 640px}}@media(min-width:768px){:root{--app-max-width: min(840px, 90vw)}}[data-theme=modern]{--color-bg: #f1f5f9;--color-canvas: #f1f5f9;--color-surface: #ffffff;--color-surface-muted: #e2e8f0;--color-surface-elevated: #e2e8f0;--color-border: #cbd5e1;--color-border-light: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-on-primary: #ffffff;--color-focus: #4f46e5;--color-accent: #4f46e5;--color-success: #15803d;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-skeleton: #e2e8f0;--color-skeleton-highlight: #f8fafc;--color-appointment-proposed-bg: #fff7ed;--color-appointment-proposed-border: #ea580c;--color-appointment-confirmed-bg: #eef2ff;--color-appointment-confirmed-border: #4f46e5;--color-nav-active: #4f46e5;--color-badge: #e11d48;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-chrome: 0 1px 2px rgba(15, 23, 42, .06);--shadow-shell: 0 4px 24px rgba(15, 23, 42, .08)}[data-theme=dark]{--color-bg: #0f1419;--color-canvas: #0f1419;--color-surface: #1a2332;--color-surface-muted: #243044;--color-surface-elevated: #243044;--color-border: #3d4f66;--color-border-light: #2a3544;--color-text: #e8edf4;--color-text-muted: #94a3b8;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-on-primary: #ffffff;--color-focus: #60a5fa;--color-accent: #60a5fa;--color-success: #4ade80;--color-danger: #f87171;--color-danger-bg: #3f1d1d;--color-skeleton: #2a3544;--color-skeleton-highlight: #3d4f66;--color-appointment-proposed-bg: #2d2618;--color-appointment-proposed-border: #f59e0b;--color-appointment-confirmed-bg: #152238;--color-appointment-confirmed-border: #3b82f6;--color-nav-active: #60a5fa;--color-badge: #f87171;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-chrome: 0 1px 2px rgba(0, 0, 0, .35);--shadow-shell: 0 4px 24px rgba(0, 0, 0, .45)}[data-theme=ocean]{--color-bg: #ecfeff;--color-canvas: #ecfeff;--color-surface: #ffffff;--color-surface-muted: #ccfbf1;--color-surface-elevated: #ccfbf1;--color-border: #99f6e4;--color-border-light: #ccfbf1;--color-text: #134e4a;--color-text-muted: #54716f;--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-on-primary: #ffffff;--color-focus: #0d9488;--color-accent: #0d9488;--color-success: #047857;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-skeleton: #ccfbf1;--color-skeleton-highlight: #f0fdfa;--color-appointment-proposed-bg: #fef9c3;--color-appointment-proposed-border: #ca8a04;--color-appointment-confirmed-bg: #ccfbf1;--color-appointment-confirmed-border: #0d9488;--color-nav-active: #0d9488;--color-badge: #e11d48;--shadow-sm: 0 1px 2px rgba(19, 78, 74, .06);--shadow-chrome: 0 1px 2px rgba(19, 78, 74, .06);--shadow-shell: 0 4px 24px rgba(19, 78, 74, .08)}[data-theme=rose]{--color-bg: #fff7ed;--color-canvas: #fff7ed;--color-surface: #ffffff;--color-surface-muted: #ffe4e6;--color-surface-elevated: #ffe4e6;--color-border: #fecdd3;--color-border-light: #ffe4e6;--color-text: #44403c;--color-text-muted: #78716c;--color-primary: #e11d48;--color-primary-hover: #be123c;--color-on-primary: #ffffff;--color-focus: #e11d48;--color-accent: #e11d48;--color-success: #15803d;--color-danger: #b91c1c;--color-danger-bg: #fef2f2;--color-skeleton: #ffe4e6;--color-skeleton-highlight: #fff1f2;--color-appointment-proposed-bg: #fff7ed;--color-appointment-proposed-border: #c2410c;--color-appointment-confirmed-bg: #ffe4e6;--color-appointment-confirmed-border: #e11d48;--color-nav-active: #e11d48;--color-badge: #db2777;--shadow-sm: 0 1px 2px rgba(68, 64, 60, .06);--shadow-chrome: 0 1px 2px rgba(68, 64, 60, .06);--shadow-shell: 0 4px 24px rgba(68, 64, 60, .08)}[data-theme=high-contrast]{--color-bg: #ffffff;--color-canvas: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f2f2f2;--color-surface-elevated: #ffffff;--color-border: #000000;--color-border-light: #000000;--color-text: #000000;--color-text-muted: #1a1a1a;--color-primary: #000000;--color-primary-hover: #1a1a1a;--color-on-primary: #ffffff;--color-focus: #000000;--color-accent: #000000;--color-success: #0d5c0d;--color-danger: #cc0000;--color-danger-bg: #ffffff;--color-skeleton: #e5e5e5;--color-skeleton-highlight: #ffffff;--color-appointment-proposed-bg: #ffffff;--color-appointment-proposed-border: #000000;--color-appointment-confirmed-bg: #ffffff;--color-appointment-confirmed-border: #000000;--color-nav-active: #000000;--color-badge: #cc0000;--shadow-sm: none;--shadow-chrome: none;--shadow-shell: none;--radius-sm: 2px;--radius-md: 4px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.45;color:var(--color-text);background:var(--color-bg)}a{color:inherit;text-decoration:underline}button,input,select{font:inherit}.app-shell{width:100%;max-width:var(--app-max-width);margin:0 auto;min-height:100dvh;background:var(--color-canvas);display:flex;flex-direction:column;position:relative}.app-shell--public{max-width:min(960px,100%)}.public-site{display:flex;flex-direction:column;min-height:100dvh;width:100%;overflow-x:clip}.public-site__main{flex:1;padding:var(--space-lg) var(--space-md) var(--space-xl);max-width:var(--content-readable);margin:0 auto;width:100%}@media(min-width:768px){.public-site__main{padding:var(--space-xl) var(--space-lg) calc(var(--space-xl) * 2)}}@media(max-width:767px){.app-shell--public{width:100%;max-width:100%;margin:0;min-height:100dvh;border:none;border-radius:0;box-shadow:none;overflow-x:clip}}@media(max-width:767px){body:has(.app-shell--public){background:var(--color-canvas)}}@media(min-width:481px){.app-shell:not(.app-shell--public){margin-top:var(--space-md);margin-bottom:var(--space-md);min-height:calc(100dvh - var(--space-md) * 2);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-shell)}}@media(min-width:768px){.app-shell:not(.app-shell--public){margin-top:var(--space-lg);margin-bottom:var(--space-lg);min-height:calc(100dvh - var(--space-lg) * 2)}.app-shell--public{margin-top:var(--space-lg);margin-bottom:var(--space-lg);min-height:calc(100dvh - var(--space-lg) * 2);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-shell)}.app-main{padding:var(--space-lg);padding-bottom:calc(var(--bottom-nav-height) + var(--space-xl))}.app-main--no-nav{padding-bottom:var(--space-xl)}}.platform-notices{flex-shrink:0}.platform-notices__inner{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) 0}.platform-notice{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.platform-notice--info{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-text)}.platform-notice--warning{background:color-mix(in srgb,#c47a00 14%,var(--color-surface));color:var(--color-text)}.platform-notice--maintenance{background:color-mix(in srgb,#b42318 12%,var(--color-surface));color:var(--color-text)}.platform-notice__icon{flex-shrink:0;display:inline-flex;align-items:center;align-self:center;color:inherit}.platform-notice__icon .icon{width:1.125rem;height:1.125rem}.platform-notice__body{flex:1;margin:0;min-width:0;line-height:1.45}.platform-notice__dismiss{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);font-size:1em;line-height:1;padding:var(--space-xs);margin-block:0;margin-inline:calc(-1 * var(--space-xs));cursor:pointer}.platform-notice__dismiss:hover{color:var(--color-text)}.app-bar{flex-shrink:0;height:var(--app-bar-height);display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);border-bottom:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-chrome);position:sticky;top:0;z-index:10}.app-bar__back{min-width:var(--touch-min);min-height:var(--touch-min);display:flex;align-items:center;justify-content:center;margin:calc(var(--space-sm) * -1);border:none;background:transparent;cursor:pointer;font-size:1.25rem}.app-bar__back:hover{background:var(--color-surface-muted)}.app-bar__action{min-width:var(--touch-min);min-height:var(--touch-min);display:flex;align-items:center;justify-content:center;margin:calc(var(--space-sm) * -1);border:none;background:transparent;cursor:pointer;font-size:1.35rem;font-weight:600;line-height:1;text-decoration:none;color:inherit;border-radius:var(--radius-sm, 4px)}.app-bar__action:hover{background:var(--color-surface-muted)}.app-bar__title{flex:1;display:flex;justify-content:center;font-weight:600;font-size:1rem;margin:0;padding:0 var(--space-sm);min-width:0}.app-bar__title-inner{display:inline-flex;align-items:center;gap:.375rem;max-width:100%;min-width:0}.app-bar__title-inner .icon{width:1.125rem;height:1.125rem;flex-shrink:0}.app-bar__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-bar__logo-mark-wrap{display:inline-flex;flex-shrink:0;line-height:0}.app-bar__logo-mark{color:var(--color-text-muted)}.app-bar__account{width:var(--touch-min);height:var(--touch-min);min-width:var(--touch-min);min-height:var(--touch-min);display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;border:1px solid var(--color-border);border-radius:50%;text-decoration:none;font-size:.85rem;font-weight:600;color:var(--color-text);background:var(--color-surface-muted)}.app-bar__avatar{width:100%;height:100%;margin:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;font-size:.85rem;font-weight:600;overflow:hidden}.app-bar__avatar .avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.app-bar__account:hover{background:var(--color-surface-muted)}.app-bar__spacer{width:var(--touch-min)}.app-bar__trailing{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.app-bar__action--right .icon{width:1.125rem;height:1.125rem}.app-main{flex:1;padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg));overflow-y:auto;background:var(--color-canvas)}.app-main--no-nav{padding-bottom:var(--space-lg)}[dir=rtl] .app-bar__back{transform:scaleX(-1)}[dir=rtl] .bottom-nav{direction:rtl}[dir=rtl] .public-header__nav{flex-direction:row-reverse}[dir=rtl] .btn-row{justify-content:flex-start}.bottom-nav{flex-shrink:0;height:var(--bottom-nav-height);display:flex;border-top:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-chrome);position:sticky;bottom:0;z-index:10}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-xs);font-size:.75rem;text-decoration:none;color:var(--color-text-muted);min-height:var(--touch-min)}.bottom-nav__item:hover{background:var(--color-surface-muted)}.bottom-nav__item[aria-current=page]{color:var(--color-nav-active);font-weight:600}.bottom-nav__item[aria-current=page] .bottom-nav__icon{background:color-mix(in srgb,var(--color-nav-active) 14%,transparent);border-radius:999px;min-width:2.75rem;height:1.75rem}.bottom-nav__icon{position:relative;display:flex;align-items:center;justify-content:center;line-height:0}.bottom-nav__badge{position:absolute;top:-4px;inset-inline-end:-6px;display:flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 4px;font-size:.625rem;font-weight:600;line-height:1;background:var(--color-badge);color:var(--color-on-primary);border-radius:999px;pointer-events:none}.bottom-nav__icon .icon{width:1.25rem;height:1.25rem;display:block}.bottom-nav__label{line-height:1.1}.page-heading{margin:0 0 var(--space-md);font-size:1.35rem;font-weight:650;line-height:1.25;letter-spacing:-.01em}.page-section-title{margin:var(--space-lg) 0 var(--space-sm);font-size:.95rem;font-weight:600;color:var(--color-text);text-transform:none;letter-spacing:0}.page-section-title--tight{margin-top:var(--space-md)}.page-section-title--flush{margin-top:0}.page-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-xl) var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.page-empty p:first-child{margin-top:0}.page-empty p:last-child{margin-bottom:0}.icon{flex-shrink:0;vertical-align:middle}.card{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}a.card--link{display:block;text-decoration:none;color:inherit}a.card--link:active{opacity:.92}.card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.card__title{font-weight:600;margin:0 0 var(--space-xs)}.card__meta{margin:0;font-size:.9rem;color:var(--color-text-muted)}.card__chevron{text-decoration:none;font-size:1.25rem;line-height:1;padding:var(--space-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:100%;text-decoration:none;color:inherit;font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{background:var(--color-surface-muted)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--color-surface-muted);border-color:var(--color-border-light)}.btn-sm{min-height:36px;width:auto;padding:var(--space-xs) var(--space-md)}.btn-icon{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0;flex:none;line-height:0}.btn-icon .icon{width:1.25rem;height:1.25rem}.btn-row{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.btn-row .btn{flex:1}.btn-row--fit .btn{flex:0 0 auto;width:auto}.btn-row--end{justify-content:flex-end}.btn--with-icon{gap:.375rem}.btn--with-icon .icon{width:1.125rem;height:1.125rem}.btn-sm.btn--with-icon .icon{width:1rem;height:1rem}.btn--busy{position:relative;pointer-events:none;cursor:wait}.btn--busy .btn__label{visibility:hidden}.btn--busy>:not(.btn-spinner){visibility:hidden}.btn-spinner{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1.25rem;height:1.25rem;border:2px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;border-radius:50%;animation:btn-spinner-spin .75s linear infinite}@keyframes btn-spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-spinner{animation:none;opacity:.85}}.field{margin-bottom:var(--space-md)}@media(min-width:768px){.manual-appointment-datetime{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-md);align-items:end;margin-bottom:var(--space-md)}.manual-appointment-datetime .field{margin-bottom:0}}.field label{display:block;margin-bottom:var(--space-xs);font-size:.9rem}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);line-height:1.25;font:inherit;background-color:var(--color-surface);box-sizing:border-box}.field input:not([type=checkbox]):not([type=radio]):focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field input:not([type=checkbox]):not([type=radio]),.field select{height:var(--touch-min)}.field textarea{min-height:calc(var(--touch-min) * 2);resize:vertical}.toggle-row__control,.invite-list-filter input[type=checkbox],.invite-cross-link-policy__toggle input[type=checkbox],.service-hours-weekly__check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:1.375rem;height:1.375rem;flex-shrink:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);cursor:pointer;vertical-align:middle}.toggle-row__control:checked,.invite-list-filter input[type=checkbox]:checked,.invite-cross-link-policy__toggle input[type=checkbox]:checked,.service-hours-weekly__check input[type=checkbox]:checked{border-color:var(--color-primary);background-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' stroke='%23ffffff' stroke-width='0.5' d='M2.5 6.2 4.8 8.5 9.5 3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.75rem .75rem}.toggle-row__control:focus-visible,.invite-list-filter input[type=checkbox]:focus-visible,.invite-cross-link-policy__toggle input[type=checkbox]:focus-visible,.service-hours-weekly__check input[type=checkbox]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.toggle-row__control:disabled,.invite-list-filter input[type=checkbox]:disabled,.invite-cross-link-policy__toggle input[type=checkbox]:disabled,.service-hours-weekly__check input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}.btn--booked,.btn--booked:disabled{background:var(--color-border);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed;opacity:1}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-color:var(--color-surface);padding-right:calc(var(--space-md) + 1rem);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.5 4.5 6 8 9.5 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;background-size:.65rem auto}.field-error{color:var(--color-danger);font-size:.85rem;margin-top:var(--space-xs)}.timezone-hint{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated, rgba(0, 0, 0, .04));border-radius:var(--radius-sm, 6px)}.banner-info{background:var(--color-surface-elevated, rgba(0, 0, 0, .04));border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.9rem}.banner-info a{font-weight:600}.banner-error{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.9rem}.banner-warn{background:var(--color-surface-elevated, rgba(0, 0, 0, .04));border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-top:var(--space-sm);font-size:.85rem;line-height:1.45}.time-off-list{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.time-off-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.time-off-row__dates{font-weight:600}.time-off-conflict-item{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.page-divider{border:none;border-top:1px solid var(--color-border-light, var(--color-border));margin:var(--space-lg) 0}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.chip-row--scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:var(--space-sm)}.chip-row--scroll::-webkit-scrollbar{display:none}.chip-row--scroll .chip{flex-shrink:0;white-space:nowrap}.chip-row--scroll:last-of-type{margin-bottom:var(--space-md)}.chip-row--compact{margin-top:0}.chip{padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);cursor:pointer;font-size:.85rem}.chip:hover{background:var(--color-surface-muted)}.chip[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.skeleton{background:linear-gradient(90deg,var(--color-skeleton) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-sm);min-height:120px}.skeleton--line{display:block;min-height:0;height:.875rem;width:100%;max-width:12rem}.skeleton--title{max-width:10rem;height:1.5rem;min-height:0}.skeleton--subtitle{max-width:14rem;height:.75rem;min-height:0}.skeleton--short{max-width:8rem}.skeleton--md{max-width:9rem}.skeleton--sm{max-width:6rem}.skeleton--pill{display:inline-block;min-height:0;height:1.25rem;width:3.5rem;border-radius:999px}.skeleton--circle{display:inline-block;min-height:0;width:2.5rem;height:2.5rem;border-radius:50%;flex-shrink:0}.skeleton--circle-lg{width:4rem;height:4rem}.skeleton--block{display:block;width:100%}.skeleton--btn{min-height:0;width:7rem;height:2.25rem}.skeleton--field{min-height:0;height:2.25rem;max-width:100%}.skeleton--chip{min-height:0;height:2rem;width:4rem;border-radius:999px}.skeleton--slot{min-height:0;height:2.5rem}.loading-shell{padding:var(--space-md) 0}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.skeleton-grid--slots{grid-template-columns:repeat(2,minmax(0,1fr))}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge-inline{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 6px;font-size:.75rem;font-weight:600;background:var(--color-badge);color:var(--color-on-primary);border-radius:999px}.menu-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.menu-list li{border-bottom:1px solid var(--color-border-light)}.menu-list li:last-child{border-bottom:none}.menu-list a,.menu-list button{display:flex;align-items:center;gap:var(--space-sm);width:100%;text-align:left;padding:var(--space-md);text-decoration:none;color:inherit;border:none;background:transparent;cursor:pointer;min-height:var(--touch-min)}.menu-list a .icon,.menu-list button .icon{width:1.25rem;height:1.25rem;color:var(--color-text-muted)}.menu-list a:hover,.menu-list button:hover{background:var(--color-surface-muted)}.menu-list a:focus-visible,.menu-list button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.menu-list__locale-inner{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);min-height:var(--touch-min)}.menu-list__locale-inner .icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--color-text-muted)}.menu-list__locale-label{flex-shrink:0;font-weight:500;color:inherit}.menu-list__locale-select{flex:0 0 auto;width:auto;max-width:min(55vw,14rem);min-height:var(--touch-min);margin-left:auto;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:var(--color-surface);font:inherit;text-align:start;field-sizing:content}[dir=rtl] .menu-list__locale-select{margin-left:0;margin-right:auto}.shortcut-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.shortcut-row .btn{flex:1;min-width:100px}@media(min-width:768px){.shortcut-row .btn{flex:0 1 auto;width:auto}.book-with-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.book-with-list .card{margin-bottom:0;display:flex;flex-direction:column}.book-with-list .card .btn{margin-top:auto}}#dialog-root{position:relative;z-index:200}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:#11182773}.confirm-dialog{width:min(100%,22rem);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 12px 40px #0000002e}.confirm-dialog__title{margin:0 0 var(--space-sm);font-size:1.125rem;font-weight:600;line-height:1.3}.confirm-dialog__message{margin:0 0 var(--space-lg);font-size:1rem;line-height:1.45}.confirm-dialog__actions{margin-top:0}.confirm-dialog__confirm--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-primary)}.confirm-dialog__confirm--danger:hover{filter:brightness(1.05)}.field__location-row{display:flex;align-items:stretch;gap:var(--space-sm)}.field__location-row .appointment-location-input{flex:1;min-width:0}.location-picker-dialog{width:min(100%,28rem)}.location-picker-map{position:relative;z-index:0;isolation:isolate;width:100%;height:min(50vh,320px);margin:var(--space-sm) 0 var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);overflow:hidden}.location-picker-dialog__actions{position:relative;z-index:1}.location-picker-hint{margin:0 0 var(--space-md);font-size:.875rem;color:var(--color-text-muted)}.card__meta--with-action{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.toast-root{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--space-md));left:50%;transform:translate(-50%);z-index:100;max-width:min(90vw,var(--app-max-width));pointer-events:none}.toast{background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.9rem;margin-top:var(--space-sm);box-shadow:0 4px 12px #00000026}.link-url-box{font-family:monospace;font-size:.85rem;word-break:break-all;padding:var(--space-md);border:1px dashed var(--color-border);background:var(--color-bg);margin-bottom:var(--space-md)}a.link-url-box{display:block;color:inherit;cursor:pointer}.status-pill{display:inline-block;font-size:.8rem;padding:2px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.status-pill--active{border-color:var(--color-success);color:var(--color-success)}.status-pill--suspended{border-color:var(--color-danger);color:var(--color-danger)}.avatar-placeholder{width:64px;height:64px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:600;margin:0 auto var(--space-md);background:var(--color-bg);overflow:hidden}.avatar-placeholder .avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-picker{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-md);position:relative}.profile-avatar-picker__frame{position:relative;display:inline-block}.profile-avatar-picker__avatar{width:96px;height:96px;margin:0;font-size:1.75rem}.profile-avatar-picker__edit{position:absolute;top:0;right:0;transform:translate(15%,-15%);width:2rem;min-width:2rem;height:2rem;min-height:2rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg);box-shadow:0 1px 3px #0000001f;z-index:2}.profile-avatar-picker__edit .icon{width:1rem;height:1rem}.profile-avatar-picker__remove{display:block;margin:var(--space-xs) auto 0;padding:0;border:none;background:none;font:inherit;font-size:.85rem;color:var(--color-danger);text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.profile-avatar-picker__remove:hover{opacity:.85}.profile-avatar-picker__file{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none}.join-hero{text-align:center;padding:var(--space-xl) 0}.logo-text{text-align:center;font-weight:700;font-size:1.25rem;letter-spacing:.05em}.dev-footer{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px dashed var(--color-border-light);font-size:.8rem;color:var(--color-text-muted)}.service-window-rule{font-weight:500;margin:0 0 var(--space-sm)}.service-window-bands{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-md)}.service-window-band{height:.5rem;border-radius:var(--radius-sm);background:var(--color-border);max-width:85%}.service-window-band--mid{max-width:100%;background:var(--color-primary, #2563eb);opacity:.35}.toggle-row{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0}.toggle-row--split{justify-content:space-between;gap:var(--space-md)}.toggle-row--pro-gated,input[data-pro-gated]{cursor:pointer}.toggle-row__label{flex:1;min-width:0;display:inline-flex;align-items:center;gap:var(--space-xs);text-align:left}.toggle-row__control{flex-shrink:0}.toggle-row__hint{font-size:.85rem;color:var(--color-text-muted);margin:calc(-1 * var(--space-sm)) 0 var(--space-md)}.field>.toggle-row__hint{margin-top:var(--space-sm);margin-bottom:var(--space-md)}.icon--muted{color:var(--color-text-muted);width:1rem;height:1rem;flex-shrink:0}.walk-in-mode{border:none;margin:var(--space-md) 0;padding:0}.walk-in-mode label{display:block;margin:var(--space-sm) 0}.slot-list{list-style:none;padding:0;margin:0}.slot-list__item{width:100%;text-align:left;margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);background:var(--color-surface);cursor:pointer}.slot-list__item--selected{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 1px var(--color-primary, #2563eb)}.capacity-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:.1rem .35rem;border-radius:var(--radius-sm);vertical-align:middle;margin-left:.25rem}.capacity-badge--near-full{background:#fef3c7;color:#92400e}.capacity-badge--full{background:#fee2e2;color:#991b1b}.capacity-seat-summary{font-size:.85em;color:var(--color-text-muted)}.week-grid__cell--full,.walk-in-timeline__cell--full{opacity:.45;cursor:not-allowed}.walk-in-timeline__cell--bookable .capacity-badge{position:absolute;right:4px;top:2px;margin:0;font-size:.55rem;pointer-events:none}.walk-in-timeline__cell--bookable{position:relative}.page-intro{font-size:.9rem;color:var(--color-text-muted);margin-top:0}.theme-picker{border:none;margin:0 0 var(--space-md);padding:0}.theme-picker legend{font-size:.9rem;margin-bottom:var(--space-xs);padding:0}.theme-picker__list{display:flex;flex-direction:column;gap:var(--space-sm)}.theme-picker__option{position:relative;display:flex;align-items:center;gap:var(--space-md);min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer}.theme-picker__option input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.theme-picker__option:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.theme-picker__option:has(input:checked){border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:1px}.theme-picker__swatch{display:flex;width:4.5rem;height:1.5rem;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.theme-picker__swatch span{flex:1}.theme-picker__swatch span:nth-child(1){background:var(--swatch-canvas)}.theme-picker__swatch span:nth-child(2){background:var(--swatch-surface)}.theme-picker__swatch span:nth-child(3){background:var(--swatch-primary)}.theme-picker__name{font-weight:600}.page-tagline{margin:0 0 var(--space-md);font-size:.95rem;color:var(--color-text-muted)}.walk-in-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:color-mix(in srgb,var(--color-bg) 82%,transparent);pointer-events:none}.walk-in-progress-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:walk-in-progress-spin .75s linear infinite}.walk-in-progress-message{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}@keyframes walk-in-progress-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.walk-in-progress-spinner{animation:none;border-top-color:var(--color-accent);opacity:.85}}.walk-in-flow__context{margin:0 0 var(--space-md);font-size:.9rem;color:var(--color-text-muted);text-align:center}.walk-in-step .page-heading{text-align:center}.home-greeting-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin:0 0 var(--space-md)}.home-greeting-row .page-heading{margin:0;flex:1 1 auto;min-width:min(100%,12rem)}.home-greeting-row__actions{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs)}.home-greeting-row__actions .btn{flex:none;width:auto}.me-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:0 0 var(--space-md)}.me-heading-row .page-heading{margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-heading-row__sign-out{flex-shrink:0}.home-dashboard{display:block}.home-pending-requests{margin-bottom:var(--space-md)}.home-pending-requests .card__title{font-weight:600}.home-pending-guest-card .home-pending-guest-card__item{margin-top:var(--space-sm)}.home-pending-guest-card .home-pending-guest-card__item+.home-pending-guest-card__item{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.home-recent-activity{margin-bottom:var(--space-md);color:var(--color-text-muted)}.home-recent-activity__hint{margin:0 0 var(--space-sm);font-size:.85rem}.home-recent-activity__list{list-style:none;margin:0;padding:0}.home-recent-activity__item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light)}.home-recent-activity__item:last-child{border-bottom:none}.home-recent-activity__title{margin:0;font-size:.9rem;color:var(--color-text)}.home-recent-activity__guest{font-weight:600}.home-recent-activity__meta,.home-recent-activity__time{margin:var(--space-xs) 0 0;font-size:.85rem}.walk-in-day-picker{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md)}.walk-in-day-picker__trigger{position:relative;flex:0 0 auto;width:44px;height:44px}.walk-in-day-picker__calendar{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:44px;min-height:44px;padding:var(--space-xs);pointer-events:none}.walk-in-day-picker__calendar .icon{width:1.35rem;height:1.35rem}.walk-in-day-picker__label{font-size:1rem;font-weight:600}.walk-in-day-picker__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;font-size:16px;border:0;background:transparent}.walk-in-gate__assigned-slot{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.walk-in-auto-queue-chip{display:inline-flex;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1.25;border-radius:999px;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.walk-in-timeline-day{margin-bottom:var(--space-lg)}.walk-in-timeline-day__label{font-size:.9rem;font-weight:600;margin:0 0 var(--space-sm)}.walk-in-timeline{display:grid;grid-template-columns:3.5rem 1fr;gap:var(--space-sm);align-items:start}.walk-in-timeline__gutter{font-size:.75rem;color:var(--color-text-muted);text-align:right;padding-right:var(--space-xs)}.walk-in-timeline__time{display:flex;align-items:flex-start;justify-content:flex-end;line-height:1.2}.walk-in-timeline__track{position:relative;display:flex;flex-direction:column;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.walk-in-timeline__busy-block{position:absolute;left:0;right:0;z-index:1;pointer-events:none;box-sizing:border-box;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-text-muted) 22%,var(--color-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text-muted) 28%,transparent)}.walk-in-timeline__selection-block{position:absolute;left:0;right:0;z-index:2;pointer-events:none;box-sizing:border-box;border:2px solid var(--color-primary);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 32%,var(--color-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,transparent)}.walk-in-timeline__cell{position:relative;z-index:1;width:100%;border:none;border-bottom:1px solid var(--color-border-light);background:var(--color-bg);padding:0;margin:0}.walk-in-timeline__cell:last-child{border-bottom:none}.walk-in-timeline__cell--bookable{cursor:pointer;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-bg))}.walk-in-timeline__cell--bookable:hover{background:color-mix(in srgb,var(--color-primary) 22%,var(--color-bg))}.walk-in-timeline__cell--in-selection{background:transparent!important;border-bottom-color:transparent}.walk-in-timeline__cell--in-selection.walk-in-timeline__cell--bookable:hover,.walk-in-timeline__cell--selected{background:transparent!important}.walk-in-timeline__cell--occupied,.walk-in-timeline__cell--occupied.walk-in-timeline__cell--bookable:hover{background:color-mix(in srgb,var(--color-text-muted) 18%,var(--color-bg))!important}.week-grid-wrap{overflow-x:auto;margin-bottom:var(--space-md)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr));gap:var(--space-xs);min-width:280px}.week-grid__head{font-size:.7rem;text-align:center;color:var(--color-text-muted);font-weight:600}.week-grid__day{display:flex;flex-direction:column;gap:var(--space-xs)}.week-grid__cell{min-height:48px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;cursor:default;padding:2px}.week-grid__cell--slot{cursor:pointer;background:var(--color-bg)}.week-grid__cell--slot:hover{border-color:var(--color-border)}.week-grid__cell--selected{border:2px solid var(--color-primary);background:var(--color-bg);font-weight:600}.week-grid--agenda .week-grid__cell--agenda{min-height:72px;align-items:stretch;justify-content:flex-start;padding:var(--space-xs);gap:var(--space-xs)}.week-grid__date{font-size:.65rem;color:var(--color-text-muted);width:100%;text-align:center}.week-grid__empty{color:var(--color-text-muted);font-size:.7rem}.view-toggle{display:flex;gap:0;margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.view-toggle__btn{flex:1;min-width:0;min-height:44px;border:none;background:var(--color-surface);cursor:pointer;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-xs) 2px;color:inherit}.view-toggle__icon{display:flex;align-items:center;justify-content:center;line-height:0}.view-toggle__icon .icon{width:1.125rem;height:1.125rem;display:block}.view-toggle__label{font-size:.65rem;line-height:1.1}.day-agenda{display:flex;flex-direction:column;gap:var(--space-sm)}.day-timeline{display:flex;gap:var(--space-sm);max-height:min(70vh,520px);overflow-y:auto;margin-bottom:var(--space-md)}.day-timeline__gutter{flex:0 0 52px;font-size:.7rem;color:var(--color-text-muted);text-align:right;padding-right:var(--space-xs)}.day-timeline__track{position:relative;flex:1;border-left:1px solid var(--color-border-light);min-width:0}.day-timeline__lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.day-timeline__line{position:absolute;left:0;right:0;border-top:1px solid var(--color-border-light)}.day-timeline__event-wrap{position:absolute;z-index:1;min-height:28px;box-sizing:border-box}.day-timeline__event,a.day-timeline__event-link{height:100%;box-sizing:border-box;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:.8rem;overflow:hidden}a.day-timeline__event-link{display:block;text-decoration:none;color:inherit}.day-timeline__event--proposed,a.day-timeline__event-link.day-timeline__event--proposed{border-style:dashed;background:var(--color-appointment-proposed-bg);border-color:var(--color-appointment-proposed-border)}.day-timeline__event--confirmed,a.day-timeline__event-link.day-timeline__event--confirmed{background:var(--color-appointment-confirmed-bg);border-color:var(--color-appointment-confirmed-border)}.day-timeline__event--ooh,a.day-timeline__event-link.day-timeline__event--ooh,.day-timeline__event--ooh.day-timeline__event--proposed,.day-timeline__event--ooh.day-timeline__event--confirmed,a.day-timeline__event-link.day-timeline__event--ooh.day-timeline__event--proposed,a.day-timeline__event-link.day-timeline__event--ooh.day-timeline__event--confirmed{background:var(--color-danger-bg);border-color:var(--color-danger)}.day-timeline__event-title{margin:0;font-weight:600;font-size:.85rem}.day-timeline__event-meta{margin:0;font-size:.75rem;color:var(--color-text-muted)}.day-timeline__unscheduled{margin-top:var(--space-md)}.week-timeline{margin-bottom:var(--space-md)}.week-timeline__hscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-timeline__sheet{--week-gutter: 52px;--week-col-min: 64px;min-width:calc(var(--week-gutter) + 7 * var(--week-col-min) + 6 * var(--space-xs) + 2px)}.week-timeline__header,.week-timeline__body{display:grid;grid-template-columns:var(--week-gutter) repeat(7,minmax(var(--week-col-min),1fr));gap:var(--space-xs);column-gap:2px}.week-timeline__header{margin-bottom:var(--space-xs)}.week-timeline__corner{min-height:1px;position:sticky;left:0;z-index:2;background:var(--color-bg)}.week-timeline__day-head{text-align:center;font-size:.75rem;line-height:1.3;min-width:var(--week-col-min)}.week-timeline__day-name{display:block;font-weight:600}.week-timeline__day-date{display:block;color:var(--color-text-muted)}.week-timeline__body{max-height:min(70vh,520px);overflow-y:auto}.week-timeline__gutter{position:sticky;left:0;z-index:2;background:var(--color-bg)}.week-timeline__col{min-width:var(--week-col-min)}.week-timeline__col .day-timeline__event{font-size:.7rem;padding:2px 4px}.week-timeline__col .day-timeline__event-title{font-size:.7rem}.week-timeline__col .day-timeline__event-meta{font-size:.6rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-clamp:2}.week-timeline__col .appointment-ooh-hint{font-size:.55rem}.appointment-ooh-hint{margin:var(--space-xs) 0 0;font-size:.75rem;color:var(--color-danger);font-weight:500}.card--appt-proposed{background:var(--color-appointment-proposed-bg);border-color:var(--color-border-light);border-inline-start:3px solid var(--color-appointment-proposed-border)}.card--appt-confirmed{background:var(--color-appointment-confirmed-bg);border-color:var(--color-border-light);border-inline-start:3px solid var(--color-appointment-confirmed-border)}.card--ooh{border-color:var(--color-danger);background:var(--color-danger-bg)}.card--ooh.card--appt-proposed,.card--ooh.card--appt-confirmed{background:var(--color-danger-bg);border-color:var(--color-danger);border-inline-start-color:var(--color-danger)}.appointment-list-item__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.appointment-list-item__when{flex:1;min-width:0;margin:0;font-size:1rem}.appointment-list-item__when.card__title--with-badge{display:flex;align-items:flex-start;gap:var(--space-xs)}.appointment-list-item__party{margin:0 0 var(--space-xs);font-size:.95rem;font-weight:500}.appointment-list-item__map-btn{flex-shrink:0;margin:0}.view-toggle__btn[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.view-toggle__btn:not([aria-pressed=true]):hover{background:var(--color-surface-muted)}.invite-page-actions{margin-bottom:var(--space-sm)}.invite-page-actions .btn{width:auto;flex:none}.invite-link-list{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.invite-link-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg)}.invite-link-item--suspended,.invite-link-item--expired{opacity:.85}.invite-link-item__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:2px}.invite-link-item__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;flex:1;min-width:0}.invite-link-status-toggle{display:inline-flex;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg)}.invite-link-status-toggle__btn{font:inherit;font-size:.75rem;line-height:1.2;min-height:2rem;padding:.25rem .5rem;border:none;background:transparent;color:inherit;cursor:pointer}.invite-link-status-toggle__btn[aria-pressed=true]{background:var(--color-primary, #2563eb);color:var(--color-on-primary, #fff)}.invite-link-status-toggle__btn--cap-blocked{opacity:.72;cursor:pointer}.invite-link-cap-hint{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-md)}.invite-link-meta{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.invite-link-item .link-url-box{padding:var(--space-sm) var(--space-md);margin-bottom:0}.invite-list-filter{display:flex;align-items:center;gap:var(--space-xs);margin:var(--space-sm) 0;font-size:.9rem;color:var(--color-text-muted);cursor:pointer}.invite-link-delete{margin-left:auto;color:var(--color-danger, #b91c1c);font-size:.85rem}.invite-link-actions-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap}.invite-link-actions-row .invite-link-actions{margin-top:0}.invite-link-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-xs)}.invite-edit-form{margin-top:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface)}.invite-link-action--active{border-color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 12%,var(--color-bg))}.invite-add-form{margin:var(--space-md) 0 var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.invite-link-item .invite-qr-panel{margin:var(--space-sm) 0 0;padding:var(--space-sm);border-top:1px solid var(--color-border-light)}.invite-link-item .invite-qr-preview{margin-bottom:var(--space-sm)}.chip--sm{font-size:.8rem;padding:var(--space-xs) var(--space-sm)}.appointment-pill,a.appointment-pill--link{width:100%;font-size:.65rem;line-height:1.25;padding:2px 4px;border-radius:3px;border:1px solid var(--color-border);background:var(--color-bg)}a.appointment-pill--link{display:block;text-decoration:none;color:inherit}.appointment-pill--proposed,a.appointment-pill--link.appointment-pill--proposed{border-style:dashed;background:var(--color-appointment-proposed-bg);border-color:var(--color-appointment-proposed-border);opacity:.9}.appointment-pill--confirmed,a.appointment-pill--link.appointment-pill--confirmed{background:var(--color-appointment-confirmed-bg);border-color:var(--color-appointment-confirmed-border)}.appointment-pill--cancelled{opacity:.65;border-style:dotted}.appointment-pill__name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-pill__time{display:block;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointments-source-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-sm);font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-md)}.appointments-source-legend__sep{opacity:.5}.commitment-source-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:500;color:var(--color-text-muted);vertical-align:middle}.commitment-source-badge--sm{font-size:.72rem}.commitment-source-badge--sm .icon{width:.95rem;height:.95rem}.commitment-source-badge--icon-only{flex-shrink:0}.commitment-source-badge--manual .commitment-source-badge__icon{color:var(--color-text-muted)}.commitment-source-badge--fromGuest .commitment-source-badge__icon{color:var(--color-primary, #2563eb)}.card__title--with-badge,.appointment-pill__name,.day-timeline__event-title--with-badge,.card__meta--with-badge{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.commitment-detail__heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:0 0 var(--space-md)}.commitment-detail__heading-row .page-heading{margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commitment-detail__edit{flex-shrink:0}.commitment-detail__source{margin-bottom:var(--space-xs)}.commitment-detail__schedule{margin:0 0 var(--space-sm);font-size:1.05rem;line-height:1.35}.commitment-detail__location{margin-top:var(--space-sm)}.commitment-detail__location-label{margin-bottom:var(--space-xs)}.commitment-detail__location-actions{margin-top:var(--space-xs)}.commitment-detail__seats{margin:0 0 var(--space-md)}.commitment-detail__seat-counts{font-variant-numeric:tabular-nums}.appointment-location-preview{display:block;width:100%;height:200px;margin:var(--space-sm) 0 0;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);box-sizing:border-box}.commitment-overlap-caution{display:inline-flex;align-items:center;flex-shrink:0;color:var(--color-danger, #dc2626)}.commitment-overlap-caution--sm .icon{width:.95rem;height:.95rem}.commitment-overlap-caution__icon{display:inline-flex;color:inherit}.icon--caution{color:inherit}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.month-nav__label{font-weight:600}.month-grid-wrap{overflow-x:auto;margin-bottom:var(--space-md)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:2px;min-width:280px}.month-grid__head{font-size:.65rem;text-align:center;color:var(--color-text-muted);font-weight:600;padding:var(--space-xs) 0}.month-grid__day{min-height:64px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:2px;font-size:.65rem}.month-grid__day--pad{border-color:transparent;background:transparent}.month-grid__day--has-events{background:var(--color-bg)}.month-grid__num{display:block;font-weight:600;font-size:.7rem;margin-bottom:2px}.month-grid__events{display:flex;flex-direction:column;gap:2px}.month-grid__more{font-size:.6rem;color:var(--color-text-muted)}.week-stepper{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-md) 0}.week-stepper__value{font-weight:600;min-width:2rem;text-align:center}.week-stepper button{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:1.25rem}.week-stepper button:hover{background:var(--color-surface-muted)}.selection-summary{padding:var(--space-md);border:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.9rem}.host-list-item{font-size:.9rem;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light)}.host-list-item:last-child{border-bottom:none}.guest-roster-intro{font-size:.9rem;color:var(--color-text-muted);margin-top:0}.guest-roster-list{margin-top:var(--space-md)}.guest-roster-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.guest-roster-item--empty{color:var(--color-text-muted)}.guest-roster-item__main{flex:1;min-width:0}.guest-roster-item__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;line-height:1.35}.guest-roster-item__name{font-weight:600;padding-inline-start:var(--space-sm)}.guest-roster-item__phone{color:var(--color-text-muted);font-weight:400}.guest-roster-item__sep{color:var(--color-text-muted)}.guest-roster-item__status{margin-inline-start:var(--space-xs)}.guest-roster-item__subtitle{margin-top:var(--space-xs);padding-inline-start:var(--space-sm)}.guest-roster-item__actions{flex-shrink:0;margin-top:0}.guest-roster-item__actions.btn-row .btn{flex:0 0 auto}.guest-roster-item__btn{background:var(--color-surface);border:1px solid var(--color-border-light)}.guest-roster-item__btn:hover{background:var(--color-surface-muted);border-color:var(--color-border)}.guest-roster-item__btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.guest-roster-item__btn--danger:hover{filter:brightness(.98)}.guest-roster-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-md)}.guest-roster-pagination__status{font-size:.85rem;color:var(--color-text-muted);text-align:center;flex:1}@media(min-width:768px){.week-timeline__sheet{--week-col-min: 92px}.month-grid__day{min-height:80px}}.invite-qr-panel{margin:var(--space-lg) 0;padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface)}.invite-qr-panel__hint,.invite-qr-field-hint,.invite-qr-panel__lan{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-sm)}.invite-qr-panel__warn{font-size:.85rem;color:var(--color-danger, #b91c1c);margin:0 0 var(--space-sm)}.profile-public-section{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.profile-public-section__free-hint{font-size:.85rem;color:var(--color-text-muted);margin-top:0}.profile-public-qr{margin-top:var(--space-md)}.profile-public-qr__preview{margin-top:var(--space-sm)}.invite-qr-panel .page-section-title{margin-top:0}.invite-qr-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-md)}.invite-qr-preview__code{position:relative;width:min(100%,220px);aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);background:#fff}.invite-qr-preview__canvas{display:block;width:100%;height:100%;position:relative;z-index:1}.invite-qr-preview__code--ready .invite-qr-preview__pattern{display:none}.invite-qr-preview__error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);text-align:center;background:#fff;font-size:.85rem;color:var(--color-text-muted)}.invite-qr-preview__error-msg{margin:0}.invite-qr-preview__retry{font-size:.85rem}.invite-qr-preview__pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#e5e7eb 25%,transparent 25%),linear-gradient(-45deg,#e5e7eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e7eb 75%),linear-gradient(-45deg,transparent 75%,#e5e7eb 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;opacity:.85}.invite-qr-preview__logo{position:absolute;left:50%;top:50%;z-index:2;width:28%;height:28%;transform:translate(-50%,-50%);object-fit:contain;background:#fff;border-radius:var(--radius-sm);padding:4px;box-shadow:0 0 0 4px #fff}.invite-qr-preview__note{margin:var(--space-sm) 0 0;text-align:center;font-size:.9rem;max-width:260px;word-break:break-word}.invite-qr-preview__note--empty{color:var(--color-text-muted);font-style:italic}.invite-qr-panel textarea{width:100%;min-height:4.5rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;line-height:1.35;resize:vertical}.invite-qr-remove-logo{margin-top:var(--space-sm)}.join-account-required{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin:var(--space-sm) var(--space-md) 0}.join-page{max-width:28rem;margin:0 auto}.join-hero--with-host{padding-bottom:var(--space-md)}.join-host{text-align:center;margin-top:var(--space-md)}.join-host__avatar{margin-bottom:var(--space-sm)}.join-host__name{margin:0;font-weight:600;font-size:1.1rem;line-height:1.3}.join-host__skills{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.join-session{margin:var(--space-md) 0 var(--space-lg)}.join-session__card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);background:var(--color-surface);text-align:center}.join-session__title{margin:0;font-weight:600;font-size:1.2rem;line-height:1.35;color:var(--color-text)}.join-session__detail{margin:var(--space-sm) 0 0;font-size:1rem;line-height:1.45;color:var(--color-text)}.join-session__title+.join-session__detail,.join-session__title+.join-session__meta{margin-top:var(--space-sm)}.join-session__meta{margin:var(--space-sm) 0 0;font-size:.95rem;line-height:1.4;color:var(--color-text-muted)}.public-profile-booking-options{display:flex;flex-direction:column;gap:var(--space-lg)}.public-profile-booking-option .join-session{margin-bottom:var(--space-md)}.public-profile-booking-option__cta{width:100%}.join-page__lead{margin:0 0 var(--space-md);text-align:center;font-size:.95rem;color:var(--color-text-muted);line-height:1.4}.join-page__actions{display:flex;flex-direction:column;align-items:stretch;gap:0}.join-page__actions .btn{width:100%}.join-walk-in-offer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light)}.join-divider{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-md);text-transform:lowercase}.join-walk-in-offer__btn{width:100%}.join-walk-in-offer__hint{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin:var(--space-sm) 0 0;line-height:1.4}.public-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-chrome);position:sticky;top:0;z-index:10}.public-header__brand{text-decoration:none;color:inherit;min-width:0;flex:1}.public-header__brand .brand-lockup{max-width:100%}.public-header__brand .brand-wordmark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-header__nav{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.public-header__link{font-size:.9rem;font-weight:500;padding:var(--space-sm);text-decoration:none;color:var(--color-text);white-space:nowrap}.public-header__auth-btn{width:auto;font-size:.85rem;padding:var(--space-sm) var(--space-md);white-space:nowrap}.public-header__auth-btn--sign-in{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.public-header__auth-btn--sign-in:hover{background:var(--color-surface-muted);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.public-header__cta{font-size:.85rem;padding:var(--space-sm) var(--space-md);white-space:nowrap}.public-footer{padding:var(--space-lg) var(--space-md);border-top:1px solid var(--color-border-light);text-align:center;background:var(--color-bg)}@media(max-width:767px){.public-footer{background:var(--color-canvas)}.public-header{gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.public-header__auth-btn,.public-header__cta{font-size:.8rem;padding:var(--space-xs) var(--space-sm)}.public-header__link{padding:var(--space-xs) var(--space-sm);font-size:.85rem}}@media(max-width:360px){.public-header__brand .brand-wordmark{display:none}}.public-footer__nav{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-sm)}.public-footer__nav a{font-size:.9rem;font-weight:500}.public-footer__locale{display:flex;justify-content:center;margin-bottom:var(--space-md)}.locale-switcher{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm);font-size:.9rem}.locale-switcher__label{font-weight:500;color:var(--color-text-muted)}.locale-switcher__select{min-height:var(--touch-min);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:var(--color-surface);font:inherit;max-width:min(100%,16rem)}.public-footer__copy{margin:0;font-size:.8rem;color:var(--color-text-muted)}.brand-lockup{display:inline-flex;align-items:center;gap:var(--space-sm)}.brand-mark{color:var(--color-text-muted);flex-shrink:0}.brand-wordmark{font-family:var(--font-display, var(--font-sans));font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.brand-wordmark__cross{font-weight:700}.brand-wordmark--hero{font-size:clamp(2rem,8vw,2.75rem);line-height:1.1}.landing-hero{text-align:center;padding:var(--space-md) 0 var(--space-xl);position:relative}.landing-hero:before{content:"";position:absolute;inset:-20% -10% auto;height:55%;background:radial-gradient(ellipse 80% 60% at 50% 0%,color-mix(in srgb,var(--color-primary) 12%,transparent),transparent);pointer-events:none;z-index:-1}.landing-hero__mark{margin-bottom:var(--space-md)}.brand-mark--hero{color:var(--color-text-muted)}.landing-hero__title{margin:0 0 var(--space-sm)}.landing-hero__subtitle{font-family:var(--font-display, var(--font-sans));font-size:clamp(1.05rem,4vw,1.35rem);line-height:1.35;color:var(--color-text);margin:0 auto var(--space-sm);max-width:22rem}.landing-hero__category{font-size:.95rem;line-height:1.45;font-weight:500;color:var(--color-text-muted);margin:0 auto var(--space-md);max-width:30rem}.landing-hero__pricing{font-size:.95rem;line-height:1.5;color:var(--color-text-muted);margin:0 auto var(--space-md);max-width:32rem}.landing-hero__pricing-promo{display:block;margin-top:var(--space-xs);font-size:.85rem;font-weight:600;color:var(--color-accent, #0d6efd)}.landing-hero__pricing-compare-link{font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:.12em}.compare-page{max-width:36rem;margin:0 auto;padding:var(--space-md) var(--space-sm) var(--space-xl)}.compare-page .plan-compare-wrap{margin-top:0;padding-top:0;border-top:none}.compare-page__cta{margin-top:var(--space-lg);text-align:center}.compare-page__cta .btn{display:inline-block}.compare-page__cta-note,.landing-hero__pricing-cancel{display:block;margin-top:var(--space-xs);font-size:.85rem;color:var(--color-text-muted)}.landing-hero__features{margin:0 auto var(--space-lg);max-width:32rem;text-align:left}.landing-hero__features-title{font-family:var(--font-display, var(--font-sans));font-size:1.1rem;font-weight:600;margin:0 0 var(--space-md);text-align:center}.landing-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.landing-features__item{padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.landing-features__item p{margin:var(--space-xs) 0 0;font-size:.95rem;line-height:1.5;color:var(--color-text-muted)}.landing-features__title{display:block;font-size:.95rem;font-weight:600;color:var(--color-text)}.landing-section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border-light)}.landing-section__title{font-family:var(--font-display, var(--font-sans));font-size:1.35rem;font-weight:400;margin:0 0 var(--space-md)}.landing-section__intro{margin:0 0 var(--space-md);color:var(--color-text-muted);font-size:.95rem}.landing-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.landing-steps__item{padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.landing-steps__item p{margin:var(--space-xs) 0 0;font-size:.9rem;line-height:1.45;color:var(--color-text-muted)}.landing-steps__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary)}.landing-demo-links{display:flex;flex-direction:column;gap:var(--space-sm)}.landing-demo-card{display:block;text-decoration:none;color:inherit;padding:var(--space-md)}.landing-demo-card__name{display:block;font-weight:600}.landing-demo-card__hint{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.landing-use-cases__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.landing-use-cases__item{padding:var(--space-md)}.landing-use-cases__title{display:block;font-weight:600}.landing-use-cases__fit{display:inline-block;margin-top:var(--space-xs);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary)}.landing-use-cases__caveat{margin:var(--space-xs) 0 0;font-size:.9rem;line-height:1.45;color:var(--color-text-muted)}.landing-use-cases-page__more{margin-top:var(--space-lg);font-size:.95rem}.landing-faq__list{margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.landing-faq__item{margin:0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.landing-faq__question{margin:0;font-weight:600;font-size:.95rem;color:var(--color-text)}.landing-faq__answer{margin:var(--space-xs) 0 0;font-size:.9rem;line-height:1.45;color:var(--color-text-muted)}.legal-doc__footer-links{margin-top:var(--space-lg);font-size:.9rem}.legal-doc__table{width:100%;border-collapse:collapse;font-size:.9rem;margin:var(--space-md) 0}.legal-doc__table th,.legal-doc__table td{border:1px solid var(--color-border, #ddd);padding:var(--space-sm);text-align:left;vertical-align:top}.cookie-consent{position:fixed;inset-inline:0;bottom:0;z-index:1000;padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));background:var(--color-surface);box-shadow:0 -4px 24px #0000001f;border-top:1px solid var(--color-border, #ddd)}.cookie-consent__inner{max-width:42rem;margin:0 auto}.cookie-consent__title{margin:0 0 var(--space-xs);font-weight:600}.cookie-consent__body,.cookie-consent__links{margin:0 0 var(--space-sm);font-size:.9rem;color:var(--color-text-muted)}.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.legal-doc__title{font-family:var(--font-display, var(--font-sans));font-size:1.75rem;font-weight:400;margin:0 0 var(--space-xs)}.legal-doc__meta{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-lg)}.legal-doc h2{font-size:1rem;margin:var(--space-lg) 0 var(--space-sm)}.legal-doc p,.legal-doc li{font-size:.95rem;line-height:1.55;color:var(--color-text-muted)}.legal-doc ul{padding-left:1.25rem}.auth-footnote{margin-top:var(--space-md);font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.help-ticket-list{display:flex;flex-direction:column;gap:var(--space-sm)}.help-ticket-card{display:block;padding:var(--space-md);text-decoration:none;color:inherit}.help-ticket-card__subject{display:block;font-weight:600}.help-ticket-card__meta,.help-ticket-card__date{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.help-ticket-detail__status{font-size:.9rem;color:var(--color-text-muted);margin-top:0}.help-thread{display:flex;flex-direction:column;gap:var(--space-md);margin:var(--space-md) 0 var(--space-lg)}.help-message{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-elevated, rgba(0, 0, 0, .04))}.help-message--staff{border-left:3px solid var(--color-primary, #2563eb)}.help-message__meta{font-size:.8rem;color:var(--color-text-muted);margin:0 0 var(--space-sm)}.help-message__body{margin:0;white-space:pre-wrap}.help-attachment img,.help-attachment video{max-width:100%;margin-top:var(--space-sm);border-radius:var(--radius-sm)}.app-shell--public{--font-display: "DM Serif Display", Georgia, serif;--font-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font-sans)}.me-plan-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:0 0 var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-elevated, rgba(0, 0, 0, .04));border:1px solid var(--color-border, rgba(0, 0, 0, .08))}.me-plan-card__main{flex:1;min-width:0;color:inherit;text-decoration:none}.me-plan-card__title{margin:0;font-size:1.05rem}.me-plan-card__tagline,.me-plan-card__usage,.me-plan-card__details-link{margin:var(--space-xs) 0 0;font-size:.85rem;color:var(--color-text-muted)}.me-plan-card__cancel-note{margin:var(--space-sm) 0 0}.me-plan-card__details-link{text-decoration:underline}.me-plan-card__actions{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.me-plan-card__compare-link{font-size:.8rem;color:var(--color-text-muted);text-decoration:underline}.plan-compare-wrap{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.plan-compare__title{font-size:1rem;margin:0 0 var(--space-sm)}.plan-compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.plan-compare{width:100%;min-width:280px;border-collapse:collapse;font-size:.85rem}.plan-compare th,.plan-compare td{padding:var(--space-xs) var(--space-sm);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .06))}.plan-compare thead th{font-weight:600}.plan-compare__section th{font-weight:600;background:var(--color-surface-elevated, rgba(0, 0, 0, .03))}.plan-compare__launch-promo{margin:0 0 var(--space-sm);font-size:.85rem;font-weight:600;color:var(--color-accent, #0d6efd)}.plan-price__list{color:var(--color-text-muted);text-decoration:line-through;font-weight:400}.plan-price__promo{font-weight:600}.billing-summary{margin-bottom:var(--space-lg)}.billing-summary__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.billing-summary__planBlock{min-width:0}.billing-summary__plan{margin:0;min-width:0}.me-plan-card__interval{margin:.15rem 0 var(--space-xs);font-size:.9rem;color:var(--color-text-muted)}.billing-summary__actions{flex-shrink:0}.billing-action-link{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0;margin:0;border:none;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em;cursor:pointer;width:auto;text-align:start;white-space:nowrap}.billing-action-link:hover{color:var(--color-primary-hover)}.billing-action-link.btn--busy{position:relative;pointer-events:none;cursor:wait;text-decoration:none}.billing-action-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.plan-cancel-scheduled{margin:var(--space-sm) 0 0;padding:var(--space-sm) var(--space-md);font-size:.9rem;font-weight:500;color:var(--color-text);background:color-mix(in srgb,var(--color-danger-bg) 55%,transparent);border-left:3px solid var(--color-danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.billing-summary>.plan-cancel-scheduled{margin-top:0}.billing-period,.billing-interval,.billing-proration-hint,.page-muted{font-size:.9rem;color:var(--color-text-muted)}.billing-interval-picker{margin:var(--space-md) 0 0;padding:0;border:none}.billing-interval-picker__legend{font-size:.9rem;font-weight:600;margin-bottom:var(--space-sm);padding:0}.billing-interval-picker__option{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm);cursor:pointer}.billing-interval-picker__label{font-weight:500}.billing-interval-picker__price{font-size:.9rem;color:var(--color-text-muted)}.billing-notes{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.billing-notes__title{font-size:1rem;margin:0 0 var(--space-sm)}.billing-notes p{margin:0 0 var(--space-md);font-size:.85rem;color:var(--color-text-muted);line-height:1.45}.notifications-guide{margin-top:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface)}.notifications-guide__summary{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;list-style:none;font-weight:600;font-size:.95rem}.notifications-guide__summary::-webkit-details-marker{display:none}.notifications-guide__summary:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:var(--space-xs);border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0}.notifications-guide[open]>.notifications-guide__summary:before{transform:rotate(45deg)}.notifications-guide__panel{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.notifications-guide__heading{margin:0 0 var(--space-xs);font-size:.9rem;font-weight:600}.notifications-guide__heading:not(:first-child){margin-top:var(--space-md)}.notifications-guide__list{margin:0 0 var(--space-sm);padding-left:1.25rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.45}.notifications-guide__list li{margin-bottom:var(--space-xs)}.notifications-guide__list li:last-child{margin-bottom:0}.service-hours-disclosure{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface)}.service-hours-disclosure__summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);cursor:pointer;list-style:none;font-weight:600;font-size:.95rem}.service-hours-disclosure__summary::-webkit-details-marker{display:none}.service-hours-disclosure__summary:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:var(--space-sm);border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0;align-self:center}.service-hours-disclosure[open]>.service-hours-disclosure__summary:before{transform:rotate(45deg)}.service-hours-disclosure__title{flex-shrink:0}.service-hours-disclosure__hint{flex:1;min-width:0;text-align:right;font-weight:400;font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-hours-disclosure__panel{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.service-hours-weekly{margin:0;padding:0;border:none}.service-hours-weekly__legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.service-hours-weekly__head,.service-hours-weekly__row{display:grid;grid-template-columns:3.5rem 3rem 1fr 1fr;gap:var(--space-sm);align-items:center}.service-hours-weekly__head{font-size:.75rem;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.service-hours-weekly__row{margin-bottom:var(--space-xs)}.service-hours-weekly__day-label{font-size:.9rem;font-weight:500}.service-hours-weekly__check{display:flex;justify-content:center}.service-hours-weekly__time{width:100%;min-width:0}@media(max-width:420px){.service-hours-weekly__head{display:none}.service-hours-weekly__row{grid-template-columns:2.75rem auto 1fr 1fr}}.reports-page{display:flex;flex-direction:column;gap:var(--space-lg)}.reports-section{margin:0}.reports-cap-hint{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--space-sm)}.reports-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-sm)}.reports-stat__label{font-size:.8rem;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.reports-stat__value{font-size:1.35rem;font-weight:600;margin:0}.reports-channel-mix{margin:var(--space-sm) 0 0;padding-left:1.1rem;font-size:.9rem;color:var(--color-text-muted)}.reports-week-bars{display:flex;align-items:flex-end;gap:var(--space-xs);height:5rem;margin-top:var(--space-sm)}.reports-week-bars__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;height:100%}.reports-week-bars__bar{width:100%;max-width:2rem;min-height:2px;background:var(--color-primary);border-radius:2px 2px 0 0;margin-top:auto}.reports-week-bars__n{font-size:.75rem;color:var(--color-text-muted)}.reports-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end}.reports-filters__field{display:flex;flex-direction:column;gap:2px;font-size:.85rem;min-width:8rem}.reports-pro-lock-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.75rem 1rem;cursor:pointer;border:1px dashed var(--color-border);border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--color-border) 12%,transparent);box-sizing:border-box;text-align:center}.reports-pro-lock-panel__badge{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text)}.reports-pro-lock-panel__detail{margin:0;max-width:28rem;font-size:.85rem;line-height:1.35;color:var(--color-text-muted, var(--color-text-secondary, #666))}.reports-pro-lock-panel--filters{min-height:6rem}.reports-pro-lock-panel--stats{min-height:5rem}.reports-pro-lock-panel--table{min-height:7rem}.reports-pro-lock-panel--chart{min-height:4.5rem}.reports-pro-lock-panel__icon svg{width:2.25rem;height:2.25rem}.reports-export-full-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.reports-export-lock-hint{margin:0;max-width:14rem;font-size:.8rem;line-height:1.35;color:var(--color-text-muted, var(--color-text-secondary, #666))}.reports-export-lock-hint__badge{display:block;font-weight:600;color:var(--color-text)}.reports-export-lock-hint__detail{display:block}.reports-export-row .btn .icon svg{width:1rem;height:1rem;vertical-align:middle}.reports-export-lock-btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.reports-export-row{margin:var(--space-sm) 0}.reports-privacy{font-size:.8rem;color:var(--color-text-muted)}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:.9rem}.reports-table th,.reports-table td{text-align:left;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border)}.reports-mom{display:flex;align-items:flex-end;gap:var(--space-xs);min-height:4rem;margin-top:var(--space-sm)}.reports-mom__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;color:var(--color-text-muted)}.reports-mom__bar{width:100%;max-width:1.5rem;min-height:2px;background:var(--color-primary-soft, var(--color-primary));border-radius:2px}
