/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#173f3b;--ink-deep:#11312e;--sage:#6d8269;--sage-soft:#e8eee7;--cream:#f6f3ec;--paper:#fffdfa;--sand:#efe4d6;--terracotta:#b06f54;--line:#dedfd9;--muted:#697571;--shadow:0 12px 38px #193a3514}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}html,body{min-height:100%}body{background:var(--cream);color:var(--ink-deep);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.app-shell{min-height:100vh}.sidebar{color:#f9f5ee;background:var(--ink);z-index:20;flex-direction:column;width:248px;padding:28px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand__mark{background:#fffaf2;border:1px solid #ffffff94;border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:0 3px 10px #00000024}.brand__mark img{object-fit:contain;width:40px;height:40px;display:block}.brand__copy{flex-direction:column;gap:3px;line-height:1.1;display:flex}.brand__copy strong{letter-spacing:.01em;white-space:nowrap;font-family:Georgia,serif;font-size:15px;font-weight:600}.brand__copy small{color:#ffffff94;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.brand--compact{color:var(--ink);display:none}.brand--compact .brand__mark{background:var(--sage-soft);border-color:#173f3b2e}.desktop-nav{flex-direction:column;gap:7px;margin-top:48px;display:flex}.desktop-nav button{color:#ffffffb3;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:13px;width:100%;padding:12px 14px;transition:all .2s;display:flex}.desktop-nav button:hover{color:#fff;background:#ffffff14}.desktop-nav button.is-active{color:#fff;background:#ffffff24;box-shadow:inset 3px 0 #d8c5ab}.desktop-nav span{font-size:14px;font-weight:650}.sidebar__footer{gap:16px;margin-top:auto;display:grid}.connection-state{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.connection-state>span{background:#d6a76d;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #d6a76d21}.connection-state--live>span{background:#85b798;box-shadow:0 0 0 4px #85b79821}.connection-state div{flex-direction:column;gap:2px;display:flex}.connection-state strong{font-size:12px}.connection-state small{color:#ffffff8c;font-size:10px}.signed-in{color:#ffffff6b;overflow-wrap:anywhere;font-size:9px;line-height:1.5}.main-area{min-height:100vh;margin-left:248px}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:15;background:#f6f3eceb;border-bottom:1px solid #173f3b1a;justify-content:flex-end;align-items:center;gap:16px;height:76px;padding:0 clamp(24px,4vw,58px);display:flex;position:sticky;top:0}.prototype-label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:7px;margin-right:3px;font-size:11px;font-weight:700;display:flex}.prototype-label span{background:#d6a76d;border-radius:50%;width:7px;height:7px}.prototype-label--live span{background:#5f9b76}.profile-wrap{position:relative}.topbar-settings-button{width:38px;height:38px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex:0 0 38px;place-items:center;padding:0;display:grid}.topbar-settings-button:hover,.topbar-settings-button[aria-expanded=true]{border-color:var(--line);background:var(--paper)}.topbar-settings-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.profile-button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;min-width:214px;padding:7px 10px 7px 8px;display:flex}.profile-button:hover,.profile-button[aria-expanded=true]{border-color:var(--line);background:var(--paper)}.profile-button__copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-button__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.profile-button__copy small{color:var(--muted);font-size:10px}.profile-button__chevron{color:var(--muted);font-size:15px}.avatar{color:#fff;letter-spacing:.03em;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.avatar--client{color:var(--ink);background:var(--sage-soft)}.profile-menu{border:1px solid var(--line);background:var(--paper);width:320px;box-shadow:var(--shadow);z-index:30;border-radius:18px;padding:13px;position:absolute;top:calc(100% + 10px);right:0}.profile-menu>.eyebrow{padding:5px 8px 9px;display:block}.profile-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:9px;display:flex}.profile-menu button:hover,.profile-menu button.is-active{background:var(--sage-soft)}.profile-menu button.profile-menu__mobile-report{display:none}.profile-menu__mobile-report>span,.profile-menu button>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.profile-menu button strong{font-size:12px}.profile-menu button small{color:var(--muted);font-size:10px}.profile-menu button i{color:var(--ink);font-style:normal}.profile-menu button>b{margin-left:auto}.settings-submenu{border-top:1px solid var(--line)}.settings-submenu summary{cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 9px;list-style:none;display:flex}.settings-submenu summary::-webkit-details-marker{display:none}.settings-submenu summary:hover{background:var(--sage-soft)}.settings-submenu summary>span{flex-direction:column;flex:1;gap:2px;display:flex}.settings-submenu summary>strong{flex:1}.settings-submenu summary strong{font-size:12px}.settings-submenu summary small{color:var(--muted);font-size:10px}.settings-submenu summary>b{color:var(--muted);transition:transform .16s}.settings-submenu[open] summary>b{transform:rotate(90deg)}.settings-submenu>div{padding:2px 0 7px 8px}.settings-submenu>.preferred-view-settings{gap:10px;padding:4px 8px 12px;display:grid}.preferred-view-settings fieldset{border:0;min-width:0;margin:0;padding:0}.preferred-view-settings legend{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:750}.preferred-view-options{gap:5px;display:flex}.profile-menu .preferred-view-options button{border:1px solid var(--line);text-align:center;border-radius:10px;flex:1;justify-content:center;min-width:0;min-height:38px;padding:6px 5px;font-size:12px;font-weight:750}.profile-menu .preferred-view-options button[aria-pressed=true]{border-color:var(--ink);color:#fff;background:var(--ink)}.profile-menu .preferred-view-options button:disabled{cursor:wait;opacity:.65}.preferred-view-settings>p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.preferred-calendar-hours{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.preferred-calendar-hours label{color:var(--muted);gap:4px;font-size:12px;font-weight:700;display:grid}.preferred-calendar-hours select{border:1px solid var(--line);width:100%;min-width:0;min-height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:6px;font-size:13px}.preferred-calendar-hours__hint{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.3;display:block}.calendar-hours-toggle{min-height:34px;color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #bfd0bf;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700}.settings-therapist-list label{cursor:pointer;border-radius:10px;align-items:center;gap:9px;min-height:38px;padding:7px 9px;font-size:11px;font-weight:700;display:flex}.settings-therapist-list label:hover{background:var(--sage-soft)}.settings-therapist-list label>i{border-radius:50%;width:8px;height:8px}.owner-view-switch{grid-template-columns:1fr 1fr;gap:6px;padding:0 4px 8px;display:grid}.owner-view-switch button{border:1px solid var(--line);text-align:center;justify-content:center;min-height:40px}.owner-view-switch button.is-active{border-color:var(--ink);color:var(--paper);background:var(--ink)}.owner-view-switch button.is-active i{color:inherit}.owner-view-toggle{border:1px solid var(--line);min-height:32px;color:var(--muted);background:var(--paper);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 7px;font-size:10px;font-weight:750;display:inline-flex}.owner-view-toggle>span{transition:color .16s}.owner-view-toggle>span.is-active{color:var(--ink)}.owner-view-toggle>i{background:#cfd7d2;border-radius:999px;align-items:center;width:30px;height:18px;padding:2px;transition:background .16s;display:flex}.owner-view-toggle>i>b{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;display:block;box-shadow:0 1px 4px #173f3b40}.owner-view-toggle.is-practice>i{background:var(--ink)}.owner-view-toggle.is-practice>i>b{transform:translate(12px)}.test-mode-banner{color:#5f4218;z-index:14;background:#fff4d8;border-bottom:1px solid #9a682038;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:7px clamp(24px,4vw,58px);display:flex;position:sticky;top:76px;box-shadow:0 5px 14px #5f42180f}.test-mode-banner>span{align-items:baseline;gap:8px;font-size:13px;display:flex}.test-mode-banner>span strong{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.test-mode-banner button{color:#5f4218;cursor:pointer;background:#ffffffb3;border:1px solid #5f42183d;border-radius:11px;min-height:44px;padding:8px 13px;font-size:12px;font-weight:800}.test-mode-banner button:hover{background:#fff}.profile-menu__practice-visibility{background:#f2f6f1;border:1px solid #d8e1da;border-radius:13px;gap:9px;margin-bottom:7px;padding:11px;display:grid}.profile-menu__practice-visibility>span{gap:3px;min-width:0;display:grid}.profile-menu__practice-visibility>span strong{color:var(--ink);font-size:12px}.profile-menu__practice-visibility>span small{color:var(--muted);font-size:10px;line-height:1.4}.profile-menu__practice-visibility .preference-switch{justify-content:space-between;min-height:38px;padding:6px 9px}.preference-switch{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;align-items:center;gap:9px;padding:8px 12px;font-size:11px;font-weight:800;display:flex}.preference-switch:disabled{cursor:wait;opacity:.7}.preference-switch>i{background:#b6bfba;border-radius:999px;width:34px;height:20px;transition:background .16s;position:relative}.preference-switch>i b{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000002e}.preference-switch.is-active{color:var(--ink);background:#fff;border-color:#a8beb4}.preference-switch.is-active>i{background:var(--sage)}.preference-switch.is-active>i b{transform:translate(14px)}.profile-menu>.profile-menu__test-label{border-top:1px solid var(--line);margin-top:5px;padding-top:11px}.workspace{width:100%;max-width:1340px;margin:0 auto;padding:42px clamp(24px,4vw,58px) 64px}.passkey-device-prompt{background:linear-gradient(135deg,#eef6f2,#fffdfa);border:1px solid #bfd2cb;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:18px 20px;display:flex;box-shadow:0 8px 24px #173f3b12}.passkey-device-prompt__copy{gap:5px;display:grid}.passkey-device-prompt__copy>strong{font-size:16px;line-height:1.3}.passkey-device-prompt__copy>p{max-width:680px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.passkey-device-prompt__actions{flex:none;align-items:center;gap:7px;display:flex}.passkey-device-prompt__actions .button--primary{min-width:130px}.view-stack{gap:26px;display:grid}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-heading--schedule .schedule-settings{display:none}.page-heading h1{letter-spacing:-.03em;margin:7px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,48px);font-weight:500;line-height:1}.page-heading p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.eyebrow{color:var(--sage);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:12px;font-weight:750;transition:transform .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button svg{width:16px;height:16px}.button--primary{color:#fff;background:var(--ink);box-shadow:0 6px 16px #173f3b29}.button--primary:hover{background:var(--ink-deep)}.button--secondary{border-color:var(--line);color:var(--ink);background:var(--paper)}.button--quiet{color:var(--muted);background:0 0}.button--danger{color:#8a3f30;background:#fbefeb;border-color:#d9b8ad}.button--danger:hover{background:#f5dfd8}.button--no-show{color:#6f5114;background:#f7edcf;border-color:#d4b56b}.button--no-show:hover{background:#f1dfaa}.dashboard-heading-actions{align-items:center;gap:9px;display:flex}.dashboard-heading-actions .heading-action{min-width:auto}.schedule-heading-actions{align-items:center;gap:9px;display:flex}.schedule-primary-action{display:contents}.schedule-settings{position:relative}.schedule-settings__trigger{width:42px;padding:10px}.schedule-settings__trigger svg{width:18px;height:18px}.schedule-settings__menu{z-index:30;border:1px solid var(--line);background:var(--paper);width:272px;box-shadow:var(--shadow);border-radius:16px;gap:4px;padding:12px;display:grid;position:absolute;top:calc(100% + 9px);right:0}.schedule-settings__menu>.eyebrow{padding:4px 7px 7px}.schedule-settings__menu button{min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;display:flex}.schedule-settings__menu button:hover{background:var(--sage-soft)}.schedule-settings__menu button>span{gap:4px;display:grid}.schedule-settings__menu strong{font-size:11px}.schedule-settings__menu small{color:var(--muted);font-size:9px}.schedule-settings__menu b{color:var(--muted);font-size:17px;font-weight:400}.schedule-settings__therapists{border-top:1px solid var(--line);gap:7px;margin-top:6px;padding:12px 7px 3px;display:grid}.schedule-settings__therapists>span{gap:3px;margin-bottom:3px;display:grid}.schedule-settings__therapists>span strong{font-size:11px}.schedule-settings__therapists>span small{color:var(--muted);font-size:9px}.schedule-settings__therapists label{min-height:34px;color:var(--ink);cursor:pointer;grid-template-columns:18px 8px 1fr;align-items:center;gap:8px;font-size:10px;font-weight:750;display:grid}.schedule-settings__therapists input{width:16px;height:16px;accent-color:var(--ink);margin:0}.schedule-settings__therapists label>i{border-radius:50%;width:8px;height:8px}.therapist-self-label{color:var(--ink);background:var(--sage-soft);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;margin-left:8px;padding:3px 7px;font-size:8px;font-style:normal;font-weight:800}.therapist-empty-state{color:var(--muted);padding:18px 16px;font-size:11px}.appointment-privacy-note p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.month-calendar__availability-key--multiple{justify-content:space-between;align-items:start;gap:18px}.month-calendar__availability-key--multiple>div{flex-wrap:wrap;justify-content:flex-end;gap:6px 10px;display:flex}.month-calendar__availability-key--multiple>div>span{color:var(--muted);align-items:center;gap:5px;font-size:9px;font-weight:800;display:inline-flex}.month-calendar__availability-key--multiple>div i{border-radius:50%;width:8px;height:8px}.client-settings__menu{width:320px;max-height:min(620px,100vh - 96px);overflow-y:auto}.client-settings__divider{background:var(--line);height:1px;margin:7px}.client-settings__menu button.client-stat-option{min-height:52px}.client-settings__menu button.client-stat-option.is-active{background:var(--sage-soft)}.client-settings__menu button.client-stat-option>b{min-width:34px;height:28px;color:var(--ink);background:var(--sage-soft);border-radius:99px;place-items:center;padding:0 8px;font-size:10px;font-weight:800;display:grid}.client-settings__menu button.client-stat-option.is-active>b{color:#fff;background:var(--ink)}.main-area:has(.page-heading--schedule) .prototype-label{display:none}.page-heading--schedule{z-index:16;pointer-events:none;align-items:center;height:76px;padding:0 calc(clamp(24px,4vw,58px) + 230px) 0 clamp(24px,4vw,58px);position:fixed;top:0;left:248px;right:0}.page-heading--schedule>div>.eyebrow,.page-heading--schedule p{display:none}.page-heading--schedule h1{margin:0;font-size:24px}.page-heading--schedule .schedule-heading-actions{pointer-events:auto}.page-heading--schedule .schedule-primary-action{display:none}.text-button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px;font-weight:800}.report-preview-controls{align-items:flex-end;gap:9px;display:flex}.report-preview-controls label{color:var(--muted);gap:5px;font-size:9px;font-weight:750;display:grid}.report-preview-controls input{border:1px solid var(--line);width:142px;height:42px;color:var(--ink);background:var(--paper);border-radius:12px;outline:0;padding:0 10px;font-size:11px}.report-preview-controls input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6d82691f}.report-range-bar{border:1px solid var(--line);background:var(--mint);border-radius:18px;align-items:flex-end;gap:12px;padding:14px 16px;display:flex}.report-range-bar label,.report-delivery-actions label{color:var(--muted);gap:5px;font-size:10px;font-weight:750;display:grid}.report-range-bar select,.report-range-bar input,.report-delivery-actions input{border:1px solid var(--line);min-width:156px;height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:12px;outline:0;padding:0 11px;font-size:12px}.report-range-bar__therapist select{min-width:220px}.report-range-bar select:focus,.report-range-bar input:focus,.report-delivery-actions input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6d82691f}.report-load-state{min-height:42px;color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:10px;font-weight:700;display:flex}.report-load-state i{background:#72a083;border-radius:50%;width:8px;height:8px}.report-load-state.is-error{color:#9a4d42}.report-load-state.is-error i{background:#b65d50}.report-fetch-state{justify-items:start;gap:8px;padding:28px;display:grid}.report-fetch-state h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.report-fetch-state p{max-width:620px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.report-fetch-state--error{background:#fff8f5;border-color:#9a4d4240}.report-fetch-state--error .button{margin-top:5px}.report-delivery-actions{grid-template-columns:minmax(150px,1fr) auto auto;align-items:end;gap:9px;display:grid}.report-delivery-actions .delivery-message{grid-column:1/-1}.metric-grid{gap:14px;display:grid}.metric-grid--today,.metric-grid--reports{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border:1px solid var(--line);background:var(--paper);border-radius:20px;flex-direction:column;min-height:130px;padding:20px 21px;display:flex;box-shadow:0 5px 22px #193a3509}.metric--sage{background:var(--sage-soft);border-color:#0000}.metric--sand{background:var(--sand);border-color:#0000}.metric>span{color:var(--muted);font-size:11px;font-weight:700}.metric>strong{margin:9px 0 5px;font-family:Georgia,serif;font-size:32px;font-weight:500;line-height:1}.metric>small{color:var(--muted);margin-top:auto;font-size:10px}.metric--clickable{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s}.metric--clickable:hover{border-color:#96b0a7;transform:translateY(-2px);box-shadow:0 11px 25px #193a351a}.metric--clickable:focus-visible{outline-offset:2px;outline:3px solid #275f5a47}.metric--clickable .metric__action{color:#37605c;margin-top:9px;font-size:9px;font-weight:850}.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.priority-card{min-height:90px;color:var(--ink);cursor:pointer;text-align:left;background:#f3e8da;border:1px solid #decdbd;border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px;display:grid;box-shadow:0 6px 20px #61482f0f}.priority-card--open{background:#e7efeb;border-color:#c9d9d2;box-shadow:0 6px 20px #275f5a0f}.priority-card__icon{color:#7b5b46;background:#ffffff8c;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.priority-card--open .priority-card__icon{color:var(--ink)}.priority-card__icon svg{width:18px;height:18px}.priority-card__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.priority-card__copy small{color:#8a634b;letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:850}.priority-card--open .priority-card__copy small{color:#437069}.priority-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:16px;font-weight:500;line-height:1.25;overflow:hidden}.priority-card__copy em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.priority-card__action{white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.priority-card__action b{color:var(--muted);font-size:16px;font-weight:400}.content-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);align-items:start;gap:18px;display:grid}.side-stack{gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:0 6px 24px #193a350a}.panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:79px;padding:19px 22px;display:flex}.panel__header>div:first-child{flex-direction:column;gap:5px;display:flex}.panel__header h2,.alert-panel h2,.insight-panel h2{margin:0;font-family:Georgia,serif;font-size:21px;font-weight:500}.panel__header--compact{border:0;min-height:auto;padding:0}.muted-label{color:var(--muted);font-size:10px;font-weight:650}.appointment-list,.therapist-schedule{flex-direction:column;display:flex}.therapist-schedule__group+.therapist-schedule__group{border-top:1px solid var(--line)}.therapist-schedule__header{background:#f6f7f2;justify-content:space-between;align-items:center;gap:14px;min-height:50px;padding:12px 20px;display:flex}.therapist-schedule__header span{color:var(--ink);align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.therapist-schedule__header i{border-radius:50%;width:8px;height:8px}.therapist-schedule__header small{color:var(--muted);font-size:9px;font-weight:650}.day-openings{border-top:1px solid var(--line);background:#f7f9f5;gap:14px;padding:20px 22px 22px;display:grid}.day-openings>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.day-openings>header>div{gap:5px;display:grid}.day-openings h3{margin:0;font-family:Georgia,serif;font-size:19px;font-weight:500}.day-openings>header>small{color:var(--muted);font-size:9px;font-weight:700}.day-openings>p{color:var(--muted);margin:0;padding:13px 0 2px;font-size:10px}.day-openings__groups{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.day-openings__group{background:var(--paper);border:1px solid #dce5dd;border-radius:13px;gap:9px;padding:12px;display:grid}.day-openings__group h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:7px;margin:0;font-size:9px;font-weight:800;display:flex}.day-openings__group h4 i{border-radius:50%;width:7px;height:7px}.day-openings__group>div{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:7px;display:grid}.day-openings__group button{min-height:48px;color:var(--ink);background:var(--sage-soft);cursor:pointer;text-align:center;border:1px solid #cfded7;border-radius:10px;place-content:center;gap:3px;padding:7px 9px;display:grid}.day-openings__group button:hover{border-color:var(--ink);background:#dce8df}.day-openings__group button strong{font-size:10px}.day-openings__group button small{color:var(--muted);font-size:8px}.appointment{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ecece7;grid-template-columns:74px 4px minmax(0,1fr) auto 12px;align-items:center;gap:14px;width:100%;min-height:93px;padding:13px 20px;transition:background .16s,box-shadow .16s;display:grid}.appointment--no-status{grid-template-columns:74px 4px minmax(0,1fr) 12px}.appointment--day-card{background:#f4f6f2;border:0;border-left:3px solid;border-radius:11px;grid-template-columns:74px minmax(0,1fr) auto 12px;width:calc(100% - 24px);min-height:86px;margin:6px 12px;padding:12px 16px;overflow:hidden}.appointment--day-card .appointment__line{display:none}.appointment:last-child{border-bottom:0}.appointment:hover{background:#f8f8f4}.appointment--day-card:hover{background:#edf2ed}.appointment--day-card.appointment--past{color:#58635f;background:#e9ebe8}.appointment--day-card.appointment--past:hover{background:#e3e6e2}.appointment--day-card.appointment--past .appointment__time,.appointment--day-card.appointment--past .appointment__main{color:#58635f}.appointment--day-card.appointment--past .appointment__chevron{color:#87918d}.appointment:disabled{color:inherit;opacity:1;cursor:default}.appointment:disabled:hover{background:0 0}.appointment--day-card:disabled:hover{background:#f4f6f2}.appointment--day-card.appointment--past:disabled:hover{background:#e9ebe8}.appointment.appointment--no-show,.appointment--day-card.appointment--no-show,.appointment--day-card.appointment--no-show:disabled:hover{color:#624d22;background:#f2ead8}.appointment--day-card.appointment--no-show:hover{background:#ede0c3}.appointment--readonly .appointment__line{opacity:.42}.appointment__time{flex-direction:column;gap:3px;display:flex}.appointment__time strong{font-size:14px}.appointment__time small{color:#65736e;white-space:nowrap;font-size:10px;font-weight:700}.appointment__line{opacity:.92;border-radius:999px;width:4px;height:48px}.appointment__main{flex-direction:column;gap:4px;min-width:0;display:flex}.appointment__client{align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:750;display:flex}.appointment__client>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.new-client-pill{color:#8a5a44;letter-spacing:.035em;background:#faf1eb;border:1px solid #d8b9a7;border-radius:999px;flex:none;align-items:center;padding:2px 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.no-show-pill{letter-spacing:.035em;background:#f7edcf;border:1px solid #d4b56b;border-radius:999px;flex:none;align-items:center;padding:2px 5px;line-height:1;display:inline-flex;color:#6f5114!important;font-size:8px!important;font-weight:850!important}.appointment__note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.appointment__note strong{color:var(--ink);font-weight:800}.appointment__note>span{color:#9aa39f;margin:0 2px}.appointment__therapist{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.appointment__therapist i{border-radius:50%;width:6px;height:6px}.appointment__chevron{color:#9ca5a1;font-size:18px}.blocked-time-row{color:#394541;cursor:pointer;width:calc(100% - 24px);min-height:74px;font:inherit;text-align:left;background:repeating-linear-gradient(135deg,#f1f2f0 0 8px,#e9ebe8 8px 16px);border:1px solid #d8dcd8;border-left:3px solid #8a9390;border-radius:11px;grid-template-columns:74px 34px minmax(0,1fr) auto 10px;align-items:center;gap:14px;margin:6px 12px;padding:12px 16px;transition:filter .15s,transform .15s;display:grid}.blocked-time-row:hover{filter:brightness(.98);transform:translateY(-1px)}.blocked-time-row:focus-visible{outline-offset:2px;outline:3px solid #174b4533}.blocked-time-row--readonly:disabled{cursor:default;opacity:1}.blocked-time-row--readonly:disabled:hover{filter:none;transform:none}.blocked-time-row__time{flex-direction:column;gap:3px;display:flex}.blocked-time-row__time strong{font-size:14px}.blocked-time-row__time small,.blocked-time-row__main small{color:#68736f;white-space:nowrap;font-size:10px;font-weight:700}.blocked-time-row__mark{color:#66706c;background:#ffffffa8;border:1px solid #c8ceca;border-radius:50%;place-items:center;width:34px;height:34px;font-size:19px;font-weight:850;display:grid}.blocked-time-row__main{gap:4px;min-width:0;display:grid}.blocked-time-row__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.blocked-time-row__badge{color:#52605b;letter-spacing:.06em;text-transform:uppercase;background:#ffffffb3;border:1px solid #c3cac6;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:850}.blocked-time-row__chevron{color:#7d8984;font-size:18px}.status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;width:max-content;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.status--scheduled{color:#37605c;background:#e5efec}.status--complete{color:#66706c;background:#eceeea}.status--past{color:#66706c;background:#e5e8e4}.status--no-show{color:#6f5114;background:#f7edcf}.login-page{background:radial-gradient(circle at 30% 15%, #e5ece7 0, transparent 30%), var(--cream);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--paper);border-radius:26px;width:min(430px,100%);padding:38px;box-shadow:0 18px 60px #173f3b1f}.login-mark{place-items:center;width:74px;height:74px;margin-bottom:22px;display:grid}.login-mark img{object-fit:contain;width:100%;height:100%;display:block}.login-card h1{margin:9px 0 10px;font-family:Georgia,serif;font-size:38px;font-weight:500}.login-card>p{color:var(--muted);margin:0 0 25px;font-size:13px;line-height:1.65}.login-card form{gap:14px;display:grid}.login-card label{gap:7px;display:grid}.login-card label span{color:var(--muted);font-size:10px;font-weight:750}.login-card input{border:1px solid var(--line);min-height:49px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 14px}.login-card input:focus{outline-offset:1px;outline:2px solid #91afa7}.login-code{letter-spacing:7px;text-align:center;font-size:24px!important;font-weight:750!important}.login-back{justify-self:center}.login-message{color:var(--ink);background:var(--sage-soft);border-radius:10px;margin-top:15px;padding:11px 13px;font-size:11px;line-height:1.5}.login-card>small{color:var(--muted);text-align:center;margin-top:23px;font-size:9px;display:block}.passkey-required-card{width:min(480px,100%)}.passkey-required-card h1{font-size:36px}.passkey-required-summary{background:var(--sage-soft);border:1px solid #cbd9d3;border-radius:14px;gap:5px;margin:20px 0 16px;padding:15px;display:grid}.passkey-required-summary>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:750}.passkey-required-summary>strong{overflow-wrap:anywhere;font-size:12px}.passkey-required-summary>small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.55}.passkey-required-action{width:100%;min-height:48px}.passkey-required-action:disabled{cursor:wait;opacity:.7}.passkey-required-error{color:#8a3f30;background:#fbefeb}.profile-menu__signout,.profile-menu__passkey{margin-top:5px;border-top:1px solid var(--line)!important}.passkey-login{width:100%}.login-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:18px 0;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.alert-panel,.next-panel,.insight-panel{padding:20px}.round-icon{width:36px;height:36px;color:var(--ink);background:var(--sage-soft);border-radius:12px;place-items:center;display:grid}.round-icon svg{width:18px;height:18px}.badge{color:#fff;background:var(--terracotta);border-radius:99px;place-items:center;min-width:23px;height:23px;font-size:10px;font-weight:800;display:grid}.alert-panel h2{margin-top:17px}.alert-list{margin-top:10px;display:grid}.alert-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ecece7;grid-template-columns:8px minmax(0,1fr) 10px;align-items:center;gap:10px;padding:13px 0;display:grid}.alert-list button:last-child{border:0}.alert-list button>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.alert-list strong{font-size:10px;line-height:1.35}.alert-list small{color:var(--muted);font-size:9px}.alert-list i{color:var(--muted);font-style:normal}.alert-dot{background:var(--sage);border-radius:50%;width:7px;height:7px}.alert-dot--warm{background:var(--terracotta)}.change-list{margin-top:10px;display:grid}.change-item{border-bottom:1px solid #ecece7;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;display:grid}.change-item:last-child{border-bottom:0}.change-item>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.change-item strong{font-size:10px}.change-item small{color:var(--muted);font-size:9px}.change-item b{color:#8a533f;text-transform:uppercase;background:#f3e2d8;border-radius:99px;padding:4px 7px;font-size:8px}.change-empty{color:var(--muted);padding:18px 0 4px;font-size:10px;line-height:1.5}.dashboard-lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);align-items:start;gap:18px;display:grid}.dashboard-report-state{flex-direction:column;gap:7px;padding:19px 20px;display:flex}.dashboard-report-state>span{align-items:center;gap:9px;font-size:11px;font-weight:800;display:flex}.dashboard-report-state>span i{background:#5f9b76;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #5f9b761f}.dashboard-report-state>small{color:var(--muted);padding-left:17px;font-size:9px}.dashboard-report-state--warning>span i{background:#d6a76d;box-shadow:0 0 0 4px #d6a76d1f}.next-panel{gap:17px;display:grid}.next-opening{align-items:center;gap:12px;display:flex}.date-tile{color:#fff;background:var(--ink);border-radius:12px;place-items:center;width:48px;height:52px;padding:5px;display:grid}.date-tile small{letter-spacing:.1em;font-size:7px}.date-tile strong{font-family:Georgia,serif;font-size:20px;font-weight:500}.next-opening>span:last-child{flex-direction:column;gap:5px;display:flex}.next-opening strong{font-size:11px}.next-opening small{color:var(--muted);font-size:9px}.week-band{border:1px solid var(--line);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;overscroll-behavior-inline:contain;background:#fffdfaa6;border-radius:20px;position:relative;overflow:hidden}.week-band:active{cursor:grabbing}.week-band__header{border-bottom:1px solid var(--line);background:#f8f8f4;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:54px;display:grid}.week-band__header strong{color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.week-band__header button,.calendar-period-nav button{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-self:center;place-items:center;font-size:19px;display:grid}.week-band__header button:hover,.calendar-period-nav button:hover{background:var(--sage-soft)}.week-band__header .week-band__range{align-items:center;gap:7px;width:auto;min-width:0;max-width:100%;padding:0 11px;font-size:10px;font-weight:800;display:inline-flex}.week-band__range span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-band__range .week-band__range-copy{text-align:center;gap:2px;display:grid;overflow:visible}.week-band__range-copy small{color:var(--sage);letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:850;line-height:1}.week-band__range-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.week-band__range b{color:var(--sage);font-size:13px;line-height:1}.week-band__refresh{display:none!important}.schedule-sticky-controls{z-index:13;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f3ecf7;border:1px solid #dcdad1db;border-radius:18px;align-self:start;gap:8px;padding:10px;display:grid;position:sticky;top:76px;box-shadow:0 9px 24px #193a351a}.app-shell--test-mode .schedule-sticky-controls{top:126px}.schedule-sticky-controls>.schedule-controls{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static}.agenda-week-band{box-shadow:none;background:#fffdfafa;align-self:stretch}.schedule-refresh-control--mobile{display:none}.agenda-week-body,.agenda-week{gap:14px;display:grid}.agenda-week-availability-legend{border:1px solid var(--line);border-radius:12px}.agenda-day{scroll-margin-top:282px;transition:border-color .18s,box-shadow .18s}.app-shell--test-mode .agenda-day{scroll-margin-top:336px}.agenda-day.is-selected{border-color:#406f657a;box-shadow:0 0 0 2px #6f97841c,0 8px 26px #193a350a}.agenda-day__header{background:#fbfaf6}.agenda-day__empty{color:var(--muted);padding:16px 20px 18px;font-size:10px}.week-availability-legend{border-bottom:1px solid var(--line);background:#fff;justify-content:center;align-items:center;gap:14px;min-height:28px;padding:5px 10px 4px;display:flex}.week-availability-legend small{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:750}.week-availability-legend span{color:var(--ink);align-items:center;gap:5px;font-size:8px;font-weight:750;display:inline-flex}.week-availability-legend i{border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 1px #11312e24}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));padding:7px;display:grid}.schedule-controls{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.schedule-view-control{gap:6px;display:grid}.schedule-control-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.view-toggle,.week-navigation{border:1px solid var(--line);background:var(--paper);border-radius:13px;align-items:center;padding:4px;display:inline-flex}.view-toggle button,.week-navigation button{min-width:72px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:10px;font-weight:800}.view-toggle button.is-active{color:#fff;background:var(--ink)}.today-button{border:1px solid var(--line);min-width:72px;height:42px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:13px;padding:0 15px;font-size:10px;font-weight:800}.today-button:hover{background:var(--sage-soft)}.schedule-refresh-control{justify-items:end;gap:6px;display:grid}.schedule-refresh-control>div{grid-template-columns:minmax(72px,1fr) 42px;gap:8px;display:grid}.schedule-refresh-status{min-height:11px;color:var(--muted);letter-spacing:.02em;font-size:9px;font-weight:700}.schedule-refresh-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:13px;place-items:center;padding:0;display:grid}.schedule-refresh-button:hover{background:var(--sage-soft)}.schedule-refresh-button:disabled{cursor:wait;opacity:.55}.schedule-refresh-button svg{width:17px;height:17px}.schedule-refresh-button.is-updating svg,.week-band__refresh.is-updating svg{animation:.85s linear infinite schedule-refresh-spin}@keyframes schedule-refresh-spin{to{transform:rotate(360deg)}}.schedule-skeleton-list{gap:9px;padding:10px;display:grid}.schedule-skeleton-row{background:#f4f6f2;border-radius:13px;grid-template-columns:72px 2px minmax(0,1fr);align-items:center;gap:14px;min-height:78px;padding:13px 15px;display:grid}.schedule-skeleton-block{background:linear-gradient(90deg,#e2e8e2 20%,#f0f3ef 48%,#e2e8e2 76%) 100% 0/220% 100%;border-radius:999px;animation:1.25s ease-in-out infinite schedule-skeleton-shimmer;display:block}.schedule-skeleton-time{width:58px;height:13px}.schedule-skeleton-divider{background:#d9e2db;border-radius:2px;width:2px;height:42px}.schedule-skeleton-copy{gap:10px;display:grid}.schedule-skeleton-copy i{width:min(230px,72%);height:13px}.schedule-skeleton-copy i:last-child{width:min(165px,52%);height:9px}.schedule-skeleton-count{width:72px;height:10px}.week-strip__count-skeleton{height:7px;margin-inline:auto;width:72%!important}@keyframes schedule-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.schedule-refresh-button.is-updating svg,.week-band__refresh.is-updating svg,.schedule-skeleton-block{animation:none}}.schedule-refresh-warning{color:#654719;background:#fff4d8;border:1px solid #9a682047;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:8px 10px 8px 14px;font-size:12px;font-weight:650;display:flex}.schedule-refresh-warning button{min-height:34px;color:inherit;font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #65471940;border-radius:9px;flex:none;padding:0 12px;font-weight:800}.schedule-refresh-warning button:hover{background:#fff}.week-navigation button{min-width:38px}.week-navigation button:nth-child(2){min-width:64px}.view-toggle button:hover:not(.is-active),.week-navigation button:hover{color:var(--ink);background:var(--sage-soft)}.week-panel{overflow:hidden}.solevanta-week-grouping{border-bottom:1px solid var(--line);background:#f7f9f5;justify-content:flex-end;align-items:center;gap:10px;min-height:48px;padding:7px 12px;display:flex}.solevanta-week-grouping>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.solevanta-week-grouping>div{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:3px;display:inline-flex}.solevanta-week-grouping button{min-width:76px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:9px;font-weight:800}.solevanta-week-grouping button:hover:not(.is-active){color:var(--ink);background:var(--sage-soft)}.solevanta-week-grouping button.is-active{color:#fff;background:var(--ink)}.solevanta-week-grid{background:#f7f8f4;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;padding:12px;display:grid}.solevanta-week-day{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;min-height:246px;scroll-margin-top:140px;overflow:hidden}.solevanta-week-day.is-today{border-color:#79a293;box-shadow:0 0 0 2px #dcebe3}.solevanta-week-day>header{background:#fbfaf6;border-bottom:1px solid #e8e9e3}.solevanta-week-day.is-today>header{background:var(--sage-soft)}.solevanta-week-day>header button{width:100%;min-height:65px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;display:flex}.solevanta-week-day>header button:hover{background:#dee9e18c}.solevanta-week-day>header span{gap:2px;display:grid}.solevanta-week-day>header small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.solevanta-week-day>header strong{font-family:Georgia,serif;font-size:21px;font-weight:500}.solevanta-week-day>header em{min-width:24px;color:var(--muted);text-align:right;font-size:9px;font-style:normal;font-weight:800}.solevanta-week-day__appointments{gap:7px;padding:8px;display:grid}.solevanta-week-time-group{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:7px;min-width:0;display:grid}.solevanta-week-day__appointments>p{color:var(--muted);text-align:center;border:1px dashed #d9ddd6;border-radius:9px;margin:0;padding:22px 6px;font-size:9px}.solevanta-week-event{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#f4f6f2;border:0;border-left:3px solid;border-radius:9px;gap:3px;padding:9px;transition:background .15s,transform .15s;display:grid}.solevanta-week-event:hover{background:#edf2ed;transform:translateY(-1px)}.solevanta-week-event small{color:var(--muted);font-size:9px;font-weight:750}.solevanta-week-event strong,.solevanta-week-event span,.solevanta-week-event em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.solevanta-week-event strong{font-size:11px}.solevanta-week-event__client{align-items:center;gap:4px;min-width:0;display:flex}.solevanta-week-event__client>span:first-child{min-width:0;color:inherit;font-size:inherit;font-weight:inherit;flex:0 auto}.solevanta-week-event__client .new-client-pill{color:#8a5a44;flex:none;font-size:10px;font-weight:800}.solevanta-week-event span{color:var(--muted);font-size:9px}.solevanta-week-event em{color:#6f8477;font-size:8px;font-style:normal;font-weight:750}.solevanta-week-event--blocked{background:repeating-linear-gradient(135deg,#f1f2f0 0 7px,#e8eae7 7px 14px);border:1px solid #d2d7d3;border-left:3px solid #858f8b}.solevanta-week-event--blocked:hover{background:repeating-linear-gradient(135deg,#eceeeb 0 7px,#e3e6e2 7px 14px)}.solevanta-week-event--blocked:disabled{cursor:default;opacity:1}.solevanta-week-event--blocked strong{color:#3f4b47}.solevanta-week-event--blocked em{color:#5e6965}.solevanta-week-event.is-no-show{color:#624d22;background:#f2ead8}.solevanta-week-event.is-no-show:hover{background:#ede0c3}.therapist-timeline-list{background:#f7f8f4;gap:12px;padding:12px;display:grid}.therapist-timeline-day{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;scroll-margin-top:140px;overflow:hidden}.therapist-timeline-day.is-today{border-color:#79a293;box-shadow:0 0 0 2px #dcebe3}.therapist-timeline-day>header{border-bottom:1px solid var(--line);background:#fbfaf6}.therapist-timeline-day.is-today>header{background:var(--sage-soft)}.therapist-timeline-day>header button{width:100%;min-height:52px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.therapist-timeline-day>header button:hover{background:#dee9e18c}.therapist-timeline-day>header span{align-items:baseline;gap:7px;display:flex}.therapist-timeline-day>header small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:850}.therapist-timeline-day>header strong{font-family:Georgia,serif;font-size:17px;font-weight:500}.therapist-timeline-day>header em{color:var(--muted);font-size:9px;font-style:normal;font-weight:750}.therapist-timeline-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto}.therapist-timeline{align-items:stretch;display:grid}.therapist-timeline__corner,.therapist-timeline__therapist{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f7f3;align-items:center;min-height:47px;padding:8px 10px;display:flex}.therapist-timeline__corner{z-index:3;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:850;position:sticky;left:0}.therapist-timeline__therapist{color:var(--ink);gap:8px;font-size:10px;font-weight:850}.therapist-timeline__therapist.is-primary{background:#edf4ee}.therapist-timeline__therapist i{border-radius:4px;flex:none;width:4px;height:23px}.therapist-timeline__therapist span{align-items:center;gap:6px;min-width:0;display:flex}.therapist-timeline__therapist small{color:var(--sage);letter-spacing:.04em;text-transform:uppercase;background:#dfeadf;border-radius:99px;padding:2px 5px;font-size:7px;font-weight:900}.therapist-timeline__row{grid-column:1/-1;display:grid}.therapist-timeline__time{z-index:2;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:78px;color:var(--ink);white-space:nowrap;background:#fbfaf6;padding:12px 9px;font-size:10px;font-weight:850;position:sticky;left:0}.therapist-timeline__cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);align-content:start;gap:6px;min-width:0;min-height:78px;padding:7px;display:grid}.therapist-timeline__cell.is-primary{background:#f8fbf8}.therapist-timeline__row:last-child>*{border-bottom:0}.therapist-timeline__cell:last-child{border-right:0}.therapist-timeline__cell .solevanta-week-event{min-height:62px}.therapist-timeline-day__empty{color:var(--muted);text-align:center;margin:0;padding:24px 12px;font-size:10px}.month-panel{overflow:hidden}.month-availability-filter{border-bottom:1px solid var(--line);background:#f7f9f5;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.month-availability-filter>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:8px;font-weight:800}.month-availability-filter>div{scrollbar-width:thin;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.month-availability-filter button{border:1px solid var(--line);min-height:31px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:99px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.month-availability-filter button:hover{background:var(--sage-soft)}.month-availability-filter button.is-active{border-color:var(--ink);color:#fff;background:var(--ink)}.month-availability-filter button>i{border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #11312e29}.month-availability-filter button>small{color:var(--sage);letter-spacing:.05em;text-transform:uppercase;font-size:7px;font-weight:900}.month-availability-filter button.is-active>small{color:#ffffffb8}.calendar-panel-heading{gap:5px;display:grid}.calendar-period-nav{align-items:center;gap:6px;display:flex}.calendar-period-nav button{flex:0 0 32px;width:32px;height:32px}.calendar-period-nav h2{text-align:center;min-width:150px}.month-calendar{background:#fff}.month-calendar__availability-key{border-bottom:1px solid var(--line);background:#fbfcf9;align-items:center;gap:10px;min-height:50px;padding:9px 12px;display:flex}.month-calendar__availability-key>i{border:1px solid;border-radius:8px;flex:none;width:27px;height:27px}.month-calendar__availability-key>span{gap:2px;display:grid}.month-calendar__availability-key strong{font-size:9px}.month-calendar__availability-key small{color:var(--muted);font-size:8px}.month-calendar__weekdays,.month-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-calendar__weekdays{border-bottom:1px solid var(--line);background:#f8f8f4}.month-calendar__weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:10px 6px;font-size:9px;font-weight:800}.month-calendar__grid button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:138px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:5px;padding:9px;display:flex;position:relative}.month-calendar__grid button:nth-child(7n){border-right:0}.month-calendar__grid button:hover{background:#f5f7f2}.month-calendar__grid button:focus-visible{z-index:1;outline:2px solid var(--sage);outline-offset:-3px}.month-calendar__grid button.is-outside{color:#aab0ad;background:#fbfaf7}.month-calendar__grid button.is-today{box-shadow:inset 0 0 0 2px var(--sage)}.month-calendar__grid button.has-availability:not(.is-outside){background:#edf4ee;box-shadow:inset 0 -4px #6f8f76}.month-calendar__grid button.is-today.has-availability{box-shadow:inset 0 0 0 2px var(--sage), inset 0 -4px 0 #6f8f76}.month-calendar__date-row{justify-content:space-between;align-items:baseline;gap:5px;width:100%;display:flex}.month-calendar__date{flex:none;font-family:Georgia,serif;font-size:17px;line-height:1.1}.month-calendar__hours{min-width:0;color:var(--muted);text-align:right;white-space:nowrap;font-size:10px;font-weight:650;line-height:1.15}.month-calendar__hours-compact{display:none}.month-calendar__count{color:var(--muted);font-size:10px;font-weight:750}.month-calendar__count small{font-size:inherit;font-weight:inherit}.month-calendar__previews{gap:3px;width:100%;display:grid}.month-calendar__preview{min-width:0;color:var(--ink);grid-template-columns:3px auto minmax(0,1fr);align-items:baseline;gap:5px;font-size:11px;line-height:1.3;display:grid}.month-calendar__preview>i{border-radius:99px;grid-row:1;align-self:center;width:3px;height:10px}.month-calendar__preview.is-secondary{border-top:1px solid #eceee9;margin-top:2px;padding-top:4px}.month-calendar__preview time{color:var(--muted);white-space:nowrap;font-size:10px}.month-calendar__preview>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-calendar__more{color:#476553;font-size:10px;font-weight:750}.month-calendar__markers{flex-wrap:wrap;align-items:center;gap:4px;margin-top:auto;display:flex}.month-calendar__markers em{color:#42634b;letter-spacing:.03em;text-transform:uppercase;background:#ffffffb8;border-radius:99px;padding:3px 7px;font-size:8px;font-style:normal;font-weight:850}.month-calendar__blocked{color:#56635e;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:#f4f5f3eb;border:1px solid #cbd1cd;border-radius:999px;max-width:100%;padding:3px 7px;font-weight:850;line-height:1;font-family:inherit!important;font-size:8px!important}.week-calendar-wrap{overscroll-behavior-inline:contain;overflow-x:auto}.week-calendar{background:#fff}.week-calendar__head{z-index:4;border-bottom:1px solid var(--line);background:#fbfaf6;grid-template-columns:74px repeat(7,minmax(116px,1fr));display:grid;position:sticky;top:0}.week-calendar__head>button,.week-calendar__corner{border:0;border-left:1px solid var(--line);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:58px;display:flex}.week-calendar__head>button{cursor:pointer}.week-calendar__head>button:hover{background:#eef3ed}.week-calendar__corner{color:var(--muted);border-left:0;font-size:9px;font-weight:750}.week-calendar__head strong{font-size:10px}.week-calendar__head small{color:var(--muted);font-size:9px}.week-calendar__head .is-today{color:var(--ink);background:var(--sage-soft)}.week-calendar__body{grid-template-columns:74px repeat(7,minmax(116px,1fr));display:grid}.week-calendar__times{border-right:1px solid var(--line);background:#fbfaf6;position:relative}.week-calendar__times span{color:var(--muted);white-space:nowrap;font-size:8px;position:absolute;left:8px;transform:translateY(-50%)}.week-calendar__day{border-right:1px solid var(--line);background:#fff;position:relative}.week-calendar__day.is-today{background:#e8eee754}.week-calendar__line{background:#ebece7;height:1px;position:absolute;left:0;right:0}.week-event{z-index:2;color:#fff;cursor:pointer;text-align:left;border:0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;padding:5px 6px;display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff47,0 2px 5px #11312e1f}.week-event:hover{z-index:3;filter:brightness(.94)}.week-event strong{font-size:8px;font-weight:800}.week-event span{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:9px;font-weight:750;line-height:1.15;overflow:hidden}.week-event small{color:#ffffffd1;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7px;overflow:hidden}.mobile-week-agenda{display:none}.week-strip button{cursor:pointer;background:0 0;border:0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:90px;display:flex}.week-strip button:hover{background:var(--sage-soft)}.week-strip button.is-active{color:#fff;background:var(--ink)}.week-strip small{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.week-strip button.is-active small,.week-strip button.is-active span{color:#ffffffa6}.week-strip strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.week-strip span{color:var(--muted);font-size:8px}.week-strip .week-strip__availability{background:#e4e7e2;border-radius:999px;gap:2px;width:min(38px,82%);height:5px;margin-top:2px;display:flex;overflow:visible}.week-strip .week-strip__availability b{border-radius:999px;flex:1;min-width:0}.week-strip button.is-active .week-strip__availability{background:#ffffff2e}.week-strip button.is-active .week-strip__availability b{box-shadow:0 0 0 1px #ffffff80}.client-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.client-metric-button{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative}.client-metric-button:hover{border-color:#9db7ae;transform:translateY(-2px);box-shadow:0 10px 25px #193a3517}.client-metric-button:focus-visible{outline-offset:2px;outline:3px solid #275f5a47}.client-metric-button.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink), 0 8px 24px #193a3514}.client-metric-button>b{color:#37605c;opacity:0;margin-top:8px;font-size:8px;font-weight:800;transition:opacity .16s}.client-metric-button:hover>b,.client-metric-button.is-active>b{opacity:1}.client-directory-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.client-loading-progress{color:var(--ink);background:#f4f8f4;border:1px solid #cfded7;border-radius:14px;gap:10px;padding:14px 16px;display:grid;box-shadow:0 8px 24px #193a350f}.client-loading-progress>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.client-loading-progress strong{font-size:11px}.client-loading-progress span{color:var(--muted);font-size:9px}.client-loading-progress__track{background:#dce7e0;border-radius:999px;height:6px;position:relative;overflow:hidden}.client-loading-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), var(--ink), var(--sage));width:42%;animation:1.25s ease-in-out infinite client-loading;position:absolute;inset:0 auto 0 0}@keyframes client-loading{0%{transform:translate(-110%)}to{transform:translate(340%)}}.client-review-note{color:#765245;background:#fbefe8;border:1px solid #e7c9b8;border-radius:13px;align-items:center;gap:10px;padding:12px 15px;font-size:10px;display:flex}.client-review-note strong{flex:none}.client-duplicate-groups{gap:12px;display:grid}.client-duplicate-groups+.clients-panel{display:none}.client-duplicate-group{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 8px 24px #193a350d}.client-duplicate-group>header{border-bottom:1px solid var(--line);background:#f5f7f3;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 15px;display:flex}.client-duplicate-group>header>span{gap:3px;display:grid}.client-duplicate-group>header strong{color:var(--ink);font-size:13px}.client-duplicate-group>header small{color:var(--muted);font-size:10px}.client-duplicate-group>header>div{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.client-duplicate-group>header em{color:#37605c;background:#fff;border:1px solid #cad8d1;border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:750}.client-duplicate-group>div{display:grid}.client-duplicate-group>div>button{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #ecece7;grid-template-columns:36px minmax(0,1fr) 10px;align-items:center;gap:11px;padding:12px 15px;display:grid}.client-duplicate-group>div>button:first-child{border-top:0}.client-duplicate-group>div>button:hover{background:var(--sage-soft)}.client-duplicate-group>div>button>span:nth-child(2){gap:3px;min-width:0;display:grid}.client-duplicate-group>div>button strong,.client-duplicate-group>div>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-duplicate-group>div>button strong{font-size:13px}.client-duplicate-group>div>button small{color:var(--muted);font-size:10px}.client-duplicate-group>div>button>b{color:#8c9792;font-size:18px;font-weight:500}.search-field{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:10px;max-width:420px;padding:0 13px;display:flex}.search-field svg{width:17px;color:var(--muted)}.search-field input{width:100%;height:43px;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.client-filters{align-items:center;gap:4px;display:flex}.client-filters button{min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:7px 10px;font-size:9px;font-weight:750}.client-filters button:hover{background:var(--sage-soft)}.client-filters button.is-active{color:#fff;background:var(--ink)}.client-directory-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.72fr);align-items:start;gap:18px;display:grid}.clients-panel{min-width:0;padding:16px 20px 20px}.client-selected-layout{gap:14px;display:grid}.client-selected-bar{background:var(--sage-soft);border:1px solid #cfded7;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.client-selected-bar>div{gap:3px;min-width:0;display:grid}.client-selected-bar>div>strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.client-selected-bar>div>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.client-selected-bar .button{flex:none}.client-top-back{min-height:42px;padding-inline:12px}.client-top-back b{font-size:15px;font-weight:600;line-height:1}.client-selected-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.client-selected-stack{grid-template-columns:1fr;gap:14px;display:grid}.client-upcoming-panel{order:2;padding:0;overflow:hidden}.client-upcoming-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:17px 20px;display:flex}.client-upcoming-panel>header h2{margin:4px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:500}.client-upcoming-panel>header>strong{color:#fff;background:var(--ink);border-radius:50%;place-items:center;min-width:38px;height:38px;font-size:13px;display:grid}.client-upcoming-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#9fb3aa transparent;max-height:380px;display:grid;overflow-y:auto}.client-upcoming-list>button{min-height:76px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #ecece7;grid-template-columns:150px minmax(0,1fr) 12px;align-items:center;gap:16px;padding:13px 20px;transition:background .16s;display:grid}.client-upcoming-list>button:first-child{border-top:0}.client-upcoming-list>button:hover{background:var(--sage-soft)}.client-upcoming-list>button>span{gap:4px;min-width:0;display:grid}.client-upcoming-list>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.client-upcoming-list>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.client-upcoming-list .client-upcoming-date strong{color:#37605c;font-size:12px}.client-upcoming-list>button>b{color:#9ca5a1;font-size:20px;font-weight:400}.client-table{width:100%}.client-table__head,.client-row{grid-template-columns:1.35fr 1.25fr .82fr .62fr;align-items:center;gap:18px;display:grid}.client-table__head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 12px 10px;font-size:9px;font-weight:800}.client-row{text-align:left;background:0 0;border:0;border-top:1px solid #ecece7;width:100%;padding:13px 12px;transition:background .16s;position:relative}.client-row:hover{background:#f8f8f4}.client-row.is-selected{background:var(--sage-soft)}.client-row__target{z-index:0;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.client-row__target:focus-visible{outline-offset:-3px;outline:3px solid #275f5a47}.client-cell{z-index:1;pointer-events:none;flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.client-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.client-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.client-cell--contact{pointer-events:auto;align-items:flex-start}.client-cell--contact a{max-width:100%;color:var(--ink);text-underline-offset:3px;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750;-webkit-text-decoration:underline #a9bdb4;text-decoration:underline #a9bdb4;overflow:hidden}.client-cell--contact a+a{color:var(--muted);font-size:9px;font-weight:500}.client-cell--contact a:hover{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.client-cell--name{flex-direction:row;align-items:center;gap:10px}.client-cell--name>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.client-detail-panel{order:1;padding:20px}.client-detail-panel>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:18px;display:flex}.client-detail-panel>header .avatar{background:var(--ink);flex-basis:48px;width:48px;height:48px}.client-detail-panel>header>div{min-width:0}.client-detail-panel>header h2{margin:3px 0 2px;font-family:Georgia,serif;font-size:25px;font-weight:500}.client-detail-panel>header small{color:var(--muted);font-size:9px}.client-profile__contact-quick{margin:6px 0 5px}.client-profile__contact-quick a{font-size:9px}.client-detail-section{border-bottom:1px solid var(--line);padding:18px 0}.client-detail-section .eyebrow{margin-bottom:11px;display:block}.client-detail-section .detail-row{padding:7px 0}.client-detail-section .detail-row strong{overflow-wrap:anywhere;text-align:right;max-width:64%}.client-history-button{text-transform:capitalize;width:100%;margin-top:13px}.client-history-panel{order:3;padding:14px}.client-history-panel .client-history-button{margin-top:0}.client-appointment-history{border:1px solid var(--line);background:#fff;border-radius:12px;gap:0;max-height:360px;margin-top:12px;display:grid;overflow-y:auto}.client-appointment-history>p{color:var(--muted);text-align:center;margin:0;padding:18px 12px;font-size:10px}.client-appointment-history article{border-top:1px solid #ecece7;grid-template-columns:.8fr 1.2fr;gap:12px;padding:11px 12px;display:grid}.client-appointment-history article:first-child{border-top:0}.client-appointment-history article>div{flex-direction:column;gap:3px;min-width:0;display:flex}.client-appointment-history article>div:last-child{text-align:right}.client-appointment-history article strong{overflow-wrap:anywhere;font-size:9px}.client-appointment-history article span{color:var(--muted);font-size:8px;line-height:1.35}.client-appointment-history__button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ecece7;grid-template-columns:.8fr 1.2fr auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.client-appointment-history__button:first-of-type{border-top:0}.client-appointment-history__button:hover,.client-appointment-history__button:focus-visible{background:var(--sage-soft)}.client-appointment-history__button>div{flex-direction:column;gap:3px;min-width:0;display:flex}.client-appointment-history__button>div:nth-child(2){text-align:right}.client-appointment-history__button strong{overflow-wrap:anywhere;font-size:9px}.client-appointment-history__button span{color:var(--muted);font-size:8px;line-height:1.35}.client-appointment-history__button>b{color:var(--sage);font-size:18px;font-weight:400}.client-appointment-history__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.appointment-history-status{text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;min-height:18px;padding:2px 7px;font-size:7px;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.appointment-history-status--danger{color:#963f30;background:#faeae6;border-color:#edc4bb}.appointment-history-status--complete{color:#2d6848;background:#e5f1e9;border-color:#c5dece}.appointment-history-status--scheduled{color:#236862;background:#e3f0ef;border-color:#bdd9d6}.appointment-history-status--neutral{color:#75664d;background:#f3f0e8;border-color:#ddd7c9}.appointment-history-status--no-show{color:#6f5114;background:#f7edcf;border-color:#d4b56b}.client-soap-panel{gap:14px;padding:20px;display:grid}.client-soap-panel>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.client-soap-panel>header h2{margin:5px 0 4px}.client-soap-panel>header p{color:var(--muted);margin:0;font-size:10px}.client-soap-panel>header>div:last-child{gap:8px;display:flex}.soap-history{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.soap-history>button{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(175px,.55fr) minmax(0,1.45fr) auto;align-items:start;gap:18px;padding:15px 16px;display:grid}.soap-history>button:first-of-type{border-top:0}.soap-history>button:hover{background:var(--sage-soft)}.soap-history>button>span:first-child{gap:4px;display:grid}.soap-history>button strong{font-size:10px}.soap-history>button small{color:var(--muted);font-size:8px}.soap-history>button>span:nth-child(2){color:var(--muted);white-space:pre-wrap;font-size:10px;line-height:1.55}.soap-history>button>b{color:var(--sage);font-size:20px;font-weight:400}.soap-history__filters{border:1px solid var(--line);background:var(--sage-soft);border-radius:12px;align-items:end;gap:10px;padding:12px;display:flex}.soap-history__filters label{min-width:138px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;gap:5px;font-size:8px;font-weight:800;display:grid}.soap-history__filters input{border:1px solid var(--line);width:100%;height:36px;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none;background:#fff;border-radius:9px;padding:0 9px;font-size:10px}.soap-history__filters .text-button{min-height:36px;padding-inline:9px}.client-book-button{width:100%;margin-top:18px}.client-contact-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.client-contact-actions .button,.client-book-button{text-transform:capitalize;width:100%}.client-contact-actions .is-disabled{pointer-events:none;opacity:.42}.client-delete-review{color:#7a4f3f;background:#f9e8df;border-radius:12px;flex-direction:column;gap:4px;margin-top:15px;padding:12px;display:flex}.client-delete-review--warning{color:#765b34;background:#f4ead5}.client-delete-review strong{font-size:10px}.client-delete-review small{font-size:9px;line-height:1.45}.client-create-drawer{max-width:520px}.empty-state{color:var(--muted);text-align:center;padding:50px 12px 30px;font-size:12px}@media (prefers-reduced-motion:reduce){.client-loading-progress__track span{width:65%;animation:none}}.availability-panel{padding:0;overflow:hidden}.availability-panel>.panel__header{padding:20px 22px}.availability-panel__actions{align-items:center;gap:14px;display:flex}.service-availability-explainer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sage-soft);gap:5px;padding:16px 22px;display:grid}.service-availability-explainer strong{font-size:11px}.service-availability-explainer span{color:var(--muted);font-size:9px;line-height:1.5}.service-availability-list{background:var(--line);gap:1px;display:grid}.service-availability-therapist{background:var(--paper)}.service-availability-therapist>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:12px 22px;display:flex}.service-availability-therapist>header span{align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.service-availability-therapist>header i{border-radius:50%;width:9px;height:9px}.service-availability-therapist>header small{color:var(--muted);font-size:9px}.service-availability-therapist>div{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:14px;display:grid}.service-availability-period{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.service-availability-period>header{border-bottom:1px solid var(--line);background:#fafaf7;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.service-availability-period>header>div{align-items:center;gap:7px;font-size:10px;font-weight:750;display:flex}.service-availability-period>header>div b{color:var(--muted);font-weight:500}.service-availability-period>header>small{max-width:150px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.service-availability-days{display:grid}.service-availability-day{border-bottom:1px solid #eeeeea;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;min-height:51px;padding:8px 12px;display:grid}.service-availability-day:last-child{border-bottom:0}.service-availability-day>strong{font-size:9px}.service-availability-day>span{flex-wrap:wrap;gap:6px;display:flex}.service-availability-day button{min-width:94px;color:var(--ink);background:var(--sage-soft);cursor:pointer;text-align:left;border:1px solid #d7e2dc;border-radius:9px;gap:2px;padding:7px 29px 7px 9px;display:grid;position:relative}.service-availability-day button:disabled{cursor:default;opacity:.7}.service-availability-day button b,.service-availability-day button small{color:var(--ink);font-size:9px;font-weight:700}.service-availability-day button em{color:var(--muted);text-transform:uppercase;font-size:7px;font-style:normal;font-weight:800;position:absolute;top:7px;right:7px}.availability-week{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(120px,1fr));display:grid;overflow-x:auto}.availability-day{border-right:1px solid var(--line);background:#fff;min-height:320px}.availability-day:last-child{border-right:0}.availability-day.is-today{background:#e8eee75c}.availability-day>header{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:62px;display:flex}.availability-day>header strong{font-size:10px}.availability-day>header small{color:var(--muted);font-size:9px}.availability-day>div{gap:12px;padding:12px 8px;display:grid}.availability-day>div>p{color:var(--muted);text-align:center;margin:12px 0;font-size:9px}.availability-therapist{gap:6px;display:grid}.availability-therapist h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin:0;font-size:8px;display:flex}.availability-therapist h3 i{border-radius:50%;width:7px;height:7px}.availability-slot{color:var(--ink);background:var(--sage-soft);cursor:pointer;text-align:left;border:1px solid #dce6df;border-radius:10px;flex-direction:column;gap:2px;padding:9px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.availability-slot:hover:not(:disabled){border-color:#88a39a;transform:translateY(-1px);box-shadow:0 6px 14px #193a351a}.availability-slot:disabled{cursor:default;opacity:.7}.availability-slot strong{font-size:10px}.availability-slot span,.availability-slot small{color:var(--muted);font-size:8px}.availability-slot b{color:var(--ink);opacity:0;text-transform:uppercase;font-size:7px;position:absolute;top:8px;right:8px}.availability-slot:hover b{opacity:1}.availability-panel>footer{justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.availability-panel>footer span{max-width:650px;color:var(--muted);font-size:9px;line-height:1.5}.availability-drawer{max-width:570px}.availability-days{border:0;padding:0}.availability-days legend{color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:750}.availability-days>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.availability-days button{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;font-size:13px;font-weight:750}.availability-days button.is-active{color:#fff;border-color:var(--ink);background:var(--ink)}.availability-date-range label.is-disabled{opacity:.55}.availability-ongoing{border:1px solid var(--line);cursor:pointer;background:#fafaf7;border-radius:12px;align-items:flex-start;padding:12px 13px;flex-direction:row!important;gap:10px!important;display:flex!important}.availability-ongoing input{width:17px;accent-color:var(--ink);margin-top:1px;min-height:17px!important}.availability-ongoing>span{gap:3px;display:grid}.availability-ongoing strong{font-size:14px}.availability-ongoing small{color:var(--muted);font-size:12px;line-height:1.45}.availability-day-schedules{gap:10px;display:grid}.availability-day-schedules>section{border:1px solid var(--line);background:#fafaf7;border-radius:13px;overflow:hidden}.availability-day-schedules>section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.availability-day-schedules>section>header strong{font-size:14px}.availability-day-schedules>section>header small{color:var(--muted);font-size:12px}.availability-day-schedules .availability-time-ranges{padding:11px}.availability-time-ranges{border:0;gap:9px;padding:0;display:grid}.availability-time-ranges legend{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:750}.availability-time-ranges>div{grid-template-columns:1fr 1fr 32px;align-items:end;gap:9px;display:grid}.availability-time-ranges>div label{min-width:0}.availability-time-ranges>div>button{border:1px solid var(--line);width:32px;height:42px;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;font-size:18px}.availability-time-ranges__add{justify-self:start}.schedule-heading-actions .button.is-active{color:#fff;border-color:var(--ink);background:var(--ink)}.sample-note{color:#785d50;background:#f6eae2;border:1px solid #e8d6c8;border-radius:13px;align-items:center;gap:9px;padding:11px 14px;font-size:10px;display:flex}.sample-note span{color:#fff;background:var(--terracotta);text-transform:uppercase;letter-spacing:.06em;border-radius:7px;padding:4px 7px;font-size:8px;font-weight:800}.report-grid{grid-template-columns:minmax(0,1.6fr) minmax(270px,.8fr);gap:18px;display:grid}.chart-panel{min-height:330px}.bar-chart{gap:26px;padding:36px 24px;display:grid}.bar-row{grid-template-columns:90px minmax(0,1fr) 32px;align-items:center;gap:14px;display:grid}.bar-row__label{align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.bar-row__label i{border-radius:50%;width:8px;height:8px}.bar-track{background:#edf0eb;border-radius:99px;height:10px;overflow:hidden}.bar-track i{border-radius:inherit;height:100%;display:block}.bar-row>strong{text-align:right;font-family:Georgia,serif;font-size:16px;font-weight:500}.month-chart{grid-template-columns:repeat(4,1fr);align-items:end;gap:20px;height:235px;padding:30px 30px 22px;display:grid}.month-chart>div{text-align:center;grid-template-rows:1fr auto;gap:9px;height:100%;display:grid}.month-chart>div>span{justify-content:center;align-items:flex-end;display:flex}.month-chart i{background:var(--sage);border-radius:8px 8px 3px 3px;width:44px;min-height:12px}.month-chart small{color:var(--muted);font-size:9px}.insight-panel h2{margin-top:10px;font-size:27px;line-height:1.15}.insight-panel>p{color:var(--muted);font-size:11px;line-height:1.65}.insight-stat{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.insight-stat span{color:var(--muted);font-size:10px}.insight-stat strong{font-size:11px}.report-section-tabs{border:1px solid var(--line);background:var(--paper);border-radius:17px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid}.report-section-tabs--owner{grid-template-columns:repeat(7,minmax(0,1fr))}.report-section-tabs button{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;gap:4px;padding:12px 13px;display:grid}.report-section-tabs button:hover{background:var(--sage-soft)}.report-section-tabs button.is-active{color:#fff;background:var(--ink)}.report-section-tabs strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.report-section-tabs small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.report-section-tabs button.is-active small{color:#ffffffa6}.report-overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.owner-revenue-panel{color:#fff;background:var(--ink);box-shadow:var(--shadow);border-radius:21px;grid-template-columns:minmax(0,1.8fr) minmax(240px,.7fr);align-items:center;gap:24px;padding:22px 24px;display:grid}.owner-revenue-panel>div:first-child{grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;display:grid}.owner-revenue-panel .eyebrow{color:#bdd0ca}.owner-revenue-panel h2{grid-column:2;margin:0;font-family:Georgia,serif;font-size:23px;font-weight:500}.owner-revenue-panel p{color:#ffffffa6;grid-column:2;margin:0;font-size:9px;line-height:1.55}.owner-only-badge{text-transform:uppercase;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff40;border-radius:99px;grid-row:1/4;align-self:start;padding:6px 9px;font-size:8px;font-weight:800}.owner-revenue-source{border-left:1px solid #ffffff29;grid-template-columns:9px 1fr;gap:4px 9px;padding-left:22px;display:grid}.owner-revenue-source>span{background:#d6a76d;border-radius:50%;grid-row:1/3;width:9px;height:9px;margin-top:2px;box-shadow:0 0 0 4px #d6a76d21}.owner-revenue-panel--live .owner-revenue-source>span{background:#8dc5a9;box-shadow:0 0 0 4px #8dc5a924}.owner-revenue-source strong{font-size:10px}.owner-revenue-source small{color:#fff9;font-size:8px}.financial-snapshot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;display:grid}.financial-snapshot-grid article{border:1px solid var(--line);background:var(--paper);border-radius:17px;flex-direction:column;min-height:112px;padding:16px 17px;display:flex;box-shadow:0 5px 18px #223a3609}.financial-snapshot-grid span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:850}.financial-snapshot-grid strong{margin:9px 0 6px;font-family:Georgia,serif;font-size:20px;font-weight:500}.financial-snapshot-grid small{color:var(--muted);margin-top:auto;font-size:8px;line-height:1.4}.report-opportunity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.report-opportunity-grid article,.report-opportunity-card{min-height:115px;color:var(--ink);font:inherit;text-align:left;background:#e7efeb;border:1px solid #c9d9d2;border-radius:18px;flex-direction:column;padding:18px 20px;display:flex}.report-opportunity-card{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.report-opportunity-card:hover{border-color:#8dab9f;transform:translateY(-2px);box-shadow:0 10px 24px #275f5a1a}.report-opportunity-card:focus-visible{outline-offset:2px;outline:3px solid #275f5a47}.report-opportunity-grid span{color:#437069;letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:850}.report-opportunity-grid strong{margin:8px 0 5px;font-family:Georgia,serif;font-size:22px;font-weight:500}.report-opportunity-grid small{color:var(--muted);margin-top:auto;font-size:9px}.report-opportunity-card b{color:#37605c;margin-top:8px;font-size:9px;font-weight:850}.report-detail-panel{overflow:hidden}.report-detail-header{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfcf9,#eef4f0);gap:18px;padding:22px 24px;display:grid}.report-detail-header>div{gap:7px;display:grid}.report-detail-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500;line-height:1.1}.report-detail-header p{max-width:720px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.report-detail-back{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:10px;justify-self:start;padding:8px 11px;font-size:12px;font-weight:800}.report-detail-back:hover{background:var(--sage-soft);border-color:#9db7ae}.report-detail-back:focus-visible{outline-offset:2px;outline:3px solid #275f5a47}.report-detail-list{display:grid}.report-detail-row{border-bottom:1px solid #e7e9e4;grid-template-columns:minmax(125px,.65fr) minmax(220px,1.5fr) minmax(170px,1fr) minmax(90px,.5fr);align-items:center;gap:18px;min-height:82px;padding:15px 24px;display:grid}.report-detail-row:last-child{border-bottom:0}.report-detail-row>span{gap:4px;min-width:0;display:grid}.report-detail-row>span:nth-child(3){grid-template-columns:9px minmax(0,1fr);column-gap:8px}.report-detail-row>span:nth-child(3) i{border-radius:50%;grid-row:1/3;width:9px;height:9px;margin-top:3px}.report-detail-row--client>span:nth-child(3){grid-template-columns:minmax(0,1fr)}.report-detail-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;overflow:hidden}.report-detail-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.report-detail-row>b{justify-self:end;font-size:13px}.report-detail-column-head{border-bottom:1px solid var(--line);background:#f8f9f6;grid-template-columns:minmax(125px,.65fr) minmax(220px,1.5fr) minmax(170px,1fr) minmax(90px,.5fr);align-items:center;gap:18px;padding:9px 24px;display:grid}.report-detail-column{min-width:0}.report-detail-column button{min-height:28px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:3px 5px;font-size:10px;font-weight:800;display:inline-flex}.report-detail-column button:hover,.report-detail-column button[aria-pressed=true]{color:var(--ink);background:#edf3ef}.report-detail-column button:focus-visible{outline-offset:1px;outline:3px solid #275f5a47}.therapist-report-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:5px;display:flex}.therapist-report-toolbar>span{color:var(--muted);font-size:11px}.therapist-report-toolbar>div{flex-wrap:wrap;gap:7px;display:flex}.therapist-report-toolbar button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800}.therapist-report-toolbar button:hover:not(:disabled){background:var(--sage-soft);border-color:#9db7ae}.therapist-report-toolbar button:focus-visible{outline-offset:2px;outline:3px solid #275f5a47}.therapist-report-toolbar button:disabled{opacity:.5;cursor:not-allowed}.therapist-report-export-message{color:var(--muted);font-size:12px!important}.report-therapist-row{border-bottom:1px solid #ecece7;grid-template-columns:minmax(170px,1.5fr) minmax(80px,.65fr) minmax(65px,.55fr) minmax(80px,.55fr);align-items:center;gap:14px;min-height:62px;padding:12px 20px;display:grid}.report-therapist-row--interactive{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0}.report-therapist-row--interactive:hover{background:#f8f8f4}.report-therapist-row--interactive:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #275f5a47;position:relative}.report-therapist-row:last-child{border-bottom:0}.report-therapist-row>span:first-child{align-items:center;gap:9px;display:flex}.report-therapist-row__identity{gap:3px;min-width:0;display:grid}.report-therapist-row i{border-radius:50%;width:8px;height:8px}.report-therapist-row strong,.report-therapist-row b{font-size:10px}.report-therapist-row>span:not(:first-child){gap:3px;display:grid}.report-therapist-row small{color:var(--muted);font-size:8px}.report-therapist-row>b{text-align:right}.report-library>button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ecece7;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:13px 18px;display:flex}.report-library>button:last-child{border-bottom:0}.report-library>button:hover{background:#f8f8f4}.report-library>button span{gap:3px;display:grid}.report-library>button strong{font-size:9px}.report-library>button small{color:var(--muted);font-size:8px}.report-library>button b{white-space:nowrap;font-size:8px}.therapist-private-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.private-report-note{padding:24px}.private-report-note h2{margin:9px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:500}.private-report-note p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.monthly-automation-panel{grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr);gap:28px;padding:25px;display:grid}.monthly-automation-panel h2{margin:9px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:500}.monthly-automation-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.monthly-automation-panel>div:last-child{background:var(--sage-soft);border-radius:13px;align-self:center;gap:5px;padding:15px;display:grid}.monthly-automation-panel>div:last-child strong{font-size:10px}.monthly-automation-panel>div:last-child small{color:var(--muted);font-size:9px;line-height:1.45}.monthly-delivery-state{position:relative;padding-left:35px!important}.monthly-delivery-state>span{background:#5f9b76;border-radius:50%;width:8px;height:8px;position:absolute;top:19px;left:15px;box-shadow:0 0 0 4px #5f9b761f}.drawer-layer{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;background:#0c1f1d5c;justify-content:flex-end;display:flex;position:fixed;inset:0}.cancel-confirm-layer{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1f1d7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.cancel-confirm{background:var(--paper);border:1px solid #8a3f3038;border-radius:20px;gap:14px;width:min(480px,100%);max-height:min(92vh,760px);padding:24px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #0c1f1d47}.cancel-confirm h3,.cancel-confirm p{margin:0}.cancel-confirm h3{font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.16}.cancel-confirm p,.cancel-confirm>small{color:var(--muted);font-size:13px;line-height:1.5}.cancel-confirm dl{border:1px solid var(--line);background:var(--line);border-radius:13px;gap:1px;margin:0;display:grid;overflow:hidden}.cancel-confirm dl>div{background:#fbfaf6;grid-template-columns:92px 1fr;gap:12px;padding:11px 12px;display:grid}.cancel-confirm dt{color:var(--muted);font-size:11px;font-weight:800}.cancel-confirm dd{color:var(--ink);text-align:right;margin:0;font-size:12px;font-weight:750}.cancel-confirm__note{gap:7px;display:grid}.cancel-confirm__note>span{color:var(--ink);justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;font-weight:800;display:flex}.cancel-confirm__note>span small{color:#8a533f;font-size:10px;font-weight:750}.cancel-confirm__note textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:86px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:11px 12px;font-size:13px;line-height:1.45}.cancel-confirm__note textarea:focus{border-color:#789a90;outline:3px solid #406f6529}.cancel-confirm__recipients{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;display:flex}.cancel-confirm__recipients legend{width:100%;color:var(--muted);margin-bottom:1px;font-size:11px;font-weight:800}.cancel-confirm__recipients label{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#fbfaf6;border-radius:10px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:750;display:inline-flex}.cancel-confirm__recipients input{width:16px;height:16px;accent-color:var(--ink)}.cancel-confirm>div:last-child{grid-template-columns:1fr 1fr;gap:9px;margin-top:2px;display:grid}.cancel-confirm>div:last-child .button{min-height:46px}.no-show-confirm{border-color:#ad822247}.drawer-more-actions{align-content:start;width:min(380px,100%)}.drawer-more-actions__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.drawer-more-actions__header h3{margin-top:5px}.drawer-more-actions>.button{width:100%;min-height:48px}.action-success-toast{z-index:110;color:#1f4d3a;background:#f4faf5fa;border:1px solid #bfd4c5;border-radius:14px;align-items:center;gap:10px;width:min(420px,100vw - 32px);min-height:52px;padding:9px 9px 9px 14px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 42px #11312e2e}.action-success-toast>span{color:#fff;background:#4f8b68;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid}.action-success-toast strong{flex:1;min-width:0;font-size:12px;line-height:1.4}.action-success-toast button{color:#547069;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:grid}.action-success-toast button:hover{background:#1f4d3a14}.drawer{background:var(--paper);width:min(460px,100%);height:100%;padding:25px;font-size:16px;line-height:1.5;animation:.22s ease-out slide-in;overflow-y:auto;box-shadow:-18px 0 60px #11312e33}.drawer__handle{display:none}@keyframes slide-in{0%{opacity:.7;transform:translate(24px)}}.drawer__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:22px;display:flex}.drawer__header>div{flex:1;min-width:0}.drawer__header h2{margin:13px 0 6px;font-family:Georgia,serif;font-size:34px;font-weight:500}.drawer__header p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.drawer .eyebrow{font-size:12px}.drawer .button{font-size:14px}.drawer .status{font-size:11px}.drawer__client-name{max-width:100%;color:inherit;font:inherit;text-align:left;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.drawer__client-name:hover,.drawer__client-name:focus-visible{color:var(--green)}.drawer__profile-link{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:800}.drawer__profile-link:hover,.drawer__profile-link:focus-visible{text-underline-offset:3px;text-decoration:underline}.drawer__contact-quick{z-index:5;justify-items:start;gap:4px;max-width:min(100%,420px);margin:5px 0 9px;display:grid;position:relative}.drawer__contact-quick>span{min-width:0;max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.4;overflow:hidden}.drawer__contact-quick a{z-index:1;min-width:0;max-width:100%;min-height:30px;color:var(--green);pointer-events:auto;touch-action:manipulation;text-underline-offset:3px;background:#f0f5f1;border:1px solid #d8e4dc;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 6px;font-size:14px;font-weight:800;line-height:1.4;-webkit-text-decoration:underline #82a092;text-decoration:underline #82a092;display:inline-flex;position:relative}.drawer__contact-quick a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawer__contact-quick a svg{flex:0 0 15px;width:15px;height:15px}.drawer__contact-quick a:hover,.drawer__contact-quick a:focus-visible{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);background:#e7f0e9;border-color:#9eb4aa}.contact-phone-actions{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:flex}.drawer__contact-quick a.contact-text-action{color:#315f59;background:#f5f8f5;border-color:#dce7e0;padding-inline:8px 10px;text-decoration-color:#a7bbb2}.drawer__contact-quick a.contact-text-action:hover,.drawer__contact-quick a.contact-text-action:focus-visible{color:var(--ink);background:#ebf2ed;border-color:#adc0b7}.drawer__when{background:var(--sage-soft);border:1px solid #dce5de;border-radius:12px;gap:4px;margin-top:14px;padding:11px 13px;display:grid}.drawer__when strong{color:var(--ink);font-size:16px;line-height:1.35}.drawer__when span{color:var(--muted);font-size:14px;line-height:1.35}.drawer__when small{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.4;overflow:hidden}.soap-editor{gap:12px;display:grid}.soap-editor__heading{gap:4px;display:grid}.soap-editor__heading small{color:var(--muted);font-size:12px}.soap-editor textarea{resize:vertical;width:100%;min-height:132px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cfd7d1;border-radius:12px;padding:13px 14px;font-size:15px;line-height:1.55}.soap-editor textarea:focus{outline:2px solid var(--sage)}@supports (color:color-mix(in lab, red, red)){.soap-editor textarea:focus{outline:2px solid color-mix(in srgb, var(--sage) 35%, transparent)}}.soap-editor textarea:focus{border-color:var(--sage)}.soap-editor--collapsed{gap:0}.soap-editor__collapsed-actions{display:block}.soap-editor__collapsed-actions .button{width:100%}.soap-existing-note{background:#f4f5f1;border:1px solid #dce3dc;border-radius:11px;gap:7px;padding:11px 12px;display:grid}.soap-existing-note>span{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.soap-existing-note>p{max-height:150px;color:var(--muted);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55;overflow-y:auto}.soap-editor__footer{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.soap-editor__footer>span{color:#9a513c;font-size:12px;line-height:1.4}.soap-editor__footer>span.is-success{color:var(--green)}.soap-editor__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.soap-saved-state{align-items:center;gap:6px;font-weight:700;display:inline-flex;color:var(--green)!important}.soap-saved-state b{background:#dcebe2;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:inline-grid}.recent-soap-notes{gap:11px;display:grid}.recent-soap-notes__heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recent-soap-notes__heading small{color:var(--muted);font-size:12px}.recent-soap-notes__navigation{align-items:center;gap:6px;display:flex}.recent-soap-notes__navigation small{text-align:right;min-width:36px}.recent-soap-notes__navigation button{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.recent-soap-notes__navigation button:disabled{color:#aeb7b1;cursor:default;background:#f3f4f1}.recent-soap-notes__navigation button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.recent-soap-notes>p{color:var(--muted);margin:0;font-size:14px}.recent-soap-notes__empty{background:#f4f5f1;border-radius:10px;padding:10px 12px}.recent-soap-notes__error{color:#8a3f30!important}.recent-soap-notes__carousel{gap:8px;display:grid}.recent-soap-notes__carousel>button{width:100%;color:inherit;text-align:left;cursor:pointer;background:#f8faf7;border:1px solid #dce3dc;border-radius:11px;gap:7px;padding:11px 12px;display:grid}.recent-soap-notes__carousel>button.is-current{background:var(--sage-soft);border-color:#bfcfc3}.recent-soap-notes__carousel>button:hover{background:#f0f5f1;border-color:#a8bbb0}.recent-soap-notes__carousel>button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.recent-soap-notes__carousel>button header{color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;font-size:14px;font-weight:800;display:grid}.recent-soap-notes__carousel>button header small{color:var(--muted);font-size:12px;font-weight:600}.recent-soap-notes__carousel>button header b{color:var(--sage);font-size:17px;line-height:1}.recent-soap-notes__carousel>button p{max-height:120px;color:var(--muted);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55;overflow-y:auto}.recent-soap-notes__open{color:var(--green);text-underline-offset:3px;font-size:12px;font-weight:800;text-decoration:underline}.recent-soap-notes__all{justify-self:start;margin-top:1px}.recent-soap-notes__all:disabled{color:var(--muted);cursor:default;text-decoration:none}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;display:grid}.booking-back-button__mobile{display:none}.detail-block{border-bottom:1px solid var(--line);padding:24px 0}.detail-block>.eyebrow{margin-bottom:12px;display:block}.drawer-upcoming__header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.drawer-upcoming__header>strong{color:#fff;background:var(--ink);border-radius:50%;place-items:center;min-width:28px;height:28px;font-size:12px;display:grid}.drawer-upcoming__state{color:var(--muted);background:var(--sage-soft);text-align:center;border-radius:12px;margin:0;padding:14px;font-size:14px}.drawer-upcoming__state--empty{text-align:left;background:0 0;padding:4px 0}.drawer-upcoming__list{border:1px solid var(--line);background:#fff;border-radius:13px;display:grid;overflow:hidden}.drawer-upcoming__list>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #ecece7;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.drawer-upcoming__list>button:first-child{border-top:0}.drawer-upcoming__list>button:hover{background:var(--sage-soft)}.drawer-upcoming__list>button:focus-visible{z-index:1;outline:2px solid var(--sage);outline-offset:-2px;position:relative}.drawer-upcoming__list>button>span{gap:4px;min-width:0;display:grid}.drawer-upcoming__list>button>span:nth-child(2){text-align:right}.drawer-upcoming__list strong{overflow-wrap:anywhere;font-size:14px}.drawer-upcoming__list small{color:var(--muted);font-size:12px;line-height:1.4}.drawer-upcoming__list b{color:var(--muted);font-size:17px;font-weight:500}.drawer-history-button{width:max-content;margin-top:10px;padding:4px 0}.drawer-appointment-history{max-height:300px}.drawer-appointment-history>p,.drawer-appointment-history article strong{font-size:14px}.drawer-appointment-history article span{font-size:12px}.detail-row{justify-content:space-between;align-items:flex-start;gap:20px;padding:9px 0;font-size:14px;line-height:1.45;display:flex}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right;max-width:65%}.detail-row--contact{align-items:center;gap:8px;min-height:44px}.detail-row--contact>span{flex:0 0 72px}.contact-action{min-width:0;max-width:none;color:var(--ink);flex:auto;justify-content:flex-end;align-items:center;gap:8px;text-decoration:none;display:flex}.contact-action strong{white-space:nowrap;overflow-wrap:normal;text-align:right;text-overflow:ellipsis;text-underline-offset:3px;flex:auto;min-width:0;max-width:none;-webkit-text-decoration:underline #9eb4aa;text-decoration:underline #9eb4aa;overflow:hidden}.contact-action small{color:var(--sage);background:var(--sage-soft);text-transform:uppercase;border-radius:99px;flex:none;padding:4px 7px;font-size:11px;font-weight:800}.contact-action:hover strong{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.appointment-client-profile{justify-self:start;margin-top:12px}.appointment-more-link{width:max-content;margin:14px 0 -8px auto;display:block}.drawer__actions{grid-template-columns:minmax(0,1fr) 150px;gap:9px;margin-top:20px;display:grid}.drawer__actions.is-single{grid-template-columns:1fr}.time-off-drawer__actions{grid-template-columns:120px minmax(0,1fr) 150px}.mobile-appointment-actions{display:none}.reschedule-form{border:1px solid var(--line);background:var(--sage-soft);border-radius:15px;gap:14px;margin-top:22px;padding:17px;display:grid}.reschedule-form label{color:var(--muted);gap:7px;font-size:14px;font-weight:750;display:grid}.reschedule-form input{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px;font-size:16px}.reschedule-form>small{color:var(--muted);font-size:12px}.booking-form{gap:16px;padding-top:24px;display:grid}.booking-form label{color:var(--muted);gap:7px;font-size:14px;font-weight:750;display:grid}.booking-form input,.booking-form select{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:12px;outline:0;padding:0 12px;font-size:16px}.booking-form input:focus,.booking-form select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6d82691f}.booking-form .availability-ongoing{grid-template-columns:18px minmax(0,1fr);align-items:start;display:grid!important}.booking-form .availability-ongoing input[type=checkbox]{border-radius:5px;width:18px;min-width:18px;max-width:18px;height:18px;margin:1px 0 0;padding:0;min-height:18px!important}.booking-form .availability-ongoing>span{overflow-wrap:anywhere;min-width:0}.booking-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.booking-submit-bar{display:grid}.client-picker{gap:7px;display:grid;position:relative}.client-picker>label{display:block}.client-picker__results{z-index:4;border:1px solid var(--line);background:#fff;border-radius:13px;max-height:230px;padding:6px;display:grid;position:absolute;top:68px;left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px #11312e26}.client-picker__results button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;gap:3px;padding:10px;display:grid}.client-picker__results button strong{font-size:14px}.client-picker__results button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.client-picker__results button:hover,.client-picker__results button.is-selected{background:var(--sage-soft)}.client-picker__empty{color:var(--muted);padding:11px;font-size:14px;line-height:1.5}.client-picker__selected{color:var(--sage);font-size:12px;font-weight:750}.client-picker__add{color:var(--sage);justify-self:start}.new-client-form{background:var(--sage-soft);border:1px solid #dce4dd;border-radius:14px;gap:13px;padding:15px;display:grid}.new-client-form>div:first-child{gap:4px;display:grid}.new-client-form>div:first-child strong{font-size:15px}.new-client-form>div:first-child small{color:var(--muted);font-size:12px}.new-client-form__grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.new-client-form .button{margin-top:2px}.client-phone-check,.client-phone-duplicates{border-radius:11px;gap:5px;padding:12px;display:grid}.client-phone-check{color:var(--muted);background:#ffffffad}.client-phone-duplicates{color:#714c3b;background:#fbefe7;border:1px solid #d9bca7}.client-phone-check>strong,.client-phone-duplicates>strong{color:var(--ink);font-size:14px}.client-phone-check>small,.client-phone-duplicates>small{font-size:12px;line-height:1.45}.client-phone-duplicates>div{gap:6px;margin-top:3px;display:grid}.client-phone-duplicates button{min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #e1c9ba;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.client-phone-duplicates button>span{gap:3px;min-width:0;display:grid}.client-phone-duplicates button strong{font-size:14px}.client-phone-duplicates button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.client-phone-duplicates button b{color:var(--sage);flex:none;font-size:12px}.time-off-drawer{max-width:590px}.login-history-drawer{max-width:660px}.login-history-list{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:18px;display:grid;overflow:hidden}.login-history-list article{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:14px;display:grid}.login-history-list article:first-child{border-top:0}.login-history-list article>.avatar{width:38px;height:38px;font-size:10px}.login-history-list article>div{gap:3px;min-width:0;display:grid}.login-history-list article strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.login-history-list article a{color:var(--ink);text-underline-offset:3px;text-overflow:ellipsis;white-space:nowrap;font-size:13px;-webkit-text-decoration:underline #a9bdb7;text-decoration:underline #a9bdb7;overflow:hidden}.login-history-list article small{color:var(--muted);font-size:12px;line-height:1.45}.login-history-list article em{color:var(--ink);background:var(--sage-soft);border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.booking-activity-drawer{max-width:780px}.booking-activity-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.booking-activity-coverage{color:var(--muted);margin:10px 0;font-size:12px;line-height:1.5}.new-client-report{padding:22px}.new-client-report .panel__header p{color:var(--muted);font-size:13px;line-height:1.6}.new-client-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.new-client-summary article{background:var(--sage-soft);border-radius:12px;gap:5px;padding:16px;display:grid}.new-client-summary strong{font:28px Georgia,serif}.new-client-summary span{color:var(--muted);font-size:12px}.new-client-filters{grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0;display:grid}.new-client-filters label{gap:7px;font-size:12px;font-weight:700;display:grid}.new-client-filters input,.new-client-filters select{border:1px solid var(--line);width:100%;min-width:0;height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:0 10px}.new-client-accounts{gap:16px;margin-top:20px;display:grid}.new-client-account{border:1px solid var(--line);border-radius:12px;padding:16px}.new-client-account header{justify-content:space-between;gap:14px;display:flex}.new-client-account header>div,.new-client-appointments>div>span{gap:5px;min-width:0;display:grid}.new-client-account small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.new-client-account header>span{color:var(--muted);font-size:12px}.new-client-appointments>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:13px 0;display:flex}.new-client-appointments b{background:#f8eee4;border-radius:20px;padding:6px 9px;font-size:11px}.new-client-appointments b.is-completed{background:var(--sage-soft)}@media (width<=700px){.new-client-summary,.new-client-filters{grid-template-columns:1fr}.new-client-account header{flex-direction:column}.new-client-report{padding:16px}}.booking-activity-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;gap:2px;padding:12px;display:grid}.booking-activity-summary strong{color:var(--ink);font-family:Georgia,serif;font-size:24px;font-weight:500}.booking-activity-summary span{color:var(--muted);font-size:11px;font-weight:750}.booking-activity-summary article.has-warning{background:#fff7f3;border-color:#deb6aa}.booking-activity-toolbar{grid-template-columns:140px minmax(0,1fr) 150px auto;gap:8px;margin:14px 0 10px;display:grid}.booking-activity-toolbar input,.booking-activity-toolbar select{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:11px;outline:0;padding:0 11px;font-size:14px}.booking-activity-toolbar input:focus,.booking-activity-toolbar select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6d82691f}.booking-activity-list{gap:8px;padding-bottom:12px;display:grid}.booking-activity-item{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.booking-activity-item summary{cursor:pointer;grid-template-columns:9px minmax(0,1fr) auto 10px;align-items:center;gap:11px;min-width:0;padding:13px 14px;list-style:none;display:grid}.booking-activity-item summary::-webkit-details-marker{display:none}.booking-activity-item summary>span:nth-child(2){gap:3px;min-width:0;display:grid}.booking-activity-item summary strong,.booking-activity-item summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-activity-item summary strong{font-size:14px}.booking-activity-item summary small{color:var(--muted);font-size:12px}.booking-activity-item summary em{color:#37605c;background:var(--sage-soft);text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:850}.booking-activity-item.is-failed summary em{color:#873f32;background:#fbeae5}.booking-activity-item.is-rejected summary em{color:#745943;background:#f8eee4}.booking-activity-item summary>b{color:var(--muted);font-size:18px;transition:transform .16s}.booking-activity-item[open] summary>b{transform:rotate(90deg)}.booking-activity-status{background:#6f927f;border-radius:50%;width:9px;height:9px}.booking-activity-item.is-failed .booking-activity-status{background:#b45443}.booking-activity-item.is-rejected .booking-activity-status{background:#b18a67}.booking-activity-details{border-top:1px solid #ecece7;gap:14px;padding:0 14px 15px 34px;display:grid}.booking-activity-details dl{grid-template-columns:1fr 1fr;gap:8px 16px;margin:14px 0 0;display:grid}.booking-activity-details dl>div{gap:2px;min-width:0;display:grid}.booking-activity-details dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.booking-activity-details dd{overflow-wrap:anywhere;min-width:0;color:var(--ink);margin:0;font-size:12px}.booking-activity-request-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.booking-activity-error{color:#783f35;background:#fbefeb;border-radius:10px;gap:4px;padding:11px 12px;font-size:12px;line-height:1.45;display:grid}.booking-activity-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-activity-timeline li{grid-template-columns:13px minmax(0,1fr);gap:9px;min-height:42px;display:grid;position:relative}.booking-activity-timeline li:not(:last-child):before{content:"";background:#d6ded8;width:1px;position:absolute;top:15px;bottom:-2px;left:4px}.booking-activity-timeline i{z-index:1;background:var(--sage);border:2px solid #fff;border-radius:50%;width:9px;height:9px;margin-top:4px;box-shadow:0 0 0 1px #9eb3aa}.booking-activity-timeline span{gap:2px;padding-bottom:10px;display:grid}.booking-activity-timeline strong{font-size:12px}.booking-activity-timeline small{color:var(--muted);font-size:10px;line-height:1.4}.time-off-types{border:0;margin:0;padding:0}.time-off-types legend{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:750}.time-off-types>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.time-off-types label{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto 1fr;justify-content:center;align-items:center;gap:7px;padding:8px 10px;display:flex}.time-off-types label.is-selected{background:var(--sage-soft);border-color:#86a49a}.time-off-types input{width:auto;height:auto;margin:0}.time-off-when{border:0;min-width:0;margin:0;padding:0}.time-off-when legend{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:750}.time-off-time-input__control{display:block;position:relative}.time-off-time-input__control output{display:none}.time-off-date-grid{grid-template-columns:1.1fr 1fr 1fr;gap:10px;display:grid}.time-off-date-grid.is-range{grid-template-columns:1fr 1fr}.time-off-date-grid label{min-width:0}.time-off-summary,.time-off-warning{border-radius:12px;gap:5px;padding:13px 14px;display:grid}.time-off-summary{background:var(--sage-soft)}.time-off-warning{background:#fbf0e8;border:1px solid #e0c8b8}.time-off-summary strong,.time-off-warning strong{color:var(--ink);font-size:14px}.time-off-summary small,.time-off-warning small{color:var(--muted);font-size:12px;line-height:1.45}.time-off-note{color:var(--muted);background:var(--sage-soft);border-radius:11px;padding:10px 12px;font-size:13px;line-height:1.4}.time-off-conflicts{gap:16px;padding-top:4px;display:grid}.time-off-conflicts__intro{gap:6px;display:grid}.time-off-conflicts__intro h3,.time-off-conflicts__intro p{margin:0}.time-off-conflicts__intro h3{color:var(--ink);font-family:Georgia,serif;font-size:23px;font-weight:500;line-height:1.18}.time-off-conflicts__intro p{color:var(--muted);font-size:14px;line-height:1.5}.time-off-conflicts__list{gap:9px;display:grid}.time-off-conflicts__list article{background:#fbf0e8;border:1px solid #dfc8b8;border-radius:14px;gap:12px;padding:14px;display:grid}.time-off-conflicts__list article>div:first-child{gap:3px;display:grid}.time-off-conflicts__list article strong{color:var(--ink);font-size:16px}.time-off-conflicts__list article span{color:var(--ink);font-size:14px;font-weight:750}.time-off-conflicts__list article small{color:var(--muted);font-size:12px}.time-off-conflicts__list article>div:last-child{grid-template-columns:1fr 1fr;gap:8px;display:grid}.time-off-conflicts__list article button{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:800}.time-off-conflicts__list article button:last-child{color:#8a3f30;border-color:#d9b6a8}.time-off-conflicts__actions{gap:8px;display:grid}.time-off-conflicts__note{color:var(--muted);font-size:12px;line-height:1.45}.time-off-delete{color:#9a4032;min-height:34px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:2px 0;font-weight:750;text-decoration:underline}.time-off-delete:disabled{opacity:.55;cursor:default}.time-off-drawer__mobile-context{display:none}.form-message.is-error{color:#8a3f30;background:#fbefeb}.form-message.is-success{color:#37605c;background:var(--sage-soft)}.override-field{background:var(--sage-soft);cursor:pointer;border-radius:13px;align-items:start;padding:14px;grid-template-columns:18px 1fr!important}.override-field input{width:16px;height:16px;margin:2px 0 0}.override-field>span{flex-direction:column;gap:4px;display:flex}.override-field strong{color:var(--ink);font-size:14px}.override-field small{color:var(--muted);font-size:12px;line-height:1.45}.form-notice,.form-message{color:#785d50;background:#f6eae2;border-radius:11px;padding:12px 13px;font-size:10px;line-height:1.5}.drawer .form-notice,.drawer .form-message{font-size:14px}.booking-availability{border:1px solid var(--line);background:#f8faf7;border-radius:14px;gap:10px;padding:14px;display:grid}.booking-availability>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-availability>header>span{gap:2px;display:grid}.booking-availability>header strong{color:var(--ink);font-size:14px}.booking-availability>header small{color:var(--muted);font-size:12px}.booking-availability>header b{color:var(--sage);background:var(--sage-soft);text-transform:uppercase;border-radius:99px;padding:5px 8px;font-size:11px}.booking-availability__dates{gap:12px;transition:opacity .16s;display:grid}.booking-availability__dates.is-updating{opacity:.48}.booking-availability__date{gap:8px;display:grid}.booking-availability__date+.booking-availability__date{border-top:1px solid var(--line);padding-top:12px}.booking-availability__date-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.booking-availability__date-heading strong{color:var(--ink);font-size:13px}.booking-availability__date-heading small{color:var(--muted);white-space:nowrap;font-size:11px}.booking-availability__times{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;display:grid}.booking-availability__times button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:center;border-radius:10px;padding:7px 9px;font-size:13px;font-weight:800}.booking-availability__times button:hover{background:var(--sage-soft);border-color:#9cafaa}.booking-availability__times button:disabled{cursor:wait}.booking-availability__times button.is-selected{border-color:var(--ink);color:#fff;background:var(--ink);box-shadow:0 5px 14px #173f3b29}.booking-availability__status{color:var(--muted);background:var(--paper);text-align:center;border-radius:10px;padding:14px 10px;font-size:13px}.booking-availability__status--error{color:#8a3f30;background:#fbefeb}.booking-availability__chosen{background:var(--sage-soft);border:1px solid #c9d9d2;border-radius:11px;gap:4px;padding:13px 14px;display:grid}.booking-availability__chosen strong{color:var(--ink);font-family:Georgia,serif;font-size:18px;font-weight:500}.booking-availability__chosen span{color:var(--muted);font-size:12px;line-height:1.45}.booking-availability__manual{justify-self:start}.booking-availability__manual-note{color:var(--muted);font-size:11px}.booking-calendar-picker{gap:12px;transition:opacity .16s;display:grid}.booking-calendar-picker.is-updating{opacity:.45}.booking-calendar-picker__quick{gap:7px;display:grid}.booking-calendar-picker__quick>header,.booking-calendar-times>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.booking-calendar-picker__quick>header strong,.booking-calendar-times>header strong{color:var(--ink);font-size:13px}.booking-calendar-picker__quick>header small,.booking-calendar-times>header small{color:var(--muted);font-size:11px}.booking-calendar-picker__quick>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.booking-calendar-picker__quick button{min-width:0;color:var(--ink);background:var(--paper);cursor:pointer;text-align:center;border:1px solid #cbd9d3;border-radius:10px;gap:3px;padding:8px 6px;display:grid}.booking-calendar-picker__quick button:hover{background:var(--sage-soft)}.booking-calendar-picker__quick button span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.booking-calendar-picker__quick button strong{font-size:13px}.booking-calendar-picker__quick button small{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.booking-quick-jump{align-items:center;gap:7px;display:flex}.booking-quick-jump>strong{color:var(--muted);flex:none;font-size:11px}.booking-quick-jump>div{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0;display:grid}.booking-quick-jump button{min-width:0;min-height:40px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left;border:1px solid #cbd9d3;border-radius:9px;gap:1px;padding:5px 7px;display:grid}.booking-quick-jump button:hover{background:var(--sage-soft)}.booking-quick-jump button small{color:var(--ink);font-size:10px;font-weight:800}.booking-quick-jump button span,.booking-quick-jump button em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.booking-quick-jump button em{color:var(--ink);font-weight:700}.booking-calendar{border:1px solid var(--line);background:var(--paper);border-radius:13px;overflow:hidden}.booking-calendar>header{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:42px;display:grid}.booking-calendar>header strong{color:var(--ink);text-align:center;font-family:Georgia,serif;font-size:15px;font-weight:500}.booking-calendar>header button{cursor:pointer;background:0 0;border:0;border-radius:9px;justify-self:center;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.booking-calendar>header button:hover:not(:disabled){background:var(--sage-soft)}.booking-calendar>header button:disabled{color:#c4c8c4;cursor:default}.booking-calendar__weekdays,.booking-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-calendar__weekdays{padding:6px 5px 2px}.booking-calendar__weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:11px;font-weight:800}.booking-calendar__grid{gap:3px;padding:4px 5px 7px}.booking-calendar__grid button{min-width:0;min-height:39px;color:var(--muted);cursor:default;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;padding:3px;display:grid;position:relative}.booking-calendar__grid button:not(:disabled){color:var(--ink);cursor:pointer;background:#f1f6f2}.booking-calendar__grid button:not(:disabled):hover{border-color:#9fb7ae}.booking-calendar__grid button.is-selected{color:#fff;border-color:var(--ink);background:var(--ink)}.booking-calendar__grid button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--sage)}.booking-calendar__grid button.is-outside{opacity:.32}.booking-calendar__grid button span{font-size:13px;font-weight:800}.booking-calendar__grid button b{color:#fff;background:var(--sage);border-radius:99px;place-items:center;min-width:12px;height:12px;font-size:9px;display:grid;position:absolute;bottom:2px;right:3px}.booking-calendar__grid button.is-selected b{color:var(--ink);background:#d7e6df}.booking-calendar-times{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:10px;padding:11px;display:grid}.booking-calendar-times__group{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;display:grid}.booking-calendar-times__group>span{color:var(--muted);text-transform:uppercase;padding-top:10px;font-size:11px;font-weight:800}.booking-calendar-times__group>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.booking-calendar-times__group button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;place-items:center;gap:2px;padding:6px 5px;display:grid}.booking-calendar-times__group button strong{font-size:13px}.booking-calendar-times__group button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:700;overflow:hidden}.booking-calendar-times__group button:hover{background:var(--sage-soft)}.booking-calendar-times__group button.is-selected{color:#fff;border-color:var(--ink);background:var(--ink)}.booking-calendar-times--compact{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;gap:7px;padding:9px 0 0}.booking-calendar-times__slots{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;display:grid}.booking-calendar-times__slots button{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:9px;place-items:center;gap:1px;padding:6px 8px;display:grid}.booking-calendar-times__slots button:hover{background:var(--sage-soft);border-color:#9fb7ae}.booking-calendar-times__slots button:disabled{cursor:wait}.booking-calendar-times__slots button.is-selected{color:#fff;border-color:var(--ink);background:var(--ink)}.booking-calendar-times__slots button strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.booking-calendar-times__slots button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;overflow:hidden}.booking-form .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.delivery-panel{grid-template-columns:1.15fr 1fr;gap:28px;padding:24px;display:grid}.delivery-panel h2{margin:9px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:500}.delivery-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.delivery-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.delivery-actions .button:disabled{cursor:not-allowed;opacity:.5}.delivery-message{color:var(--sage);font-size:10px;line-height:1.45}.delivery-message.is-error{color:#9a4f38}.delivery-state{color:#8a533f;align-items:center;gap:8px;margin-top:15px;font-size:9px;display:flex}.delivery-state span{background:#d6a76d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #d6a76d1f}.delivery-state.is-ready{color:#37605c}.delivery-state.is-ready span{background:#5f9b76;box-shadow:0 0 0 4px #5f9b761f}.delivery-last-run{border:1px solid var(--line);background:#fff;border-radius:12px;gap:3px;margin-top:12px;padding:11px 13px;display:grid}.delivery-last-run strong{font-size:10px}.delivery-last-run small{color:var(--muted);font-size:9px}.delivery-last-run.is-error{background:#fbefeb;border-color:#e4c4ba}.delivery-rules{grid-template-columns:1fr 1fr;gap:10px;display:grid}.delivery-rules span{background:var(--sage-soft);border-radius:11px;align-items:center;gap:8px;padding:10px;font-size:9px;font-weight:700;display:flex}.delivery-rules i{color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;font-style:normal;display:grid}.mobile-nav,.mobile-action-sheet-layer{display:none}@media (width>=821px){.sidebar{background:#153f3a;width:220px;padding:25px 18px 20px}.brand__mark{background:#fffaf2;border-radius:13px;flex-basis:44px;width:44px;height:44px}.brand__mark img{width:42px;height:42px}.brand__copy strong{font-size:14px}.brand__copy small{font-size:9px}.sidebar-schedule-actions{gap:7px;margin-top:28px;display:grid}.sidebar-schedule-actions__label{color:#ffffff7a;letter-spacing:.12em;text-transform:uppercase;padding:0 4px 2px;font-size:10px;font-weight:800}.sidebar-book{min-height:46px;color:var(--ink-deep);cursor:pointer;background:#f4eee4;border:1px solid #ffffff29;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin-top:0;padding:10px 13px;font-size:12px;font-weight:800;display:flex;box-shadow:0 7px 20px #0000001f}.sidebar-book:hover{background:#fffaf2;transform:translateY(-1px)}.sidebar-book>span{font-size:18px;font-weight:500;line-height:1}.sidebar-schedule-action{color:#ffffffe6;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff21;border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 11px;transition:all .2s;display:grid}.sidebar-schedule-action:hover{color:#fff;background:#ffffff1c;border-color:#ffffff3d}.sidebar-schedule-action svg{width:19px;height:19px}.sidebar-schedule-action>span{gap:2px;min-width:0;display:grid}.sidebar-schedule-action strong{font-size:12px;line-height:1.2}.sidebar-schedule-action small{color:#ffffff85;font-size:9px;line-height:1.3}.desktop-nav{border-top:1px solid #ffffff1f;gap:6px;margin-top:20px;padding-top:14px}.desktop-nav button{border-radius:11px;min-height:44px;padding:11px 13px}.desktop-nav span{font-size:13px}.main-area{margin-left:220px}.topbar{height:72px;padding:0 clamp(26px,3vw,48px)}.prototype-label{background:#ffffff8c;border:1px solid #d9ded8;border-radius:99px;margin-left:180px;margin-right:auto;padding:7px 10px;font-size:9px}.profile-button{min-width:206px}.workspace{max-width:1480px;padding:20px clamp(26px,3vw,48px) 56px}.view-stack{gap:14px}.page-heading--schedule{height:72px;padding:0 calc(clamp(26px,3vw,48px) + 222px) 0 clamp(26px,3vw,48px);left:220px}.page-heading--schedule h1{font-size:26px}.page-heading--schedule .schedule-primary-action{display:block}.schedule-heading-actions{gap:8px}.schedule-heading-actions .heading-action{min-height:40px;padding-inline:14px}.schedule-settings__trigger{width:40px;min-height:40px}.schedule-controls{justify-content:flex-end;gap:8px}.schedule-view-control{margin-right:auto}.schedule-control-label{font-size:9px}.view-toggle{padding:2px}.view-toggle button{min-width:72px;height:34px;font-size:11px}.today-button{min-width:82px;height:38px;font-size:11px}.schedule-refresh-button{width:38px;height:38px}.schedule-refresh-control>div{grid-template-columns:minmax(72px,1fr) 38px;gap:7px}.schedule-refresh-control--mobile{display:none}.schedule-sticky-controls{border-radius:15px;gap:6px;padding:8px;top:72px}.app-shell--test-mode .schedule-sticky-controls{top:126px}.agenda-day{scroll-margin-top:282px}.app-shell--test-mode .agenda-day{scroll-margin-top:336px}.week-band{border-radius:16px;box-shadow:0 5px 20px #193a3509}.week-band__header{min-height:48px}.week-band__header .week-band__range{font-size:12px}.week-availability-legend{padding-block:8px}.week-availability-legend small,.week-availability-legend span{font-size:9px}.week-strip button{min-height:80px}.schedule-sticky-controls--agenda .week-strip button{min-height:64px}.week-strip small{font-size:9px}.week-strip strong{font-size:21px}.week-strip span{font-size:9px}.panel{border-radius:18px;box-shadow:0 8px 28px #193a350b}.panel__header{min-height:66px;padding:14px 20px}.panel__header h2{font-size:23px}.muted-label{font-size:11px}.therapist-schedule__header{min-height:54px;padding:13px 22px}.therapist-schedule__header span{font-size:13px}.therapist-schedule__header small{font-size:10px}.therapist-empty-state{padding:20px 22px;font-size:12px}.appointment{grid-template-columns:90px 4px minmax(0,1fr) auto 14px;gap:16px;min-height:96px;padding:15px 22px}.appointment--no-status{grid-template-columns:90px 4px minmax(0,1fr) 14px}.appointment--day-card{grid-template-columns:90px minmax(0,1fr) auto 14px;min-height:82px;padding:11px 17px}.appointment__time strong{font-size:17px}.appointment__time small{font-size:12px}.appointment__client{font-size:18px}.appointment__note{font-size:12px}.appointment__line{height:52px}.appointment .avatar{flex-basis:38px;width:38px;height:38px;font-size:11px}.status{padding:6px 9px;font-size:9px}.day-openings{padding:22px}.day-openings h3{font-size:22px}.day-openings>header>small,.day-openings__group h4{font-size:10px}.day-openings__group button strong{font-size:12px}.day-openings__group button small{font-size:9px}.week-panel .panel__header{min-height:60px;padding:12px 18px}.solevanta-week-grouping{min-height:42px;padding:5px 10px}.solevanta-week-grid{gap:6px;padding:8px}.solevanta-week-day>header button{min-height:56px;padding:8px 9px}.solevanta-week-day__appointments{gap:5px;padding:6px}.solevanta-week-event{padding:7px}.drawer-layer{background:#0c1f1d33;padding-left:220px}.drawer{width:min(540px,100vw - 220px);padding:29px 30px 36px}.drawer__header h2{font-size:38px}.drawer__when strong{font-size:14px}.drawer__when span{font-size:12px}.detail-row{font-size:13px}.drawer-upcoming__list strong{font-size:12px}.drawer-upcoming__list small{font-size:10px}.booking-drawer{width:min(660px,100vw - 220px)}.booking-form label{font-size:14px}.booking-form input,.booking-form select{height:48px;font-size:16px}.client-directory-grid{grid-template-columns:minmax(420px,.9fr) minmax(0,1.2fr)}.clients-panel{max-height:calc(100vh - 120px);position:sticky;top:92px;overflow-y:auto}.client-row{min-height:64px}.client-cell strong{font-size:12px}.client-cell small{font-size:10px}.client-selected-grid{grid-template-columns:1fr}.client-detail-panel{grid-template-columns:1fr;column-gap:34px;padding:24px 28px 26px;display:grid}.client-detail-panel>header{grid-column:1/-1}.client-detail-panel>.client-detail-section{grid-column:1/-1;min-width:0}.client-detail-panel>.client-delete-review,.client-detail-panel>.client-book-button,.client-detail-panel>.client-contact-actions{grid-column:1/-1}.client-detail-panel>.client-book-button{margin-top:20px}}@media (width>=1100px){.client-detail-panel{grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr)}.client-detail-panel>.client-detail-section--activity{border-left:0;padding-left:0}}@media (width<=1120px){.content-grid,.report-grid{grid-template-columns:1fr}.report-section-tabs--owner{grid-template-columns:repeat(3,minmax(0,1fr))}.report-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-directory-grid,.dashboard-lower-grid{grid-template-columns:1fr}.side-stack,.metric-grid--reports,.metric-grid--today{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){input,select,textarea{font-size:16px!important}.sidebar{display:none}.main-area{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));margin-left:0}.topbar{justify-content:space-between;height:66px;padding:0 16px}.topbar-settings-button{flex-basis:44px;width:44px;height:44px}.owner-view-toggle{gap:4px;min-height:44px;margin-left:auto;padding:3px 8px;font-size:9px}.owner-view-toggle>i{width:26px;height:16px}.owner-view-toggle>i>b{width:12px;height:12px}.owner-view-toggle.is-practice>i>b{transform:translate(10px)}.test-mode-banner{justify-content:space-between;gap:12px;min-height:58px;padding:7px 16px;top:66px}.test-mode-banner>span{gap:2px;font-size:12px;line-height:1.25;display:grid}.test-mode-banner button{flex:none;min-height:44px;padding-inline:11px}.schedule-sticky-controls{gap:6px;padding:6px;top:66px}.app-shell--test-mode .schedule-sticky-controls{top:124px}.schedule-sticky-controls>.schedule-controls{display:block}.schedule-sticky-controls .schedule-view-control{width:100%}.schedule-sticky-controls .schedule-control-label{display:none}.schedule-sticky-controls .view-toggle{width:100%;display:flex}.schedule-sticky-controls .view-toggle button{flex:1;min-width:0;height:44px}.week-band__header{grid-template-columns:40px minmax(0,1fr) 40px 40px}.week-band__refresh{display:grid!important}.schedule-refresh-control--desktop{display:none}.schedule-refresh-control--mobile{width:100%;display:grid}.agenda-day{scroll-margin-top:288px}.app-shell--test-mode .agenda-day{scroll-margin-top:346px}.main-area:has(.page-heading--schedule) .brand--compact{visibility:hidden;pointer-events:none}.page-heading--schedule{height:66px;padding:0 76px 0 16px;left:0}.page-heading--schedule h1{font-size:22px}.brand--compact{display:flex}.prototype-label{display:none}.profile-button{min-width:0;padding-right:5px}.profile-button__copy{display:none}.profile-menu{top:calc(62px + env(safe-area-inset-top,0px));width:min(310px,100vw - 24px);max-height:calc(100dvh - 74px - env(safe-area-inset-top,0px));overscroll-behavior:contain;scrollbar-gutter:stable;position:fixed;right:12px;overflow-y:auto}.profile-menu button.profile-menu__schedule-tool{display:none}.profile-menu button.profile-menu__mobile-report{display:flex}.profile-menu__owner-tool{border-top:1px solid var(--line)!important}.workspace{padding:27px 16px 35px}.mobile-nav{width:100%;min-height:calc(66px + env(safe-area-inset-bottom,0px));padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--paper);z-index:70;grid-template-columns:repeat(3,1fr);display:grid;inset:auto 0 0;transform:translate(0);box-shadow:0 -8px 24px #173f3b14;position:fixed!important}.mobile-nav button{color:#88918d;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:700;display:flex}.mobile-nav button.is-active{color:var(--ink);background:var(--sage-soft)}.mobile-nav svg{width:19px;height:19px}.mobile-nav .mobile-nav__book{color:var(--ink);font-weight:800;position:relative}.mobile-nav__book b{color:#fff;background:var(--ink);border:4px solid #fffdfa;border-radius:50%;place-items:center;width:34px;height:34px;margin-top:-17px;font-size:18px;font-weight:500;display:grid;box-shadow:0 6px 15px #173f3b3d}.mobile-nav__book.is-open b{background:var(--terracotta);transform:rotate(45deg)}.mobile-action-sheet-layer{inset:0 0 calc(66px + env(safe-area-inset-bottom,0px));z-index:69;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1f1d47;align-items:flex-end;padding:12px;display:flex;position:fixed}.mobile-action-sheet{width:100%;max-height:calc(100dvh - 104px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));background:var(--paper);border:1px solid #dcdad1eb;border-radius:22px;padding:9px 12px 12px;animation:.18s ease-out mobile-action-sheet-in;overflow-y:auto;box-shadow:0 18px 48px #0c1f1d38}@keyframes mobile-action-sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.mobile-action-sheet>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:5px 4px 9px 8px;display:flex}.mobile-action-sheet>header>div{gap:4px;display:grid}.mobile-action-sheet h2{margin:0;font-family:Georgia,serif;font-size:20px;font-weight:500}.mobile-action-sheet>header>button{width:42px;height:42px;color:var(--muted);background:var(--sage-soft);cursor:pointer;border:0;border-radius:12px;place-items:center;font-size:23px;display:grid}.mobile-action-sheet__options{gap:6px;padding-top:9px;display:grid}.mobile-action-sheet__options>button{min-height:66px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:11px;padding:9px 10px;display:grid}.mobile-action-sheet__options>button:active{background:var(--sage-soft)}.mobile-action-sheet__options>button>span:nth-child(2){gap:3px;display:grid}.mobile-action-sheet__options strong{font-size:14px}.mobile-action-sheet__options small{color:var(--muted);font-size:12px;line-height:1.3}.mobile-action-sheet__options>button>b{color:var(--muted);font-size:19px;font-weight:500}.mobile-action-sheet__icon{width:40px;height:40px;color:var(--ink);background:var(--sage-soft);border-radius:12px;place-items:center;display:grid}.mobile-action-sheet__icon svg{width:19px;height:19px}.dashboard-heading-actions,.schedule-primary-action,.view-toggle__availability{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:36px}.heading-action{color:#0000;white-space:nowrap;min-width:42px;max-width:44px;padding:10px;overflow:hidden}.heading-action span{color:#fff}.heading-action svg{color:#fff;flex:0 0 17px}.dashboard-heading-actions .heading-action{color:#fff;max-width:none;padding-inline:13px}.dashboard-heading-actions .heading-action span{display:none}.button--secondary.heading-action svg{color:var(--ink)}.metric-grid--today{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid--today .metric:nth-child(n+3),.priority-card--open{display:none}.priority-grid{grid-template-columns:1fr}.metric{min-height:112px;padding:15px}.metric>strong{font-size:27px}.report-detail-row{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr) minmax(115px,.8fr) auto;gap:12px;padding:14px 16px}.report-detail-row strong{font-size:13px}.report-detail-row small{font-size:11px}.side-stack,.delivery-panel,.owner-revenue-panel,.monthly-automation-panel{grid-template-columns:1fr}.owner-revenue-source{border-top:1px solid #ffffff29;border-left:0;padding:15px 0 0}.financial-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-opportunity-grid{grid-template-columns:1fr}.appointment{grid-template-columns:59px 2px minmax(0,1fr) 10px;gap:10px;padding:13px}.appointment--no-status{grid-template-columns:59px 2px minmax(0,1fr) 10px}.appointment--day-card{grid-template-columns:59px minmax(0,1fr) 10px}.appointment .status{display:none}.client-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-directory-toolbar{flex-direction:column;align-items:stretch}.client-directory-toolbar .search-field{max-width:none}.client-directory-toolbar .search-field input,#client-search{font-size:16px}.client-filters{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.client-filters::-webkit-scrollbar{display:none}.client-table__head{display:none}.client-row{grid-template-columns:1fr 1fr;gap:13px;padding:15px 5px}.client-cell:nth-child(4),.client-cell:nth-child(5){padding-left:44px}.availability-panel>footer{flex-direction:column;align-items:stretch}.availability-panel>footer .button{width:100%}}@media (width<=560px){body{overflow-x:hidden}.view-stack{gap:19px}.workspace{padding:20px 12px 28px}.passkey-device-prompt{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px;padding:16px}.passkey-device-prompt__actions{grid-template-columns:1fr auto;display:grid}.passkey-device-prompt__actions .button--primary{min-width:0}.topbar{padding:0 12px}.brand--compact .brand__copy{display:none}.page-heading{gap:12px}.page-heading h1{margin-top:5px;font-size:32px;line-height:1.05}.page-heading p{max-width:100%;font-size:12px}.drawer-layer.time-off-drawer-layer{align-items:stretch;padding:0}.drawer.time-off-drawer{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(14px, env(safe-area-inset-top)) 18px calc(14px + env(safe-area-inset-bottom));border-radius:0}.time-off-drawer .time-off-drawer__header{z-index:5;top:calc(-1 * max(14px, env(safe-area-inset-top)));margin:calc(-1 * max(14px, env(safe-area-inset-top))) -18px 0;padding:max(14px, env(safe-area-inset-top)) 18px 12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf7;border-bottom:1px solid #173f3b1a;gap:12px;position:sticky}.time-off-drawer .time-off-drawer__header .eyebrow,.time-off-drawer .time-off-drawer__header p{display:none}.time-off-drawer .time-off-drawer__header h2{margin:0;font-size:23px;line-height:1.08}.time-off-drawer__mobile-context{color:var(--muted);margin-top:4px;font-size:14px;font-weight:650;display:block}.time-off-drawer .time-off-form{gap:14px;padding-top:16px}.time-off-drawer--editing .time-off-therapist-field{display:none}.time-off-drawer .time-off-types legend{margin-bottom:6px}.time-off-drawer .time-off-types>div{border:1px solid var(--line);background:#f4f4ef;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px}.time-off-drawer .time-off-types label{text-align:center;background:0 0;border:0;border-radius:10px;gap:0;min-height:44px;padding:6px 4px;font-size:13px;line-height:1.15;position:relative}.time-off-drawer .time-off-types label.is-selected{border-color:var(--ink);color:#fff;background:var(--ink);box-shadow:0 2px 7px #173f3b24}.time-off-drawer .time-off-types input{opacity:0;pointer-events:none;position:absolute}.time-off-drawer .time-off-when legend{margin-bottom:6px}.time-off-drawer .time-off-date-grid{gap:8px}.time-off-drawer .time-off-date-grid.is-range>label:first-child{grid-column:auto}.time-off-drawer .time-off-form input,.time-off-drawer .time-off-form select{height:44px;min-height:44px}.time-off-drawer .time-off-time-input__control input{z-index:2;color:#0000;caret-color:#0000;-webkit-text-fill-color:transparent;background-color:#0000;position:relative}.time-off-drawer .time-off-time-input__control input::-webkit-date-and-time-value{color:#0000}.time-off-drawer .time-off-time-input__control input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.time-off-drawer .time-off-time-input__control output{z-index:1;color:var(--ink);pointer-events:none;align-items:center;padding:0 14px;font-size:16px;font-weight:750;display:flex;position:absolute;inset:0}.time-off-drawer .time-off-note{border-left:3px solid var(--sage);background:0 0;border-radius:0;padding:8px 10px}.time-off-drawer .time-off-delete{min-height:44px;padding:8px 2px}.time-off-drawer--editing .time-off-drawer__actions{z-index:4;bottom:calc(-14px - env(safe-area-inset-bottom));margin:2px -18px calc(-14px - env(safe-area-inset-bottom));padding:10px 18px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf7;border-top:1px solid #173f3b1f;grid-template-columns:1fr;gap:8px;position:sticky;box-shadow:0 -8px 24px #11312e17}.time-off-drawer--editing .time-off-drawer__actions .button--quiet,.dashboard-heading-actions{display:none}.booking-availability__times{grid-template-columns:repeat(3,minmax(0,1fr))}.priority-grid{grid-template-columns:1fr;gap:9px}.priority-card{grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;min-height:82px;padding:13px 14px}.priority-card__copy strong{font-size:14px}.priority-card__copy em{font-size:9px}.priority-card__action{font-size:0}.priority-card__action b{font-size:17px}.page-heading--schedule{flex-direction:row;align-items:center}.page-heading--schedule p{display:none}.schedule-heading-actions{gap:9px;width:auto;display:flex}.schedule-primary-action{display:none}.schedule-settings__menu{width:min(280px,100vw - 24px)}.report-preview-controls{flex-direction:column;align-items:stretch;width:148px}.report-preview-controls label,.report-preview-controls input,.report-preview-controls .button{width:100%}.reports-workspace .page-heading{flex-direction:column}.reports-workspace .report-preview-controls{flex-direction:row;align-items:flex-end;width:100%}.reports-workspace .report-preview-controls label{flex:1}.report-range-bar{align-items:stretch;overflow-x:auto}.report-range-bar label{min-width:150px}.report-load-state{min-width:max-content}.report-delivery-actions{grid-template-columns:1fr 1fr}.report-delivery-actions label,.report-delivery-actions .delivery-message{grid-column:1/-1}.report-section-tabs,.report-section-tabs--owner{grid-template-columns:repeat(2,minmax(0,1fr))}.report-section-tabs button{padding:10px}.report-overview-metrics,.therapist-private-metrics{grid-template-columns:1fr 1fr}.metric--clickable .metric__action{font-size:8px}.report-detail-header{gap:14px;padding:17px}.report-detail-header h2{font-size:25px}.report-detail-header p{font-size:13px}.report-detail-row{grid-template-columns:minmax(0,1fr) auto;gap:12px 9px;min-height:0;padding:15px 17px}.report-detail-column-head{grid-template-columns:minmax(0,1fr) auto;gap:6px 9px;padding:9px 17px}.report-detail-column-head>span:nth-child(2),.report-detail-column-head>span:nth-child(3){grid-column:1/-1}.report-detail-column-head>span:nth-child(4){grid-area:1/2}.therapist-report-toolbar{flex-direction:column;align-items:flex-start}.therapist-report-toolbar>div{width:100%}.therapist-report-toolbar button{flex:auto}.report-detail-row>span:nth-child(2),.report-detail-row>span:nth-child(3){grid-column:1/-1}.report-detail-row>b{grid-area:1/2}.report-detail-row strong,.report-detail-row small{white-space:normal}.owner-revenue-panel{padding:18px}.owner-revenue-panel>div:first-child{grid-template-columns:1fr}.owner-only-badge{grid-row:auto;justify-self:start}.owner-revenue-panel h2,.owner-revenue-panel p{grid-column:1}.financial-snapshot-grid{grid-template-columns:1fr 1fr}.financial-snapshot-grid article:last-child{grid-column:1/-1}.report-therapist-row{grid-template-columns:minmax(130px,1fr) 62px 52px;gap:8px;padding:12px 14px}.report-therapist-row>span:nth-child(3){display:none}.metric-grid--today{grid-template-columns:1fr 1fr}.metric-grid--today .metric:first-child{grid-column:auto}.metric-grid--reports{grid-template-columns:1fr 1fr}.metric-grid{gap:9px}.metric{border-radius:16px;min-height:100px;padding:13px}.metric>span{font-size:10px}.metric>strong{margin-top:7px;font-size:25px}.metric>small{font-size:9px;line-height:1.35}.panel{border-radius:18px}.panel__header{min-height:72px;padding:17px}.panel__header h2{font-size:19px}.therapist-schedule__header{align-items:flex-start;padding:12px 14px}.therapist-schedule__header span{font-size:11px}.therapist-schedule__header small{text-align:right;max-width:78px;line-height:1.35}.day-openings{padding:16px 14px 18px}.day-openings__groups{grid-template-columns:1fr}.day-openings__group>div{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment__time strong{font-size:13px}.appointment__time small{font-size:9px}.appointment__client{font-size:15px}.appointment__note{font-size:9px}.appointment .avatar{display:none}.appointment{grid-template-columns:54px 4px minmax(0,1fr) 8px;gap:9px;min-height:82px;padding:11px 12px}.appointment--no-status{grid-template-columns:54px 4px minmax(0,1fr) 8px}.appointment--day-card{border-left-width:3px;border-radius:9px;grid-template-columns:54px minmax(0,1fr) 8px;width:calc(100% - 16px);min-height:76px;margin:5px 8px;padding:10px 12px}.blocked-time-row{grid-template-columns:54px 30px minmax(0,1fr) 10px;gap:9px;width:calc(100% - 16px);min-height:72px;margin:5px 8px;padding:10px 12px}.blocked-time-row__mark{width:30px;height:30px}.blocked-time-row__badge{display:none}.week-band{border-radius:16px;margin-inline:0}.week-band__header{grid-template-columns:40px minmax(0,1fr) 40px;min-height:40px}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;padding:5px}.week-strip button{border-radius:11px;gap:3px;min-width:0;min-height:66px;padding:4px 1px}.week-strip small{font-size:8px}.week-strip strong{font-size:18px}.week-strip span{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7px;overflow:hidden}.week-availability-legend{gap:9px;min-height:26px;padding-inline:6px}.week-availability-legend small,.week-availability-legend span{font-size:7px}.week-availability-legend span{gap:4px}.week-availability-legend i{width:7px;height:7px}.week-strip .week-strip__availability{width:min(34px,82%);height:4px;overflow:visible}.agenda-week-body,.agenda-week{gap:10px}.agenda-day{scroll-margin-top:250px}.app-shell--test-mode .agenda-day{scroll-margin-top:308px}.agenda-day .panel__header{min-height:62px;padding-block:12px}.agenda-day__empty{padding:13px 15px 15px;font-size:9px}.schedule-controls{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f3ecf5;border:1px solid #dcdad1cc;border-radius:16px;grid-template-columns:minmax(136px,1fr) minmax(144px,1fr);align-items:end;gap:8px;margin:-8px;padding:8px;display:grid;position:sticky;top:66px;box-shadow:0 7px 20px #173f3b0f}.schedule-view-control{gap:5px}.schedule-control-label{display:none}.view-toggle,.week-navigation{width:100%;display:flex}.view-toggle{min-height:52px}.view-toggle button{flex:1;min-width:0;height:44px;font-size:11px}.schedule-refresh-control{width:100%}.schedule-refresh-control>div{grid-template-columns:minmax(0,1fr) 46px;width:100%}.schedule-refresh-status{text-align:right;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:9px;overflow:hidden}.schedule-refresh-control--mobile{justify-content:flex-end;align-items:center;gap:10px;display:flex}.schedule-refresh-control--mobile>div{width:auto;display:block}.today-button{width:100%;height:46px}.schedule-refresh-button{width:46px;height:46px}.schedule-refresh-warning{align-items:flex-start;font-size:11px;line-height:1.35}.schedule-refresh-warning button{min-height:38px}.calendar-period-nav{gap:2px}.calendar-period-nav h2{min-width:132px}.week-panel .panel__header{align-items:flex-start}.solevanta-week-grouping{justify-content:space-between}.solevanta-week-grid{grid-template-columns:1fr;gap:8px;padding:8px}.solevanta-week-day{min-height:0}.solevanta-week-day>header button{min-height:58px}.solevanta-week-day__appointments{grid-template-columns:1fr}.solevanta-week-day__appointments>p{grid-column:1/-1;padding:16px 6px}.solevanta-week-event{min-height:68px}.therapist-timeline-list{gap:9px;padding:8px}.therapist-timeline-scroll{scroll-snap-type:x proximity}.therapist-timeline__therapist,.therapist-timeline__cell{scroll-snap-align:start}.week-calendar-wrap{display:none}.mobile-week-agenda{display:grid}.week-strip--mobile{border-right:1px solid var(--line);border-left:1px solid var(--line);border-radius:0;margin:0;padding:7px}.week-strip--mobile button{min-height:67px}.week-strip--mobile strong{font-size:19px}.mobile-week-day+.mobile-week-day{border-top:1px solid var(--line)}.mobile-week-day>header{background:#f8f8f4;min-height:57px}.mobile-week-day.is-today>header{background:var(--sage-soft)}.mobile-week-day>header>button{width:100%;min-height:57px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.mobile-week-day>header>button>span{align-items:baseline;gap:7px;display:flex}.mobile-week-day>header strong{font-family:Georgia,serif;font-size:17px;font-weight:500}.mobile-week-day>header span,.mobile-week-day>header small{color:var(--muted);font-size:9px}.mobile-week-day>p{color:var(--muted);margin:0;padding:15px;font-size:10px}.mobile-week-therapist+.mobile-week-therapist{border-top:1px solid var(--line)}.mobile-week-therapist h3{min-height:38px;color:var(--ink);background:#f6f7f2;align-items:center;gap:8px;margin:0;padding:9px 14px;font-size:10px;font-weight:800;display:flex}.mobile-week-therapist h3>i{border-radius:50%;width:7px;height:7px}.mobile-week-therapist h3>small{min-width:20px;color:var(--muted);text-align:right;margin-left:auto;font-size:8px}.mobile-week-event{background:var(--paper);text-align:left;border:0;border-top:1px solid #ecece7;grid-template-columns:3px 56px minmax(0,1fr) 10px;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 14px;display:grid}.mobile-week-event>i{border-radius:99px;width:3px;height:40px}.mobile-week-event__time,.mobile-week-event__main{flex-direction:column;gap:4px;min-width:0;display:flex}.mobile-week-event__time strong,.mobile-week-event__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobile-week-event__time small,.mobile-week-event__main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.mobile-week-event>b{color:#9ca5a1;font-size:17px;font-weight:400}.month-calendar__weekdays span{padding:8px 2px;font-size:8px}.month-calendar__grid button{gap:3px;min-height:100px;padding:6px 4px}.month-calendar__date-row{gap:3px}.month-calendar__date{font-size:15px}.month-calendar__hours{flex:none;font-size:7px}.month-calendar__hours-full{display:none}.month-calendar__hours-compact{display:inline}.month-calendar__count{font-size:8px}.month-calendar__count small{display:none}.month-calendar__previews{gap:2px}.month-calendar__preview{grid-template-columns:3px minmax(0,1fr);gap:0 4px;font-size:9px;line-height:1.15}.month-calendar__preview>i{grid-row:1/span 2;height:100%;min-height:8px}.month-calendar__preview.is-secondary{margin-top:1px;padding-top:3px}.month-calendar__preview time,.month-calendar__preview>span{grid-column:2}.month-calendar__preview time{font-size:8px}.month-calendar__preview>span{font-size:9px}.month-calendar__more{font-size:8px}.month-calendar__markers{gap:2px}.month-calendar__markers em,.month-calendar__blocked{padding:2px 4px;font-size:7px!important}.month-calendar__grid button>i{gap:2px}.month-calendar__grid button>i b{width:5px;height:5px}.delivery-rules,.booking-form__row,.new-client-form__grid,.time-off-types>div{grid-template-columns:1fr}.time-off-date-grid,.time-off-date-grid.is-range{grid-template-columns:1fr 1fr}.time-off-date-grid>label:first-child{grid-column:1/-1}.booking-activity-summary,.booking-activity-toolbar{grid-template-columns:1fr 1fr}.booking-activity-toolbar .booking-activity-search{grid-area:1/1/auto/-1}.booking-activity-toolbar .button{grid-column:1/-1}.booking-activity-item summary{grid-template-columns:8px minmax(0,1fr) auto}.booking-activity-item summary>b{display:none}.booking-activity-details{padding-left:14px}.booking-activity-details dl{grid-template-columns:1fr}.week-strip button{min-height:66px}.client-row{grid-template-columns:1fr}.client-cell:nth-child(4),.client-cell:nth-child(5){display:none}.clients-panel{padding:12px}.client-row{border-radius:13px;padding:13px 8px}.client-row+.client-row{margin-top:4px}.client-cell:nth-child(3){padding-left:44px}.client-directory-toolbar{padding:10px}.client-selected-grid{grid-template-columns:1fr}.client-selected-bar{padding:12px}.client-selected-bar .button{padding-inline:10px;font-size:9px}.client-soap-panel{padding:16px}.client-soap-panel>header{display:grid}.client-soap-panel>header>div:last-child{grid-template-columns:1fr 1fr;display:grid}.soap-history>button{grid-template-columns:1fr auto;gap:10px}.soap-history>button>span:nth-child(2){grid-column:1/-1}.client-upcoming-panel>header{min-height:70px;padding:14px}.client-upcoming-panel>header h2{font-size:21px}.client-upcoming-list{max-height:288px}.client-upcoming-list>button{grid-template-columns:112px minmax(0,1fr) 10px;gap:10px;min-height:72px;padding:11px 14px}.client-filters{margin-inline:-2px}.client-review-note{flex-direction:column;align-items:flex-start}.client-duplicate-group>header{flex-direction:column}.client-duplicate-group>header>div{justify-content:flex-start}.availability-week{display:block;overflow:visible}.availability-day{border-right:0;border-bottom:1px solid var(--line);min-height:0}.availability-day:last-child{border-bottom:0}.availability-day>header{align-items:flex-start;min-height:52px;padding:0 14px}.availability-day>div{padding:12px}.availability-days>div{grid-template-columns:repeat(4,minmax(0,1fr))}.availability-panel>.panel__header{align-items:flex-start}.availability-panel__actions{flex-direction:column;align-items:flex-end;gap:7px}.service-availability-therapist>header{padding-inline:14px}.service-availability-therapist>div{grid-template-columns:1fr;padding:10px}.service-availability-period>header{flex-direction:column;align-items:flex-start}.service-availability-period>header>small{max-width:100%}.service-availability-day{grid-template-columns:68px minmax(0,1fr);padding-inline:10px}.service-availability-day button{flex:116px;min-width:0}.bar-row{grid-template-columns:72px minmax(0,1fr) 25px;gap:9px}.drawer-layer{align-items:flex-end}.cancel-confirm-layer{align-items:end;padding:12px}.cancel-confirm{border-radius:20px 20px 16px 16px;padding:20px}.cancel-confirm dl>div{grid-template-columns:72px 1fr}.drawer{width:100%;height:min(92vh,820px);padding:10px 16px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation-name:slide-up}.time-off-drawer__actions{grid-template-columns:1fr 1fr}.time-off-drawer__actions .button--danger{grid-area:2/1/auto/-1}.appointment-drawer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.appointment-drawer .drawer__actions--desktop{display:none}.mobile-appointment-actions{z-index:90;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf5;border-top:1px solid #173f3b1f;grid-template-columns:minmax(0,1fr) minmax(112px,.72fr);gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #11312e1c}.mobile-appointment-actions.is-complete{grid-template-columns:1fr}.mobile-appointment-actions>.button{white-space:nowrap;min-width:0;min-height:46px;padding-inline:8px;font-size:13px}.mobile-appointment-actions>.button--danger{color:#fff;background:#9f3f31;border-color:#9f3f31}.mobile-appointment-actions>.button--danger:hover{background:#853326}.action-success-toast{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;left:12px}.drawer__header{z-index:3;background:var(--paper);padding-top:4px;position:sticky;top:0}.drawer__header h2{font-size:24px}.booking-form input,.booking-form select{min-height:46px;font-size:16px}.profile-menu{width:calc(100vw - 16px);right:8px}.drawer__handle{background:var(--line);border-radius:99px;width:38px;height:4px;margin:0 auto 16px;display:block}.drawer-layer--booking{background:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:stretch}.booking-drawer{overscroll-behavior:contain;width:100%;height:100dvh;max-height:none;box-shadow:none;border-radius:0;padding:0;animation-name:booking-page-in}.booking-drawer__header{min-height:calc(66px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;box-shadow:0 1px 0 var(--line);border-bottom:0;justify-content:flex-start;align-items:center;gap:10px}.booking-drawer__header>div{min-width:0}.booking-drawer__header .eyebrow{display:none}.booking-drawer__header h2{margin:0;font-size:22px}.booking-drawer__header p{display:none}.booking-back-button{width:38px;height:38px;color:var(--ink);background:var(--sage-soft);border:0;border-radius:11px;flex:0 0 38px;order:-1;font-size:20px}.booking-back-button__mobile{display:inline}.booking-back-button__desktop{display:none}.booking-drawer>.booking-form{gap:17px;padding:18px 16px 0}.booking-submit-bar{z-index:5;width:calc(100% + 32px);padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfaf5;margin:5px -16px 0;position:sticky;bottom:0;box-shadow:0 -8px 22px #173f3b0f}@keyframes booking-page-in{0%{opacity:.8;transform:translate(18px)}}@keyframes slide-up{0%{opacity:.7;transform:translateY(30px)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.passkeys-drawer{padding-bottom:2rem;overflow-y:auto}.passkeys-drawer>p,.passkeys-drawer>small{margin:1rem 0;display:block}.passkey-list article{border-bottom:1px solid #d8ddd8;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.passkey-list article>div{overflow-wrap:anywhere;min-width:0}.passkey-list small{margin-top:.35rem;display:block}.passkey-confirm{border:1px solid #b96252;border-radius:12px;margin-top:1rem;padding:1rem}.passkey-confirm>div{flex-wrap:wrap;gap:.75rem;display:flex}.schedule-mode-title{white-space:nowrap;align-items:center;gap:14px;display:inline-flex}.page-heading--schedule h1:has(.schedule-mode-title){pointer-events:auto}.schedule-mode-toggle{letter-spacing:normal;font-family:Arial,sans-serif}.agenda-week-body--calendar{overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:min(980px,100vh - 250px);min-height:0;max-height:min(980px,100vh - 250px);display:block;overflow-y:auto}.agenda-week-body--calendar>.agenda-week{width:100%;min-height:max-content;display:block}.agenda-week-body--calendar .day-timeline-list{min-height:max-content}.calendar-day-columns{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.calendar-day-columns--split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0}.calendar-day-columns>.day-timeline{min-width:0}.calendar-day-columns--split .day-timeline__event{padding-inline:9px;left:8px;right:8px}.calendar-day-columns--split .day-timeline__buffer{left:8px;right:8px}.day-timeline-list{background:#fff;display:grid}.day-timeline+.day-timeline{border-top:1px solid var(--line)}.day-timeline{background:var(--paper);min-width:0;overflow:hidden}.day-timeline__header{border-bottom:1px solid var(--line);background:#fbfaf6;grid-template-columns:74px minmax(0,1fr);display:grid}.day-timeline__corner,.day-timeline__therapist{border-right:1px solid var(--line);align-items:center;min-height:59px;padding:10px 12px;display:flex}.day-timeline__corner{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:850}.day-timeline__therapist{background:#edf4ee;gap:9px;min-width:0}.day-timeline__therapist>i{border-radius:99px;flex:none;width:5px;height:28px}.day-timeline__therapist>span{gap:3px;min-width:0;display:grid}.day-timeline__therapist strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.day-timeline__therapist small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.day-timeline__therapist em{min-width:max-content;color:var(--muted);text-align:right;margin-left:auto;font-size:9px;font-style:normal;font-weight:750}.day-timeline__body{grid-template-columns:74px minmax(0,1fr);min-width:0;display:grid}.day-timeline__times{border-right:1px solid var(--line);background:#fbfaf6;position:relative}.day-timeline__times span{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:750;position:absolute;left:10px;transform:translateY(-50%)}.day-timeline__times span:first-child{transform:none}.day-timeline__lane{background:#fff;min-width:0;position:relative;overflow:hidden}.day-timeline__working-window{z-index:0;background:#edf5ed;border-left:5px solid #8eb59c;position:absolute;left:0;right:0}.day-timeline__line{z-index:1;pointer-events:none;border-top:1px solid #dfe5df;position:absolute;left:0;right:0}.day-timeline__line--half{border-top-color:#eef1ed}.day-timeline__buffer,.calendar-week-timeline__buffer{z-index:2;color:#61766a;cursor:not-allowed;background:repeating-linear-gradient(135deg,#edf4ee 0 7px,#e6efe8 7px 14px);border:1px solid #d8e2dc;border-left:3px solid #a5b8ac;border-radius:6px;position:absolute;overflow:hidden}.day-timeline__buffer{padding:3px 8px;left:14px;right:14px}.day-timeline__buffer span,.calendar-week-timeline__buffer span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.day-timeline__event{z-index:2;min-width:0;color:var(--ink);cursor:pointer;text-align:left;z-index:3;background:#f4f6f2;border:0;border-left:4px solid;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:absolute;left:14px;right:14px;overflow:hidden;box-shadow:0 2px 8px #193a350f}.day-timeline__event:hover{z-index:3;background:#edf2ed;transform:translateY(-1px);box-shadow:0 4px 12px #193a351a}.day-timeline__event:focus-visible{z-index:4;outline:2px solid var(--sage);outline-offset:2px}.day-timeline__event small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:750;line-height:1.15}.day-timeline__event strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:15px;line-height:1.15;display:flex;overflow:hidden}.day-timeline__event-therapist{color:#4b6658;text-overflow:ellipsis;white-space:nowrap;background:#e7f0e7;border:1px solid #cddbcf;border-radius:999px;flex:0 auto;min-width:0;max-width:48%;padding:2px 5px;font-size:9px;font-weight:800;line-height:1.1;overflow:hidden}.day-timeline__event>span:last-child{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.15;overflow:hidden}.day-timeline__event.is-no-show{color:#624d22;background:#f2ead8}.day-timeline__event.is-no-show:hover{background:#ede0c3}.day-timeline__event--blocked{background:repeating-linear-gradient(135deg,#f1f2f0 0 8px,#e8eae7 8px 16px);border:1px solid #d2d7d3;border-left:4px solid #858f8b}.day-timeline__event--blocked:hover{background:repeating-linear-gradient(135deg,#eceeeb 0 8px,#e3e6e2 8px 16px)}.day-timeline__event--blocked:disabled{cursor:default;opacity:1}.day-timeline__event--blocked strong{color:#3f4b47}.day-timeline__event--blocked>span:last-child{color:#5e6965}@media (width>=821px){.calendar-day-columns--split>.day-timeline+.day-timeline .day-timeline__corner,.calendar-day-columns--split>.day-timeline+.day-timeline .day-timeline__times{display:none}.calendar-day-columns--split>.day-timeline+.day-timeline .day-timeline__header,.calendar-day-columns--split>.day-timeline+.day-timeline .day-timeline__body{grid-template-columns:minmax(0,1fr)}.calendar-day-columns--split>.day-timeline+.day-timeline .day-timeline__therapist{border-right:0}}@media (width<=820px){.main-area:has(.page-heading--schedule) .topbar{align-items:flex-start;height:104px;padding-top:9px}.page-heading--schedule{align-items:flex-end;height:104px;padding-bottom:10px}.schedule-sticky-controls{top:104px}.main-area:has(.page-heading--schedule) .test-mode-banner{top:104px}.app-shell--test-mode .schedule-sticky-controls{top:162px}.schedule-controls{top:104px}.schedule-mode-title{gap:10px}.schedule-mode-toggle{min-height:34px;margin-left:0;font-size:9px}.agenda-week-body--calendar{height:max(360px,100dvh - 300px);max-height:max(360px,100dvh - 300px);overflow-y:auto}.calendar-day-columns,.calendar-day-columns--split{grid-template-columns:1fr;gap:10px}.day-timeline__header,.day-timeline__body{grid-template-columns:58px minmax(0,1fr)}.day-timeline__event{padding:7px 9px;left:8px;right:8px}.agenda-week-body--calendar .agenda-day{scroll-margin-top:328px}}@media (width<=560px){.schedule-mode-title{gap:8px}.schedule-mode-toggle{gap:4px;padding:3px 6px;font-size:9px}.schedule-mode-toggle>i{width:26px;height:16px}.schedule-mode-toggle>i>b{width:12px;height:12px}.schedule-mode-toggle.is-practice>i>b{transform:translate(10px)}.day-timeline__therapist{gap:6px;min-width:0;padding:8px}.day-timeline__therapist strong{font-size:12px}.day-timeline__therapist small,.day-timeline__therapist em{font-size:9px}.day-timeline__therapist em{white-space:normal;max-width:70px}.day-timeline__times span{font-size:8px;left:6px}.day-timeline__event{gap:3px;padding:6px 8px}.day-timeline__event strong{font-size:13px}.day-timeline__event small,.day-timeline__event>span:last-child{font-size:9px}}@media (width<=380px){.page-heading--schedule h1:has(.schedule-mode-title){font-size:19px}.schedule-mode-title{gap:5px}.schedule-mode-toggle{gap:3px;padding:2px 4px;font-size:8px}}@media (width<=820px){.page-heading--schedule{align-items:center;height:66px;padding:0 8px}.main-area:has(.page-heading--schedule) .topbar{align-items:center;height:66px;padding:0 8px}.page-heading--schedule h1:has(.schedule-mode-title){margin:0}.page-heading--schedule .schedule-mode-title{display:contents}.page-heading--schedule .schedule-mode-title>span{font-size:clamp(16px,4.2vw,20px);position:absolute;top:21px;left:8px}.page-heading--schedule .schedule-mode-toggle{gap:3px;min-height:40px;margin:0;padding:2px 4px;font-size:8px;position:absolute;top:13px;left:clamp(78px,24vw,100px)}.main-area:has(.page-heading--schedule) .topbar>.owner-view-toggle{gap:3px;min-height:40px;margin:0;padding:2px 5px;font-size:8px;position:absolute;top:13px;right:56px}.schedule-sticky-controls{top:66px}.main-area:has(.page-heading--schedule) .test-mode-banner{top:66px}.app-shell--test-mode .schedule-sticky-controls{top:124px}.agenda-week-body--calendar{height:max(360px,100dvh - 262px);max-height:max(360px,100dvh - 262px)}}.calendar-month-panel{position:relative;overflow:visible}.calendar-month-panel>.panel__header{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;display:grid}.calendar-month-panel .calendar-panel-heading{align-items:center;width:100%}.calendar-month-panel .calendar-period-nav{justify-content:center;gap:10px;width:100%}.calendar-month-panel>.panel__header>.muted-label{text-align:center}.calendar-week-panel>.panel__header{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;display:grid}.calendar-week-panel .calendar-panel-heading{align-items:center;width:100%}.calendar-week-panel .calendar-period-nav{justify-content:center;gap:10px;width:100%}.calendar-week-timeline__scroll{width:100%;min-width:0;max-width:100%;overflow-x:hidden}@media (width>=1101px){.calendar-week-timeline__scroll{height:var(--calendar-week-height,max(320px, calc(100dvh - 300px)));overscroll-behavior-y:auto;scrollbar-width:thin;scrollbar-color:#a5b6af transparent;overflow-y:auto}.calendar-week-timeline__scroll:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}}.calendar-week-timeline{background:#fff;grid-template-columns:60px repeat(7,minmax(0,1fr));width:100%;min-width:0;display:grid}.calendar-week-timeline__axis{z-index:7;border-right:1px solid var(--line);background:#fbfaf6;position:sticky;left:0}.calendar-week-timeline__axis span{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:750;position:absolute;left:7px;transform:translateY(-50%)}.calendar-week-timeline__axis span:first-child{transform:none}.calendar-week-timeline__day{border-right:1px solid var(--line);background:#fff;min-width:0;position:relative}.calendar-week-timeline__day:hover{cursor:pointer}.all-day-time-off{z-index:5;background:#f5f7f3;flex-wrap:wrap;gap:4px;padding:4px;display:flex;position:relative}.all-day-time-off button{color:#395448;min-width:0;max-width:100%;font:inherit;text-align:left;cursor:pointer;background:#e8eee8;border:1px solid #ced8d0;border-radius:5px;gap:2px;padding:4px 6px;font-size:12px;display:grid}.all-day-time-off button:disabled{opacity:1;cursor:default}.all-day-time-off small{color:#97532c;font-size:11px}.calendar-all-day-week{border-bottom:1px solid var(--line);background:#f5f7f3;grid-template-columns:60px repeat(7,minmax(0,1fr));display:grid}.calendar-all-day-week:before{content:""}.calendar-all-day-mobile{display:none}@media (width<=1100px){.calendar-all-day-week{display:none}.calendar-all-day-mobile{display:block}}.all-day-shading{z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,#768b7c1f 0 6px,#768b7c0a 6px 12px);position:absolute;inset:0}.month-calendar__all-day{color:#395448;background:#e8eee8;border-left:3px solid;border-radius:4px;margin-block:2px;padding:3px 5px;font-size:12px;display:block}.calendar-week-timeline__day:focus-visible{outline-offset:-2px;outline:2px solid #8eb59c}.calendar-week-timeline__menu-dismiss{z-index:68;background:0 0;position:fixed;inset:0}.calendar-week-timeline__menu{z-index:69;border:1px solid var(--line);width:200px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);background:#fff;border-radius:12px;gap:4px;padding:8px;display:grid;position:fixed}.calendar-week-timeline__menu strong{color:var(--muted);padding:5px 8px;font-size:13px}.calendar-week-timeline__menu button{min-height:40px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px;font-size:14px;font-weight:700;display:flex}.calendar-week-timeline__menu-icon{border:1.5px solid;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:17px;font-weight:600;line-height:1;display:inline-grid}.calendar-week-timeline__menu button:hover,.calendar-week-timeline__menu button:focus-visible{background:#edf5ed;outline:none}.calendar-week-timeline__day.is-today{background:#f9fcf9}.calendar-week-timeline__working{z-index:0;pointer-events:none;background:#edf5ed7a;border-left:3px solid #8eb59c;position:absolute;inset-inline:0}.calendar-week-timeline__line{z-index:1;pointer-events:none;border-top:1px solid #dfe5df;position:absolute;inset-inline:0}.calendar-week-timeline__line.is-half{border-top-color:#eef1ed}.calendar-week-timeline__buffer{padding:3px 4px;left:4px;right:4px}.calendar-week-timeline__buffer.is-primary.is-shared{width:calc(65% - 6px);right:auto}.calendar-week-timeline__buffer.is-other.is-shared{width:calc(35% - 6px);left:auto}.calendar-week-timeline__event,.calendar-week-timeline__other-group{z-index:3;min-width:0;color:var(--ink);text-align:left;background:#fff;border:1px solid #e5eae6;border-left:4px solid;border-radius:9px;flex-direction:column;gap:3px;padding:6px;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 7px #193a3512}.calendar-week-timeline__event{cursor:pointer}.calendar-week-timeline__event:hover{z-index:4;background:#f1f6f2}.calendar-week-timeline__event:disabled{cursor:default;opacity:1}.calendar-week-timeline__event.is-primary,.calendar-week-timeline__event.is-other{width:auto;left:4px;right:4px}.calendar-week-timeline__event.is-primary.is-shared{width:calc(65% - 6px);right:auto}.calendar-week-timeline__event.is-other.is-shared{width:calc(35% - 6px);left:auto}.calendar-week-timeline__event small,.calendar-week-timeline__event strong,.calendar-week-timeline__event>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.calendar-week-timeline__event small{color:var(--muted);font-size:10px;font-weight:750}.calendar-week-timeline__event strong{font-size:13px}.calendar-week-timeline__event>span{color:var(--muted);font-size:10px}.calendar-week-timeline__event.is-other strong{font-size:11px}.calendar-week-timeline__event.is-no-show{background:#f2ead8}.calendar-week-timeline__event.is-blocked{background:repeating-linear-gradient(135deg,#f6f7f5 0 8px,#e9ece9 8px 16px);border-left-color:#858f8b}@media (width>=1101px){.calendar-week-timeline__event{padding-block:4px}.calendar-week-timeline__event.is-short,.calendar-week-timeline__other-group.is-short summary{gap:0;padding:3px 4px}.calendar-week-timeline__event.is-short small,.calendar-week-timeline__event.is-short>span,.calendar-week-timeline__other-group.is-short summary small,.calendar-week-timeline__other-group.is-short summary span{display:none}}.calendar-week-timeline__other-group{background:#f7faf8;border-left-color:#87998f;width:auto;padding:0;left:4px;right:4px}.calendar-week-timeline__other-group.is-shared{width:calc(35% - 6px);left:auto}.calendar-week-timeline__other-group[open]{z-index:6;overflow:visible}.calendar-week-timeline__other-group summary{cursor:pointer;gap:3px;padding:7px;list-style:none;display:grid}.calendar-week-timeline__other-group summary::-webkit-details-marker{display:none}.calendar-week-timeline__other-group summary small,.calendar-week-timeline__other-group summary span{color:var(--muted);font-size:10px}.calendar-week-timeline__other-group summary strong{color:var(--ink);font-size:11px}.calendar-week-timeline__other-list{border:1px solid var(--line);width:225px;max-height:260px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:6px;position:absolute;top:100%;right:0;overflow-y:auto}.calendar-week-timeline__day:nth-last-child(n+5) .calendar-week-timeline__other-list{left:0;right:auto}.calendar-week-timeline__other-group.is-late .calendar-week-timeline__other-list{top:auto;bottom:100%}.calendar-week-timeline__other-list button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:0;border-radius:8px;gap:3px;padding:9px;display:grid}.calendar-week-timeline__other-list button:hover{background:#edf4ee}.calendar-week-timeline__other-list button:disabled{cursor:default;opacity:.75}.calendar-week-timeline__other-list button+button{border-top:1px solid var(--line)}.calendar-week-timeline__other-list small,.calendar-week-timeline__other-list span{color:var(--muted);font-size:11px}.calendar-week-timeline__other-list strong{font-size:12px}.calendar-week-timeline__mobile{display:none}@media (width<=1100px){.calendar-week-timeline{display:none}.calendar-week-timeline__mobile{width:100%;min-width:0;display:block}.calendar-week-timeline__mobile-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.calendar-week-timeline__mobile-heading strong{font-size:14px}.calendar-week-timeline__mobile-heading button{color:#214a40;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.calendar-week-timeline__mobile-body{grid-template-columns:58px minmax(0,1fr);width:100%;display:grid}.calendar-week-timeline__mobile-body .calendar-week-timeline__axis{position:relative}.calendar-week-timeline__axis span{font-size:9px}}.calendar-week-panel .calendar-period-nav>button,.calendar-month-panel .calendar-period-nav>button{color:#214a40;background:#fff;border:1px solid #d8e0d9;border-radius:12px;place-items:center;width:38px;height:38px;padding:0;font-size:0;transition:background .15s,border-color .15s,transform .15s;display:grid}.calendar-week-panel .calendar-period-nav>button:before,.calendar-month-panel .calendar-period-nav>button:before{content:"";border-top:2px solid;border-right:2px solid;width:8px;height:8px}.calendar-week-panel .calendar-period-nav>button:first-child:before,.calendar-month-panel .calendar-period-nav>button:first-child:before{transform:rotate(225deg)}.calendar-week-panel .calendar-period-nav>button:last-child:before,.calendar-month-panel .calendar-period-nav>button:last-child:before{transform:rotate(45deg)}.calendar-week-panel .calendar-period-nav>button:hover,.calendar-month-panel .calendar-period-nav>button:hover{background:#edf4ee;border-color:#afc3b3}.calendar-week-panel .calendar-period-nav>button:active,.calendar-month-panel .calendar-period-nav>button:active{transform:scale(.96)}.calendar-week-panel .calendar-period-nav>button:focus-visible,.calendar-month-panel .calendar-period-nav>button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.month-picker-control{justify-content:center;align-items:center;display:flex;position:relative}.month-period-trigger{min-width:250px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:2px 6px;font-family:Georgia,serif;font-size:32px;font-weight:500;line-height:1.1;display:inline-flex}.month-period-trigger:hover,.month-period-trigger[aria-expanded=true]{background:#f2f4ef}.month-period-trigger:focus-visible,.month-picker__months button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.month-period-trigger__caret{color:var(--muted);font-family:Arial,sans-serif;font-size:18px;line-height:1}.month-picker{z-index:15;border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:15px;width:min(300px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 36px #173f3b2e}.month-picker>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.month-picker>header>strong{color:var(--ink);font-size:14px}.month-picker>header>label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.month-picker>header select{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:4px 8px;font-size:13px}.month-picker__months{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.month-picker__months button{width:100%;min-width:0;min-height:42px;color:var(--ink);white-space:nowrap;cursor:pointer;background:#f5f6f2;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:5px 4px;font-size:12px;font-weight:650;display:flex}.month-picker__months button:hover{background:var(--sage-soft)}.month-picker__months button[aria-pressed=true]{border-color:var(--sage);color:#214a40;background:#e7efe8}@media (width<=560px){.calendar-month-panel .month-period-trigger{width:min(58vw,250px);min-width:0;font-size:24px}.calendar-month-panel>.panel__header{padding-inline:12px}}.schedule-sticky-controls--compact{gap:4px;padding:6px}.compact-calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.compact-calendar-toolbar .view-toggle{padding:2px}.compact-calendar-toolbar .view-toggle button{min-width:66px;height:34px}.compact-calendar-toolbar__week{justify-content:center;align-items:center;gap:3px;min-width:0;display:flex}.compact-calendar-toolbar__week button{min-width:34px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 4px;font-size:19px}.compact-calendar-toolbar__week button:hover{background:var(--sage-soft)}.compact-calendar-toolbar__week .compact-calendar-toolbar__month{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:245px;padding:0 8px;font-size:13px;font-weight:750;overflow:hidden}.compact-calendar-toolbar__week .month-period-trigger{white-space:nowrap;min-width:0;max-width:245px;height:36px;padding:0 8px;font-family:inherit;font-size:13px;font-weight:750}.compact-calendar-toolbar__week .month-period-trigger__caret{font-size:14px}.compact-calendar-toolbar__week .month-picker__months button{background:#f5f6f2;border:1px solid #0000;width:100%;min-width:0;height:auto;min-height:42px;padding:5px 4px;font-size:12px}.compact-calendar-toolbar__week .month-picker__months button[aria-pressed=true]{border-color:var(--sage);background:#e7efe8}.compact-calendar-toolbar__range{min-width:0;max-width:245px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-size:13px;font-weight:750;overflow:hidden}.week-date-picker{min-width:0;position:relative}.compact-calendar-toolbar__week .week-date-picker>.compact-calendar-toolbar__range{width:auto;font-size:13px}.week-date-picker__popover{z-index:30;border:1px solid var(--line);background:#fffdfa;border-radius:14px;width:min(300px,100vw - 32px);padding:12px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 36px #173f3b33}.week-date-picker__popover header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.week-date-picker__popover header strong{font-size:14px}.compact-calendar-toolbar__week .week-date-picker__popover header button{width:30px;min-width:30px;height:30px;font-size:22px}.week-date-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.week-date-picker__grid>span{color:var(--muted);text-align:center;padding:5px 0;font-size:10px;font-weight:750}.compact-calendar-toolbar__week .week-date-picker__grid button{border-radius:6px;width:100%;min-width:0;height:34px;padding:0;font-size:12px}.week-date-picker__grid button.is-outside{color:var(--muted);opacity:.6}.week-date-picker__grid button.is-current-week{background:#dfebe3}.week-date-picker__grid button.is-today{outline-offset:-2px;outline:1px solid #668c77}.week-date-picker__grid button:focus-visible,.week-date-picker>button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.compact-calendar-toolbar__month span{color:var(--sage);margin-left:5px}.compact-calendar-toolbar__actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.compact-calendar-toolbar__actions>.schedule-refresh-button{flex:0 0 38px;width:38px;height:38px}:is(.view-stack:has(>.agenda-week-body--agenda),.view-stack:has(>.agenda-week-panel),.view-stack:has(>.agenda-month-panel)){row-gap:0}.agenda-week-body--agenda{gap:0}.agenda-week-body--agenda .agenda-week-availability-legend{border-top:0}@media (width>=1101px){:is(.workspace:has(.agenda-week-body--agenda),.workspace:has(.agenda-week-panel),.workspace:has(.agenda-month-panel)){padding-top:0}:is(.view-stack:has(>.agenda-week-body--agenda)>.schedule-sticky-controls--compact,.view-stack:has(>.agenda-week-panel)>.schedule-sticky-controls--compact,.view-stack:has(>.agenda-month-panel)>.schedule-sticky-controls--compact){border-radius:0}.agenda-week-panel,.agenda-month-panel{border-top:0;border-radius:0 0 22px 22px}}.calendar-week-dates{border-top:1px solid var(--line);background:#f8faf7;border-radius:0 0 12px 12px;margin:0 -6px -6px;overflow:hidden}.calendar-week-dates__desktop{grid-template-columns:60px repeat(7,minmax(0,1fr));display:grid}.calendar-week-dates__corner,.calendar-week-dates__day{border:0;border-right:1px solid var(--line);text-align:left;background:#f8faf7;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:62px;padding:8px 5px;display:flex}.calendar-week-dates__corner{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.calendar-week-dates__day{color:var(--ink);cursor:pointer}.calendar-week-dates__day:hover,.calendar-week-dates__day.is-today{background:#edf4ee}.calendar-week-dates__day strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(10px,1vw,14px);overflow:hidden}.calendar-week-dates__day small{color:var(--muted);font-size:11px}.calendar-week-dates__mobile{display:none}@media (width>=1101px){:is(.workspace:has(.calendar-week-panel),.workspace:has(.calendar-month-panel)){padding-top:0}.view-stack:has(>.calendar-month-panel){row-gap:0}.view-stack:has(>.calendar-month-panel)>.schedule-sticky-controls--compact{border-radius:0}.calendar-month-panel{border-top:0;border-radius:0 0 22px 22px}.view-stack:has(>.calendar-week-panel){row-gap:0}:is(.view-stack:has(>.calendar-week-panel)>.schedule-sticky-controls--compact,.view-stack:has(>.calendar-week-panel) .calendar-week-dates){border-radius:0}.calendar-week-dates__desktop .calendar-week-dates__day,.calendar-week-dates__desktop .calendar-week-dates__corner{min-height:46px}.calendar-week-panel{border-top:0;border-radius:0 0 22px 22px}}.compact-calendar-band{background:var(--paper);border-radius:11px}.compact-calendar-band .week-strip{padding:2px 4px}.compact-calendar-band .week-strip button{border-radius:9px;gap:2px;min-width:0;min-height:62px;padding:4px 2px}.compact-calendar-band .week-strip small{font-size:10px}.compact-calendar-band .week-strip strong{font-size:19px;line-height:1}.compact-calendar-band .week-strip span{font-size:10px}.compact-calendar-band .week-strip .week-strip__availability{width:min(34px,80%);height:4px;margin-top:1px}.compact-calendar-band .compact-calendar-count--mobile{display:none}.view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:200px}.app-shell--test-mode .view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:252px}@media (width<=1100px){.calendar-week-dates__desktop{display:none}.calendar-week-dates__mobile{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week-dates__mobile button{border:0;border-right:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;background:#f8faf7;justify-items:center;gap:3px;padding:8px 0;display:grid}.calendar-week-dates__mobile button.is-selected{color:#fff;background:#1b403c}.calendar-week-dates__mobile span{font-size:10px;font-weight:700}.calendar-week-dates__mobile strong{font-size:14px}}@media (width<=680px){.compact-calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:3px 6px}.compact-calendar-toolbar .view-toggle{width:100%;min-width:0}.compact-calendar-toolbar .view-toggle button{flex:1;min-width:0;height:34px;padding-inline:4px}.compact-calendar-toolbar__week{grid-area:2/1/auto/-1}.compact-calendar-toolbar__week .compact-calendar-toolbar__month,.compact-calendar-toolbar__range{font-size:12px}.compact-calendar-band .week-strip{padding:2px}.compact-calendar-band .week-strip button{gap:2px;min-height:55px;padding:3px 1px}.compact-calendar-band .week-strip small{font-size:9px}.compact-calendar-band .week-strip strong{font-size:17px}.compact-calendar-band .week-strip .compact-calendar-count--desktop{display:none}.compact-calendar-band .week-strip .compact-calendar-count--mobile{font-size:9px;display:block}.view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:216px}.app-shell--test-mode .view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:274px}}@media (width<=820px){.view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:178px}.app-shell--test-mode .view-stack:has(.schedule-sticky-controls--compact) .agenda-day{scroll-margin-top:236px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
