@font-face{font-family:Satoshi;src:url(/fonts/satoshi/satoshi-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi/satoshi-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi/satoshi-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fdfdfd;--surface:#fff;--surface-soft:#f6f6f6;--surface-strong:#eee;--text:#171717;--muted:#616161;--primary:#0f8c79;--primary-strong:#0b7464;--danger:#b42318;--danger-strong:#8e1a12;--border:#e4e4e4;--button-bg:var(--primary);--button-bg-hover:var(--primary-strong);--button-text:#fff;--button-secondary-bg:#fff;--button-secondary-hover:#f2f2f2;--button-secondary-text:#0f8c79;--button-accent:#0f8c79;--button-accent-hover:#0b7464;--interactive-surface-hover-border:#60768e57;--interactive-surface-hover-bg:#f5f8fb;--interactive-surface-hover-shadow:0 10px 22px #3e52661a;--interactive-surface-selected-border:#60768e7a;--interactive-surface-selected-bg-top:#60768e1a;--interactive-surface-selected-bg-bottom:#60768e0a;--interactive-surface-selected-shadow:#60768e2e;--shadow-soft:0 10px 28px #17171714;--overlay-backdrop:#0f172a61;--overlay-background-filter:blur(10px) saturate(92%);--scrollbar-track:#ececec;--scrollbar-thumb:#b8b8b8;--scrollbar-thumb-hover:#8f8f8f;--notification-unread-border:#f1b8bf;--notification-unread-bg:#fff9fa;--notification-unread-accent:#cf3651;--danger-soft-border:#f1b8bf;--danger-soft-bg:#fff5f6;--calendar-today-border-strong:var(--primary);--fs-3xs:9px;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:22px;--fs-4xl:24px;--fs-5xl:28px;--fs-6xl:32px;--fs-7xl:34px;--fs-8xl:36px;--fs-h1:var(--fs-5xl);--fs-h2:var(--fs-3xl);--fs-h3:var(--fs-xl);--fs-h4:var(--fs-lg);--fs-body:var(--fs-base);--fs-control:var(--fs-sm);--fs-tab:var(--fs-md);--fs-small:var(--fs-sm);--fs-display:var(--fs-8xl);--fs-lead:var(--fs-2xl);--fc-small-font-size:var(--fs-2xs);--fc-font-family:"Satoshi", "Segoe UI", "Noto Sans", "Helvetica Neue", sans-serif}@media (max-width:640px){:root{--fs-3xs:9px;--fs-2xs:9px;--fs-xs:10px;--fs-sm:11px;--fs-md:12px;--fs-base:13px;--fs-lg:15px;--fs-xl:17px;--fs-2xl:18px;--fs-3xl:20px;--fs-4xl:22px;--fs-5xl:24px;--fs-6xl:28px;--fs-7xl:28px;--fs-8xl:30px}}
*{box-sizing:border-box}html{scrollbar-gutter:stable;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-size:var(--fs-body);background:var(--bg);color:var(--text);-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-family:Satoshi,Segoe UI,Noto Sans,Helvetica Neue,sans-serif!important}html,body,input,select,textarea,button,table,th,td{font-family:Satoshi,Segoe UI,Noto Sans,Helvetica Neue,sans-serif!important}a{color:inherit}.phone-link{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px}.phone-link:hover,.phone-link:focus-visible{color:var(--primary)}main{width:min(100%,1080px);max-width:1080px;margin:0 auto;padding:21px}h1,h2,h3,h4{line-height:1.2}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{font-size:var(--fs-body)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.card-narrow{justify-self:start;width:100%;max-width:588px;overflow-x:hidden}.table-card{justify-self:start;width:fit-content;min-width:min(100%,588px);max-width:100%}.grid{gap:12px;display:grid}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}label{margin-bottom:2px;font-weight:600;display:block}input,select,textarea,button{border:1px solid var(--border);width:100%;font-size:var(--fs-control);border-radius:9px;padding:8px 10px;font-family:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}textarea{min-height:92px}fieldset{border:1px solid var(--border);border-radius:9px;margin:0;padding:8px}legend{padding:0 5px;font-weight:700}button{cursor:pointer;background:var(--button-bg);color:var(--button-text);font-weight:600}button:hover{background:var(--button-bg-hover)}button.secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}button.secondary:hover{background:var(--button-secondary-hover)}button.danger{background:var(--danger)}button.danger:hover{background:var(--danger-strong)}.cancel-action-button-label{justify-content:center;align-items:center;gap:8px;display:inline-flex}.cancel-action-button-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}button.btn-noshow,.calendar-item.calendar-item-noshow,.calendar-item-button.calendar-item-noshow{color:#fff;background:#ff8c00;border-color:#e67e00;font-weight:600}button.btn-noshow:hover,.calendar-item-noshow.calendar-item-button:hover,.calendar-item-noshow.calendar-item-button:focus-visible{color:#fff;background:#e67e00;border-color:#e67e00}button.btn,a.btn{border:1px solid var(--border);width:auto;min-width:160px;font-size:var(--fs-control);cursor:pointer;background:var(--button-bg);color:var(--button-text);border-radius:9px;justify-content:center;justify-self:start;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-weight:600;text-decoration:none;display:inline-flex}button.btn:hover,a.btn:hover{background:var(--button-bg-hover)}button.btn.btn-secondary,a.btn.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}button.btn.btn-secondary:hover,a.btn.btn-secondary:hover{background:var(--button-secondary-hover)}button.btn.btn-danger,a.btn.btn-danger{background:var(--danger);color:#fff}button.btn.btn-danger:hover,a.btn.btn-danger:hover{background:var(--danger-strong)}button.btn.btn-ghost,a.btn.btn-ghost{color:var(--text);background:0 0}button.btn.btn-full,a.btn.btn-full{justify-self:stretch;width:100%;min-width:0}button.btn.btn-mobile-full,a.btn.btn-mobile-full{width:auto;min-width:160px}.btn-group{flex-wrap:wrap;gap:6px;display:flex}.btn-group.equal>*{flex:1 1 0;min-width:0}.button-row{flex-wrap:wrap;gap:6px;display:flex}.button-row button{width:auto;min-width:160px}.action-row-inline{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.action-row-inline>*{min-width:0}.action-row-inline>button,.action-row-inline>.filter-reset{width:auto;min-width:160px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:9px}.table-header-wrap{white-space:normal;line-height:1.3}.muted{color:var(--muted)}.payment-input-inactive{color:#7b8592;cursor:not-allowed;background:#f3f4f6;border-color:#d7dbe0}.payment-input-readonly{color:var(--text);background:#f8fafc;border-color:#d7dbe0}.payment-field-head{justify-content:space-between;align-items:center;gap:8px;min-height:36px;display:flex}.payment-icon-button{flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;display:inline-flex}.client-booking-note-content{border:1px solid var(--border);background:var(--surface-soft);white-space:pre-wrap;border-radius:10px;margin:0;padding:10px}.error{color:var(--danger);margin-top:7px}.success{color:var(--primary-strong);margin-top:7px}.stack{gap:8px;display:grid}.stack-tight{gap:4px}.stack>*{min-width:0}.profile-counseling-services-list{gap:4px;display:grid}.profile-counseling-service-row{align-items:center;gap:4px;display:flex}.profile-counseling-service-row input{flex:1;min-width:0}.profile-counseling-service-remove{flex-shrink:0}input[type=date],input[type=time],input[type=datetime-local]{width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left}input[type=time]::-webkit-date-and-time-value{text-align:left}input[type=datetime-local]::-webkit-date-and-time-value{text-align:left}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.compact-feedback{font-size:var(--fs-2xs);margin:3px 0 0}.field-required-error{font-size:var(--fs-2xs);color:var(--danger);margin:3px 0 0}input.field-required-invalid,select.field-required-invalid,textarea.field-required-invalid{border-color:var(--danger)}
.badge{font-size:var(--fs-xs);border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;padding:3px 9px;display:inline-block}.badge-paid{color:#1a6c3c;background:#e7f8ee;border-color:#87c9a2}.badge-unpaid{color:#9d2337;background:#fdebec;border-color:#f1b8bf}.badge-partial{color:#9a6b00;background:#fff6d8;border-color:#e8c767}.badge-canceled{color:#9d2337;background:#fdebec;border-color:#f1b8bf}.badge-noshow{color:#c43200;background:#fff0e6;border-color:#ffc9a8}button.badge-button{width:auto;min-width:auto;padding:3px 9px;font-weight:500}button.badge-button:hover{filter:brightness(.98)}button.badge-button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.actions-compact{flex-wrap:wrap;gap:5px;display:flex}.button-sm,.btn-sm{width:auto;min-width:auto;font-size:var(--fs-xs);padding:5px 7px;line-height:1.2}.btn-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:inline-flex}
.page-header{gap:6px;min-width:0;padding:2px 0;display:grid}.page-header h1{font-size:clamp(var(--fs-5xl), 2.2vw, var(--fs-7xl));letter-spacing:-.015em;color:var(--text);margin:0;line-height:1.12}.page-header p{color:var(--muted);margin:0}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.page-header-meta{flex-wrap:wrap;gap:8px;display:flex}.page-header-meta-item{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.page-header-meta-label{color:var(--muted);font-size:var(--fs-sm)}.page-header-meta-value{font-size:var(--fs-sm);color:var(--text);font-weight:600}
.form-shell{width:min(100%,560px);min-width:0}.form-shell-wide{width:min(100%,760px)}.form-grid{gap:8px;display:grid}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.field-span-full{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-actions>*{width:auto;min-width:160px}.form-actions-equal>*{flex:1 1 0;min-width:0}
.tab-bar{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.tab-button{width:auto;min-width:auto;color:var(--text);font-weight:600;font-size:var(--fs-tab);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.tab-button:hover{border-color:var(--border);background:var(--surface)}.tab-button.active{border-color:var(--primary);background:var(--surface);color:var(--primary-strong)}.tab-bar-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);flex-wrap:nowrap;overflow:auto hidden}.tab-bar-scroll .tab-button{white-space:nowrap;flex:none}.tab-bar-scroll::-webkit-scrollbar{height:10px}.tab-bar-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.tab-bar-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.tab-bar-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.page-section-tabs-layout{justify-self:stretch;gap:8px;width:100%;min-width:0;max-width:100%;display:grid}.page-section-tabs-layout-folder{gap:0}.page-section-tabs-layout-folder>.tab-bar-scroll{--page-section-tabs-end-reserve:18px;width:100%;min-width:0;max-width:100%;padding-inline-end:var(--page-section-tabs-end-reserve);scroll-padding-inline-end:var(--page-section-tabs-end-reserve);overflow:auto hidden}.page-section-tabs-layout-folder>.tab-bar-scroll .tab-button{white-space:nowrap;flex:none}.page-section-tabs-adaptive{position:relative}.page-section-tabs-layout-folder>.page-section-tabs-adaptive{overflow:visible}.page-section-tabs-adaptive .sessions-tab-button{filter:drop-shadow(-4px -2px 5px #1717170d)drop-shadow(5px -2px 6px #17171712);transition:color .18s,filter .18s,margin-inline-start .18s}.page-section-tabs-adaptive .sessions-tab-button.active{filter:drop-shadow(-4px -3px 5px #1717170f)drop-shadow(5px -3px 7px #17171714)}.page-section-tabs-adaptive .sessions-tab-button:not(.active):hover,.page-section-tabs-adaptive .sessions-tab-button:not(.active):focus-visible{filter:drop-shadow(-4px -2px 6px #17171712)drop-shadow(5px -2px 7px #17171717)}.page-section-tabs-layout-folder>.page-section-tabs-compact{overflow:visible}.page-section-tabs-more{--sessions-tab-fill:color-mix(in srgb, var(--surface) 92%, var(--primary) 8%);--sessions-tab-radius:14px;--sessions-tab-slant:18px;z-index:1;min-height:46px;margin-right:var(--sessions-tab-slant);flex:none;align-self:flex-end;align-items:flex-end;margin-bottom:-1px;display:flex;position:relative}.page-section-tabs-more.is-open{z-index:110}.page-section-tabs-more-trigger{z-index:1;width:42px;min-width:42px;height:46px;min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0 8px;transition:color .18s;display:inline-flex;position:relative;overflow:visible}.page-section-tabs-more-trigger:after{content:"";inset:0 calc(-1 * var(--sessions-tab-slant)) 0 0;z-index:-1;border-radius:var(--sessions-tab-radius) 0 0 0;background:var(--sessions-tab-fill);clip-path:polygon(0 0, calc(100% - var(--sessions-tab-slant)) 0, 100% 100%, 0 100%);pointer-events:none;position:absolute}.page-section-tabs-more-trigger:hover,.page-section-tabs-more-trigger:focus-visible{--sessions-tab-fill:color-mix(in srgb, var(--surface) 96%, var(--primary) 4%);color:var(--text);background:0 0}.page-section-tabs-more-trigger[aria-expanded=true],.page-section-tabs-more-trigger.active{--sessions-tab-fill:var(--surface);color:var(--primary-strong);background:0 0}.page-section-tabs-more-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 28%, transparent);outline-offset:2px}.page-section-tabs-more-trigger[aria-expanded=true] svg{transform:rotate(45deg)}.page-section-tabs-more-trigger svg{z-index:1;flex-shrink:0;transition:transform .18s;position:relative}.page-section-tabs-more-menu{z-index:180;border:1px solid var(--border);background:var(--surface);min-width:190px;max-width:min(320px,100vw - 32px);box-shadow:var(--shadow-soft);border-radius:10px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.page-section-tabs-more-item{width:100%;min-width:0;color:var(--text);font-size:var(--fs-sm);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;padding:9px 10px;font-weight:650;line-height:1.25;text-decoration:none;display:flex}.page-section-tabs-more-item:hover,.page-section-tabs-more-item:focus-visible{background:var(--surface-soft);outline:none}.page-section-tabs-more-item:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 28%, transparent)}.page-section-tabs-more-item.active{color:var(--primary-strong);background:color-mix(in srgb, var(--surface) 92%, var(--primary) 8%)}.page-section-tabs-layout-folder>.page-section-tabs-measure,.page-section-tabs-measure{z-index:-1;visibility:hidden;pointer-events:none;width:max-content;max-width:none;height:0;position:absolute;inset:0 auto auto 0;overflow:hidden}.page-section-tabs-measure .tab-button{white-space:nowrap;flex:none}.page-section-tabs-panel{background:var(--surface);width:100%;min-width:0;max-width:100%}.page-section-tabs-panel-folder{z-index:40;box-shadow:none;border:0;border-radius:0 14px 14px;margin-top:-2px;padding:22px;position:relative}.page-section-tabs-panel-folder>:first-child{margin-top:0}
.autocomplete{position:relative}.autocomplete-list{z-index:20;border:1px solid var(--border);background:var(--surface);max-height:220px;box-shadow:var(--shadow-soft);border-radius:9px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.autocomplete-item{border:0;border-bottom:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;font-size:var(--fs-xs);border-radius:0;padding:7px 9px;display:block}.autocomplete-item:last-child{border-bottom:0}.autocomplete-item:hover{background:var(--surface-soft)}
.portal-page{gap:16px;width:min(100%,708px);max-width:708px}.portal-primary-column{gap:14px;width:100%}.portal-surface{background:linear-gradient(180deg, #fffffffa, #f8fbf9f5), var(--surface);border-color:#0f8c791a;border-radius:20px;box-shadow:inset 0 1px #ffffffd1,0 14px 32px #0b1c300d}.portal-header-block{gap:14px}.portal-tenant-brand{gap:12px;display:grid}.portal-tenant-meta{gap:8px}.portal-selector-surface{background:linear-gradient(#edf7f4eb,#f5fbf8fa);border:1px solid #0f8c791a;border-radius:18px;gap:12px;padding:16px 18px;box-shadow:inset 0 1px #ffffffb8}.portal-section-head{gap:8px}.portal-section-head>*{margin:0}.portal-action-row{border-top:1px solid #0f8c7914;padding-top:4px}.portal-action-row .logout-button{width:100%}.portal-appointments-table{table-layout:fixed}.portal-appointments-surface{gap:12px;width:100%}.portal-profile-selector{flex-wrap:wrap;gap:10px;display:flex}.portal-profile-chip{min-height:40px;color:var(--text);font-size:var(--fs-sm);text-align:center;background:#ffffffe0;border:1px solid #0f8c791a;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.portal-profile-chip.is-active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, white);color:var(--primary-strong);box-shadow:0 6px 16px #0f8c791a}.portal-consent-collapsed{align-items:flex-start;gap:12px;width:100%}.portal-consent-collapsed>*{margin:0}.portal-consent-collapsed .btn{width:fit-content;min-width:0}.portal-consent-panel{gap:12px;width:100%}.portal-consent-title{margin:0}.portal-consent-copy{background:linear-gradient(#edf7f4eb,#f5fbf8fa);border:1px solid #0f8c791a;border-radius:18px;gap:10px;padding:16px 18px;box-shadow:inset 0 1px #ffffffb8}.portal-consent-section{background:linear-gradient(#fbfdfcfa,#f4f9f7f5);border:1px solid #0f8c791a;border-radius:18px;gap:12px;padding:16px 18px 18px;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #0b1c3008}.portal-consent-section legend{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 4px;font-weight:700}.portal-consent-footer{border-top:1px solid #0f8c7914;padding-top:6px}.portal-consent-feedback{margin:0}.portal-appointments-table__status-col{width:92px}.portal-appointments-table__action-col{width:84px}.portal-appointments-table__date-cell{overflow-wrap:anywhere;min-width:0;line-height:1.45}.portal-appointments-table__date-cell .muted{font-size:var(--fs-xs);margin-bottom:2px;display:block}.portal-appointments-table__status-cell,.portal-appointments-table__action-cell,.portal-appointments-table th:nth-child(2),.portal-appointments-table th:nth-child(3){white-space:nowrap}.portal-appointments-table__action-cell{vertical-align:middle}.portal-appointments-table__action-cell .stack{justify-items:stretch}.portal-appointments-table__action-cell button.danger{width:100%;min-width:0;padding-inline:10px}@media (min-width:680px){.portal-tenant-brand{grid-template-columns:auto minmax(0,1fr);align-items:center}}
.consent-panel{padding-top:2px;position:relative}.consent-panel-title{margin:0;padding-right:112px}.consent-collapse-button{width:auto;min-width:auto;font-size:var(--fs-xs);padding:4px 8px;line-height:1.2;position:absolute;top:0;right:0}.consent-content{gap:6px;display:grid}.consent-content p{margin:0}.consent-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.consent-field-grid-full{grid-column:1/-1}.consent-subsection{background:var(--surface-soft)}.client-consent-form{gap:16px;width:min(100%,720px)}.client-consent-meta-surface{background:linear-gradient(#edf7f4eb,#f5fbf8fa);border:1px solid #0f8c791a;border-radius:18px;gap:6px;padding:16px 18px;display:grid;box-shadow:inset 0 1px #ffffffb3}.client-consent-meta-surface p{margin:0}.client-consent-section{background:linear-gradient(#fbfdfcfa,#f4f9f7f5);border:1px solid #0f8c791a;border-radius:18px;padding:16px 18px 18px;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #0b1c3008}.client-consent-readonly-field{background:#fff;border:1px solid #0f8c7914;border-radius:14px;gap:4px;min-width:0;padding:12px 14px;display:grid;box-shadow:inset 0 1px #ffffffb8}.client-consent-readonly-label,.client-consent-readonly-value{margin:0}.client-consent-readonly-label{font-size:var(--fs-xs)}.client-consent-readonly-value{color:var(--text);font-size:var(--fs-sm);word-break:break-word;font-weight:600;line-height:1.45}.client-consent-actions{border-top:1px solid var(--border);padding-top:4px}.client-consent-feedback-stack{gap:8px;display:grid}.consent-note{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.45}.consent-inline-note{font-size:var(--fs-2xs);color:var(--muted);font-weight:500}.consent-checkbox-list{flex-wrap:wrap;gap:8px 12px;display:flex}.consent-approval-options{flex-wrap:wrap;gap:10px 16px;display:flex}.consent-approval-checkbox{width:fit-content}.consent-draft-note{margin:0}.consent-settings-textarea{min-height:260px}.legal-document-settings-textarea{min-height:280px}.settings-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.appointment-disclosure-edit-button{flex-shrink:0;align-items:center;gap:8px;width:auto;min-width:auto;display:inline-flex}.appointment-disclosure-edit-icon{width:18px;height:18px;display:block}.appointment-disclosure-field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.appointment-disclosure-preview{gap:4px;display:grid}.appointment-disclosure-preview-surface{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;padding:12px}.legal-document-content{gap:10px;display:grid}.legal-document-content p{margin:0;line-height:1.5}
.sessions-table-scroll thead th,.clients-table-scroll thead th,.calendar-table thead th{z-index:3;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border);background-clip:padding-box;position:sticky;top:0}.sessions-tab-bar{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);flex-wrap:nowrap;overflow-x:auto}.sessions-tab-button{text-align:center;min-width:0}.specialist-switcher{width:fit-content;position:relative}button.specialist-switcher-trigger{border-color:color-mix(in srgb, var(--primary) 12%, var(--border));background:color-mix(in srgb, var(--surface) 94%, var(--primary) 6%);width:auto;min-width:220px;max-width:min(320px,100vw - 32px);height:48px;color:var(--text);border-radius:999px;justify-content:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 7px;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 24px #0f8c7914}button.specialist-switcher-trigger:hover,button.specialist-switcher-trigger:focus-visible,button.specialist-switcher-trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--primary) 18%);outline:none;box-shadow:0 12px 28px #0f8c7924}.specialist-switcher-avatar{background:color-mix(in srgb, var(--primary) 24%, var(--surface));width:32px;height:32px;color:var(--primary-strong);font-size:var(--fs-sm);border-radius:999px;flex:0 0 32px;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.specialist-switcher-trigger-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-size:var(--fs-base);flex:auto;font-weight:700;overflow:hidden}.specialist-switcher-chevron{color:var(--text);flex:none}.specialist-switcher-popover{z-index:50;border:1px solid color-mix(in srgb, var(--primary) 10%, var(--border));background:color-mix(in srgb, var(--surface) 97%, var(--primary) 3%);border-radius:14px;width:min(320px,100vw - 32px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 42px #17171721}.specialist-switcher-search{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;display:flex;position:relative}.specialist-switcher-search-icon{color:var(--muted);pointer-events:none;position:absolute;left:14px}.specialist-switcher-search input{width:100%;height:48px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:8px 12px 8px 42px}.specialist-switcher-search input:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent);outline:none}.specialist-switcher-list{max-height:min(280px,100dvh - 230px);padding:8px;overflow-y:auto}button.specialist-switcher-option,button.specialist-switcher-all-option{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px;transition:background-color .18s,color .18s;display:flex}button.specialist-switcher-option:hover,button.specialist-switcher-option:focus-visible,button.specialist-switcher-all-option:hover,button.specialist-switcher-all-option:focus-visible{background:color-mix(in srgb, var(--primary) 10%, transparent);outline:none}button.specialist-switcher-option.is-selected,button.specialist-switcher-all-option.is-selected{background:color-mix(in srgb, var(--primary) 11%, var(--surface));color:var(--primary-strong)}.specialist-switcher-option-copy{flex:auto;gap:2px;min-width:0;display:grid}.specialist-switcher-option-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-base);font-weight:700;overflow:hidden}.specialist-switcher-option-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-sm);font-weight:500;overflow:hidden}.specialist-switcher-check{color:var(--primary);flex:none}.specialist-switcher-empty{margin:0;padding:12px 10px}button.specialist-switcher-all-option{border-top:1px solid var(--border);border-radius:0;justify-content:flex-start;padding:12px 18px;font-weight:700}.specialist-switcher-users{color:var(--muted);flex:none}.compact-table th,.compact-table td{font-size:var(--fs-xs);padding:5px 7px}.compact-table tbody tr.session-day-divider td{border-top:2px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%)}.sessions-table-scroll,.clients-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);width:100%;min-width:0;max-width:100%;max-height:clamp(320px,62dvh,720px);overflow:auto}.calendar-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);max-height:clamp(360px,72dvh,820px);overflow:auto}.sessions-tab-bar::-webkit-scrollbar{height:10px}.table-scroll::-webkit-scrollbar{height:10px}.sessions-table-scroll::-webkit-scrollbar{height:10px}.clients-table-scroll::-webkit-scrollbar{height:10px}.calendar-table-scroll::-webkit-scrollbar{height:10px}.sessions-tab-bar::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.sessions-table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.clients-table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.calendar-table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.sessions-tab-bar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.sessions-table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.clients-table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.calendar-table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.sessions-tab-bar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sessions-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.clients-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.calendar-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sessions-table-scroll{--table-scroll-min-width:860px}.table-scroll>table,.sessions-table-scroll .compact-table,.clients-table-scroll .table{width:max-content;min-width:var(--table-scroll-min-width,760px)}.sessions-table-scroll .compact-table,.clients-table-scroll .table,.calendar-table{border-collapse:separate;border-spacing:0}.table-scroll>table th,.table-scroll>table td,.sessions-table-scroll .compact-table th,.sessions-table-scroll .compact-table td,.clients-table-scroll .table th,.clients-table-scroll .table td{white-space:nowrap}.table-scroll>table th.table-header-wrap,.sessions-table-scroll .compact-table th.table-header-wrap,.clients-table-scroll .table th.table-header-wrap{white-space:normal}.platform-subscriptions-table-card{justify-self:stretch;width:100%;min-width:0;max-width:100%;overflow:hidden}.platform-subscriptions-table-scroll{--platform-subscriptions-table-min-width:1180px;width:100%;inline-size:100%;-webkit-overflow-scrolling:touch;contain:inline-size;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);min-width:0;max-width:100%;display:block;overflow:auto hidden}.platform-subscriptions-table-scroll>table{width:100%;min-width:max(100%, var(--platform-subscriptions-table-min-width))}@media (max-width:1024px){.platform-subscriptions-table-scroll{--platform-subscriptions-table-min-width:1040px}}@media (max-width:640px){.platform-subscriptions-table-scroll{--platform-subscriptions-table-min-width:920px}}.clinical-table-card{border-color:color-mix(in srgb, var(--primary) 10%, var(--border));padding:0;overflow:hidden;box-shadow:0 14px 32px #0b1c300f}.clinical-table-card>h2{margin:0;padding:18px 20px 14px}.sessions-table-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:18px 20px 14px;display:flex}.sessions-table-toolbar h2{min-width:0;margin:0}.sessions-table-filter{grid-template-columns:minmax(150px,210px) minmax(220px,340px) auto;align-items:center;gap:10px;min-width:min(100%,680px);display:grid}.sessions-table-filter-control{border-color:color-mix(in srgb, var(--primary) 10%, var(--border));background:var(--surface);width:100%;min-width:0;height:42px;font-size:var(--fs-base);box-shadow:inset 0 1px #fff9}.sessions-table-filter-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);outline:none}.sessions-table-search-input{padding-left:12px}.sessions-table-filter-button{white-space:nowrap;justify-content:center;align-items:center;width:auto;min-width:112px;height:42px;display:inline-flex}.clinical-table-scroll{max-height:clamp(360px,66dvh,760px)}.sessions-table-scroll .clinical-table,.clients-table-scroll .clinical-table,.table-scroll>.clinical-table{width:100%;min-width:max(var(--table-scroll-min-width,760px), 100%)}.clinical-table thead th{background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:color-mix(in srgb, var(--text) 88%, var(--primary));font-size:var(--fs-sm);letter-spacing:0;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--primary) 12%, var(--border));padding:17px 20px;font-weight:700}.clinical-table th,.clinical-table td{border-bottom-color:color-mix(in srgb, var(--primary) 8%, var(--border))}.clinical-table tbody td{font-size:var(--fs-base);color:var(--text);vertical-align:middle;padding:18px 20px}.clinical-table tbody tr{background:var(--surface)}.clinical-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 3%, var(--surface))}.clinical-table tbody tr.session-row-canceled,.clinical-table tbody tr.session-row-canceled:hover{background:color-mix(in srgb, #fdebec 18%, var(--surface))}.clinical-table tbody tr.session-row-noshow,.clinical-table tbody tr.session-row-noshow:hover{background:color-mix(in srgb, #fff0e6 18%, var(--surface))}.clinical-table tbody tr.session-day-divider td{border-top:2px solid color-mix(in srgb, var(--primary) 20%, var(--border))}.clinical-table tbody td:first-child>div:first-child{font-size:var(--fs-base);color:color-mix(in srgb, var(--text) 94%, var(--primary));font-weight:700;line-height:1.35}.clinical-table tbody tr.session-row-canceled td:first-child>div:first-child{color:#7f1d1d}.clinical-table tbody tr.session-row-noshow td:first-child>div:first-child{color:#9a3412}.clinical-table tbody td:first-child .muted{font-size:var(--fs-base);margin-top:5px;line-height:1.4}.clinical-table .session-client-summary{flex-wrap:wrap;align-items:center;gap:0;display:flex}.clinical-table .session-type-tooltip-wrap{vertical-align:middle}.clinical-table .session-type-icon{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--surface));width:24px;height:24px;color:color-mix(in srgb, var(--primary) 72%, var(--text));cursor:help;border-radius:999px;justify-content:center;align-items:center;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.clinical-table .session-type-action{appearance:none;cursor:pointer;padding:0}.clinical-table .session-type-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.clinical-table .session-type-icon svg.google-meet-logo{width:15px;height:13px;fill:initial;stroke:none}.clinical-table .session-type-icon svg.google-meet-logo *{stroke:none}.clinical-table .session-type-icon-online{background:color-mix(in srgb, var(--primary) 8%, var(--surface));border-color:color-mix(in srgb, var(--primary) 24%, var(--border));color:color-mix(in srgb, var(--primary) 78%, var(--text))}.clinical-table .session-type-icon:hover,.clinical-table .session-type-icon:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);box-shadow:var(--interactive-surface-hover-shadow);outline:none}.clinical-table .session-type-icon-in-person{background:color-mix(in srgb, #10b981 8%, var(--surface));border-color:color-mix(in srgb, #10b981 20%, var(--border));color:color-mix(in srgb, #047857 72%, var(--text))}.clinical-table .session-type-icon-in-person:hover,.clinical-table .session-type-icon-in-person:focus-visible{background:var(--interactive-surface-hover-bg);border-color:var(--interactive-surface-hover-border);color:#047857;box-shadow:var(--interactive-surface-hover-shadow)}.clinical-table .session-type-tooltip-content{white-space:nowrap;left:50%;right:auto;transform:translate(-50%,2px)}.clinical-table .session-type-tooltip-wrap:hover .session-type-tooltip-content,.clinical-table .session-type-tooltip-wrap:focus-within .session-type-tooltip-content{transform:translate(-50%)}.clinical-table .session-notes-cell{min-width:78px}.clinical-table .session-notes-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.clinical-table .session-notes-trigger{appearance:none;min-height:28px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.clinical-table .session-notes-trigger:disabled{cursor:not-allowed;opacity:.58}.clinical-table .session-notes-trigger:not(:disabled):hover .session-notes-trigger-icon,.clinical-table .session-notes-trigger:not(:disabled):focus-visible .session-notes-trigger-icon{background:var(--interactive-surface-hover-bg);border-color:var(--interactive-surface-hover-border);color:#047857;box-shadow:var(--interactive-surface-hover-shadow)}.clinical-table .session-notes-trigger:focus-visible{outline:none}.clinical-table .session-notes-trigger:focus-visible .session-notes-trigger-icon{outline:2px solid color-mix(in srgb, var(--primary) 32%, transparent);outline-offset:2px}.clinical-table .session-notes-trigger-label{color:color-mix(in srgb, var(--text) 84%, var(--primary));font-size:var(--fs-xs);white-space:nowrap;font-weight:800;line-height:1}@media (hover:hover) and (pointer:fine){.clinical-table .session-notes-tooltip-wrap[data-tooltip]:after,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:after,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:after{content:attr(data-tooltip);z-index:2000;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;border-radius:7px;padding:5px 8px;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.clinical-table .session-notes-tooltip-wrap[data-tooltip]:before,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:before,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:before{content:"";z-index:2000;border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);opacity:0;pointer-events:none;width:6px;height:6px;transition:opacity .16s;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.clinical-table .session-notes-tooltip-wrap[data-tooltip]:hover:after,.clinical-table .session-notes-tooltip-wrap[data-tooltip]:focus-within:after,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:hover:after,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:focus-within:after,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:hover:after,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:focus-within:after{opacity:1;transform:translate(-50%)}.clinical-table .session-notes-tooltip-wrap[data-tooltip]:hover:before,.clinical-table .session-notes-tooltip-wrap[data-tooltip]:focus-within:before,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:hover:before,.clinical-table .payment-chip-tooltip-wrap[data-tooltip]:focus-within:before,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:hover:before,.clinical-table .session-payment-visibility-tooltip-wrap[data-tooltip]:focus-within:before{opacity:1}}.session-meet-modal{width:min(100%,480px)}.session-meet-body{gap:16px;display:grid}.session-meet-summary{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--surface));border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.session-meet-summary strong,.session-meet-summary p{margin:0}.session-meet-badge,.session-meet-start-button svg,.session-meet-copy-button svg{justify-content:center;align-items:center;display:inline-flex}.session-meet-badge{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:48px;height:48px;color:var(--primary);border-radius:999px}.session-meet-badge svg,.session-meet-start-button svg,.session-meet-copy-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.session-meet-badge svg.google-meet-logo{width:32px;height:27px;fill:initial;stroke:none}.session-meet-start-button svg.google-meet-logo{width:20px;height:17px;fill:initial;stroke:none}.session-meet-badge svg.google-meet-logo *,.session-meet-start-button svg.google-meet-logo *{stroke:none}.session-meet-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-meet-start-button{align-items:center;gap:8px;display:inline-flex}.session-meet-copy-wrap{display:inline-flex}.session-meet-copy-button{width:42px;min-width:42px;height:42px;color:var(--primary);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.session-meet-copy-wrap .tooltip-content{left:50%;right:auto;transform:translate(-50%,2px)}.session-meet-copy-wrap:hover .tooltip-content,.session-meet-copy-wrap:focus-within .tooltip-content{transform:translate(-50%)}.session-meet-field{font-size:var(--fs-sm);color:var(--text);gap:7px;font-weight:650;display:grid}.session-meet-field input{border-color:color-mix(in srgb, var(--primary) 10%, var(--border));width:100%;min-height:44px;font-size:var(--fs-base)}.session-meet-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);outline:none}.session-meet-note{margin:0}.session-meet-footer{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:2px;display:flex}.session-meet-footer>button{width:auto;min-width:132px}.payment-chip-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.payment-chip{white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.payment-chip-icon{width:20px;height:20px;color:inherit;opacity:.88;background:0 0;border:1px solid;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff6b}.payment-chip-readonly{cursor:help}.payment-status-modal{border-radius:20px;flex-direction:column;gap:0;width:min(520px,100vw - 32px);max-height:min(92dvh,820px);padding:0;display:flex;overflow:hidden}.payment-status-modal .modal-shell-title{letter-spacing:0;font-size:22px}.payment-status-modal .modal-shell-header{padding:20px 22px 16px}.payment-status-modal .modal-shell-body{gap:16px;padding:18px 22px 22px}.payment-status-summary{gap:10px;display:grid}.payment-status-summary .payment-chip{justify-self:start}.payment-status-summary p{margin:0;line-height:1.45}.payment-status-scope-row{margin:0}.payment-status-scope-row label{background:color-mix(in srgb, var(--primary) 5%, var(--surface-soft));border-radius:14px;padding:11px 12px}.payment-status-collection-grid{align-items:end}.payment-status-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.clinical-table .payment-chip,.clinical-table .session-status-action-trigger{transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s}.clinical-table .payment-chip:hover,.clinical-table .payment-chip:focus-visible,.clinical-table .session-status-action-trigger:hover,.clinical-table .session-status-action-trigger:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);filter:none;box-shadow:var(--interactive-surface-hover-shadow)}.session-payment-column-header{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.session-payment-visibility-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.session-payment-visibility-placeholder{flex:none;width:24px;height:24px;display:inline-flex}.session-payment-visibility-toggle{border:1px solid color-mix(in srgb, var(--text) 18%, var(--border));appearance:none;background:color-mix(in srgb, var(--text) 4%, var(--surface));width:24px;height:24px;color:color-mix(in srgb, var(--text) 76%, var(--muted));cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.session-payment-visibility-toggle:hover,.session-payment-visibility-toggle:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);box-shadow:var(--interactive-surface-hover-shadow);outline:none}.session-payment-visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.clinical-table .session-call-cell{white-space:nowrap}.clinical-table .session-call-link{color:color-mix(in srgb, var(--text) 86%, var(--primary));font-weight:600}.clinical-table .session-status-action-trigger{cursor:pointer;font-weight:700}.session-status-chip{vertical-align:middle;align-items:center;width:fit-content;padding:3px 9px 3px 5px;display:inline-flex}.session-status-chip-content{white-space:nowrap;align-items:center;gap:6px;line-height:1;display:inline-flex}.session-status-chip-icon{width:20px;height:20px;color:inherit;opacity:.88;background:0 0;border:1px solid;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff6b}.session-status-chip-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px;height:13px}.clinical-table .session-status-action-trigger.badge:not(.badge-canceled):not(.badge-noshow){color:#4d4d4d}.clinical-table .session-status-action-trigger.badge-canceled:hover,.clinical-table .session-status-action-trigger.badge-canceled:focus-visible{color:#9d2337}.clinical-table .session-status-action-trigger.badge-noshow:hover,.clinical-table .session-status-action-trigger.badge-noshow:focus-visible{color:#c43200}.clinical-table .session-status-action-trigger.badge:not(.badge-canceled):not(.badge-noshow):hover,.clinical-table .session-status-action-trigger.badge:not(.badge-canceled):not(.badge-noshow):focus-visible{color:#4d4d4d}.session-status-modal{border-radius:20px;flex-direction:column;gap:0;width:min(440px,100vw - 32px);max-height:min(92dvh,760px);padding:0;display:flex;overflow:hidden}.session-status-modal .modal-shell-title{letter-spacing:0;font-size:22px}.session-status-modal .modal-shell-header{padding:20px 22px 16px}.session-status-modal .modal-shell-body{gap:16px;padding:18px 22px 22px}.session-status-modal-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-status-recurrence-context{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.45}.session-status-reason{background:color-mix(in srgb, var(--primary) 5%, var(--surface-soft));border-radius:12px;gap:10px;padding:10px 12px;display:grid}.session-status-reason-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-status-reason-head>span{font-size:var(--fs-xs);color:color-mix(in srgb, var(--text) 76%, var(--muted));font-weight:700}.session-status-reason-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.session-status-reason-icon-button{border:1px solid color-mix(in srgb, var(--text) 18%, var(--border));appearance:none;background:color-mix(in srgb, var(--text) 4%, var(--surface));width:24px;height:24px;color:color-mix(in srgb, var(--text) 76%, var(--muted));cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.session-status-reason-icon-button:hover,.session-status-reason-icon-button:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);box-shadow:var(--interactive-surface-hover-shadow);outline:none}.session-status-reason-icon-button:disabled{cursor:not-allowed;opacity:.58}.session-status-reason-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.session-status-reason-save-button{color:var(--primary-strong);animation:1.65s ease-in-out infinite session-status-save-pulse}.session-status-reason p{color:var(--text);font-size:var(--fs-sm);margin:0;line-height:1.45}.session-status-reason-editor{gap:7px;display:grid}.session-status-reason-editor textarea{resize:vertical;min-height:92px}.session-status-reason-helper{color:var(--muted);font-size:var(--fs-2xs);line-height:1.3}@keyframes session-status-save-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.62;transform:scale(.96)}}.session-status-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-status-noshow-button{color:#9a3412;background:linear-gradient(#fff3e8 0%,#fff8f3 100%);box-shadow:inset 0 0 0 1px #ffc9a8}.session-status-noshow-button:hover,.session-status-noshow-button:focus-visible{color:#8f2d0c;background:linear-gradient(#ffead8 0%,#fff4ec 100%)}.session-notes-modal{border-radius:20px;flex-direction:column;gap:0;width:min(540px,100vw - 32px);max-height:min(92dvh,760px);padding:0;display:flex;overflow:hidden}.session-notes-modal .modal-shell-title{letter-spacing:0;font-size:22px}.session-notes-modal .modal-shell-header{padding:20px 22px 16px}.session-notes-modal .modal-shell-body{gap:16px;padding:18px 22px 22px}.session-notes-description{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.45}.session-notes-readonly-card{background:color-mix(in srgb, var(--primary) 5%, var(--surface-soft));border-radius:12px;padding:12px 14px}.session-notes-readonly-card p{color:var(--text);font-size:var(--fs-sm);white-space:pre-wrap;margin:0;line-height:1.55}.session-notes-readonly-card .muted{color:var(--muted)}.session-notes-note-card{background:color-mix(in srgb, var(--primary) 5%, var(--surface-soft));border-radius:12px;gap:10px;padding:10px 12px;display:grid}.session-notes-note-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-notes-note-head>span{font-size:var(--fs-xs);color:color-mix(in srgb, var(--text) 76%, var(--muted));font-weight:700}.session-notes-note-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.session-notes-note-icon-button{border:1px solid color-mix(in srgb, var(--text) 18%, var(--border));appearance:none;background:color-mix(in srgb, var(--text) 4%, var(--surface));width:24px;height:24px;color:color-mix(in srgb, var(--text) 76%, var(--muted));cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.session-notes-note-icon-button:hover,.session-notes-note-icon-button:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);box-shadow:var(--interactive-surface-hover-shadow);outline:none}.session-notes-note-icon-button:disabled{cursor:not-allowed;opacity:.58}.session-notes-note-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.session-notes-note-save-button{color:var(--primary-strong);animation:1.65s ease-in-out infinite session-status-save-pulse}.session-notes-note-card p{color:var(--text);font-size:var(--fs-sm);white-space:pre-wrap;margin:0;line-height:1.55}.session-notes-note-editor{gap:7px;display:grid}.session-notes-note-editor textarea{resize:vertical}.session-notes-note-helper{color:var(--muted);font-size:var(--fs-2xs);line-height:1.3}.clinical-table .actions-compact{gap:8px}.clinical-table .button-sm,.clinical-table button.badge-button{min-height:36px;font-size:var(--fs-base);border-radius:10px;padding:8px 12px}.clinical-table .danger.button-sm{border-color:color-mix(in srgb, var(--primary) 18%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--surface));color:var(--primary-strong)}.clinical-table .danger.button-sm:hover,.clinical-table .danger.button-sm:focus-visible{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);color:var(--primary-strong);box-shadow:var(--interactive-surface-hover-shadow)}.clinical-table-pagination{margin:0;padding:18px 20px 20px}.clinical-table-pagination.toolbar{gap:18px}.clinical-table-pagination .toolbar-actions{gap:16px}@media (max-width:900px){button.specialist-switcher-trigger{min-width:0}.specialist-switcher-trigger-name{display:none}.specialist-switcher-popover{right:0}.sessions-table-toolbar{flex-direction:column;align-items:stretch}.sessions-table-filter{grid-template-columns:minmax(0,1fr);min-width:0}.sessions-table-filter-button{width:100%}}
.auth-shell{--auth-bg:radial-gradient(circle at 14% 12%, #0f8c791c, transparent 26%), radial-gradient(circle at 88% 16%, #94a3b81a, transparent 30%), linear-gradient(180deg, #f8fbfc 0%, #f4f7fb 48%, #f2f5fb 100%);--auth-intro-title-color:#16324a;--auth-intro-description-color:#475569e6;--auth-brand-name-color:#0f7e6c;--auth-brand-tag-color:#495e6db8;--auth-panel-title-color:#183249;--auth-panel-description-color:#475569e0;--auth-orb-left-bg:radial-gradient(circle, #0f8c792e 0%, transparent 70%);--auth-orb-right-bg:radial-gradient(circle, #cbd5e15c 0%, transparent 72%);--auth-beam-bg:linear-gradient(145deg, #fffc 0%, #ffffff2e 100%);--auth-beam-highlight:inset 0 1px 0 #ffffffb8;--auth-panel-bg:#ffffffd6;--auth-panel-border:#ffffffeb;--auth-panel-shadow:0 28px 80px #0f172a1a, 0 10px 28px #0f172a0f;--auth-panel-blur:blur(18px);--auth-input-bg:#ffffffdb;--auth-input-border:#0f8c791f;--auth-input-shadow:inset 0 1px 0 #ffffffb8, 0 1px 2px #0f172a08;--auth-input-placeholder:#a9b3bf;--auth-note-bg:#ffffffd1;--auth-note-border:#ffffffdb;--auth-note-shadow:0 18px 38px #0f172a14;--auth-footer-text:#5a6a76eb;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:none;min-height:100dvh;margin:0;padding:32px 24px 24px;display:flex;position:relative;overflow:hidden}.bg-glare-left{background:radial-gradient(circle at 12% 10%,#0f8c791f,#0000 28%),radial-gradient(circle at 88% 14%,#0ea58a14,#0000 24%),linear-gradient(#f8fbfc 0%,#f4f7fb 100%)}.bg-glare-right{background:radial-gradient(circle at 18% 12%,#fffffff2 0%,#fff0 34rem),linear-gradient(135deg,#fff 0%,#fbfbfb 46%,#f7f7f7 100%)}.auth-shell-modern{background:var(--auth-bg)}.auth-shell-orb,.auth-shell-beam{pointer-events:none;z-index:-1;position:absolute}.auth-shell-orb{filter:blur(16px);opacity:.8;border-radius:999px}.auth-shell-orb-left{background:var(--auth-orb-left-bg);width:320px;height:320px;top:84px;left:-48px}.auth-shell-orb-right{background:var(--auth-orb-right-bg);width:260px;height:260px;bottom:126px;right:72px}.auth-shell-beam{background:var(--auth-beam-bg);width:min(42vw,520px);height:min(72vh,620px);box-shadow:var(--auth-beam-highlight);opacity:.84;filter:blur(.2px);border-radius:52px;top:92px;right:-160px;transform:rotate(19deg)}.auth-screen{grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;width:min(100%,960px);margin:auto 0;display:grid}.auth-stage{justify-self:center;gap:28px;width:min(100%,420px);display:grid}.auth-intro{text-align:center;justify-items:center;gap:22px;display:grid}.auth-intro-copy{gap:10px;display:grid}.auth-intro-title{letter-spacing:-.04em;color:var(--auth-intro-title-color);margin:0;font-size:clamp(2.25rem,3.6vw,3rem);font-weight:700;line-height:1.05}.auth-intro-description{max-width:33ch;color:var(--auth-intro-description-color);margin:0;font-size:1.05rem;line-height:1.55}.auth-brand{align-items:center;gap:14px;display:inline-flex}.auth-brand-mark{flex:none;justify-content:center;align-items:center;width:56px;height:51px;display:inline-flex}.auth-brand-mark-image{object-fit:contain;width:100%;height:100%}.auth-brand-mark svg,.auth-field-icon svg,.auth-security-badge svg,.auth-input-action svg,.auth-primary-button svg,.auth-secondary-button svg,.auth-primary-button-link svg{width:20px;height:20px}.auth-brand-copy{text-align:left;gap:4px;display:grid}.auth-brand-name{letter-spacing:-.04em;color:var(--auth-brand-name-color);font-size:2rem;font-weight:700;line-height:1}.auth-brand-tag{letter-spacing:.02em;color:var(--auth-brand-tag-color);font-size:.82rem;font-weight:700;line-height:1.35}.auth-panel{border:1px solid var(--auth-panel-border);background:var(--auth-panel-bg);width:100%;-webkit-backdrop-filter:var(--auth-panel-blur);box-shadow:var(--auth-panel-shadow);border-radius:28px;padding:30px 30px 26px;position:relative}.auth-panel-copy{gap:8px;margin-bottom:18px;display:grid}.auth-panel-title{letter-spacing:-.02em;color:var(--auth-panel-title-color);margin:0;font-size:1.2rem;font-weight:700;line-height:1.2}.auth-panel-description{color:var(--auth-panel-description-color);margin:0;font-size:.96rem;line-height:1.5}.auth-panel-body{display:grid}.auth-form{gap:18px;display:grid}.auth-field{gap:8px;display:grid}.auth-field-label{color:#334155;margin:0;font-size:.9rem;font-weight:700;line-height:1.2}.auth-field-shell{border:1px solid var(--auth-input-border);background:var(--auth-input-bg);min-height:58px;box-shadow:var(--auth-input-shadow);border-radius:16px;align-items:center;transition:border-color .16s,box-shadow .16s,transform .16s,background-color .16s;display:flex;position:relative;overflow:clip}.auth-field-shell:focus-within{background:#ffffff02;border-color:#0f8c796b;box-shadow:0 0 0 4px #0f8c791f,inset 0 1px #ffffffd1}.auth-field-icon{color:#64748bc7;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.auth-input-control{border-radius:inherit;width:100%;min-width:0;min-height:56px;color:var(--text);box-shadow:none;background:0 0;border:0;outline:0;padding:0 16px 0 10px;font-size:1rem;line-height:1.35}.auth-input-control::placeholder{color:var(--auth-input-placeholder);opacity:1}.auth-input-control:focus{outline:none}.auth-input-control-with-trailing{padding-right:54px}.auth-input-control:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 100px #0000}.auth-input-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 100px #0000}.auth-input-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 100px #0000}.auth-input-action{color:#64748bcc;width:38px;min-width:38px;height:38px;min-height:38px;box-shadow:none;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-input-action:hover,.auth-input-action:focus-visible{color:var(--primary);background:#0f8c791a}.auth-field-meta,.auth-field-support{color:#64748be6;margin:0;font-size:.8rem;line-height:1.45}.auth-field-meta{gap:4px;display:grid}.auth-field-error{color:#9f261b;font-weight:600}.auth-form-actions{gap:12px;margin-top:2px;display:grid}.auth-security-card{justify-content:center;width:100%;display:flex}.auth-primary-button,.auth-primary-button-link,.auth-secondary-button{border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;min-width:0;min-height:58px;padding:0 20px;font-size:.98rem;font-weight:700;text-decoration:none;transition:transform .16s,box-shadow .16s,background-color .16s,border-color .16s,color .16s;display:inline-flex}.auth-primary-button,.auth-primary-button-link{color:#fff;background:linear-gradient(#108a78 0%,#0d7c6b 100%);border:1px solid #0c70624d;box-shadow:0 14px 32px #0f8c7938}.auth-primary-button:hover,.auth-primary-button-link:hover{background:linear-gradient(#11907e 0%,#0c7262 100%);transform:translateY(-1px);box-shadow:0 18px 34px #0f8c7942}.auth-primary-button:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:0 10px 22px #0f8c7924}.auth-primary-button:disabled:hover{background:linear-gradient(#108a78 0%,#0d7c6b 100%);transform:none}.auth-secondary-button{color:#334155;box-shadow:none;background:#ffffff9e;border:1px solid #94a3b838}.auth-secondary-button:hover{color:#183249;background:#ffffffd1}.auth-helper-row{text-align:center;margin:0}.auth-text-link{color:#0d7c6b;justify-content:center;align-items:center;width:auto;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-text-link:hover,.auth-text-link:focus-visible{color:#096657}.auth-feedback-stack{gap:10px;display:grid}.auth-feedback{border:1px solid #0000;border-radius:16px;margin:0;padding:12px 14px;font-size:.88rem;line-height:1.5}.auth-feedback-success{color:#0f6f61;background:#0f8c7917;border-color:#0f8c7933}.auth-feedback-error{color:#9f261b;background:#b4231814;border-color:#b4231833}.auth-feedback-info{color:#1e40af;background:#2563eb12;border-color:#2563eb2e}.button-with-spinner{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-footer{width:min(100%,1080px);color:var(--auth-footer-text);justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding-top:8px;display:flex}.auth-footer-meta{gap:8px;display:grid}.auth-footer-copy{margin:0;font-size:.78rem;line-height:1.4}.auth-footer-links{flex-wrap:wrap;gap:18px;font-size:.78rem;line-height:1.3;display:inline-flex}.auth-security-badge{color:#475569eb;letter-spacing:.02em;background:#ffffff94;border:1px solid #ffffffb8;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-height:54px;padding:0 18px;font-size:.8rem;font-weight:700;line-height:1.2;display:inline-flex;box-shadow:0 14px 28px #0f172a0f}
.dashboard-shell{max-width:100%;min-height:100dvh;display:flex}.dashboard-sidebar{z-index:40;background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:220px;height:100vh;transition:width .2s;position:fixed;top:0;bottom:0;left:0}.dashboard-mobile-topbar,.dashboard-mobile-menu,.dashboard-mobile-menu-backdrop{display:none}.dashboard-sidebar.collapsed{z-index:70;width:92px}.dashboard-sidebar.collapsed .dashboard-sidebar-inner{position:relative;overflow:visible}.dashboard-sidebar.collapsed .dashboard-nav,.dashboard-sidebar.collapsed .dashboard-link{overflow:visible}.dashboard-sidebar-inner{flex-direction:column;gap:12px;min-width:0;height:100%;min-height:100%;padding:17px 12px;display:flex;overflow-x:clip}.dashboard-sidebar-head{justify-content:flex-start;align-items:center;gap:10px;display:flex}.dashboard-sidebar-head strong{font-size:var(--fs-4xl);min-width:0}.dashboard-brand-title{-webkit-line-clamp:2;line-clamp:2;word-break:break-word;white-space:normal;letter-spacing:-.01em;-webkit-box-orient:vertical;flex:auto;max-width:100%;margin:0;display:-webkit-box;overflow:hidden}.dashboard-brand-copy{flex:auto;min-width:0}.dashboard-brand-subtitle{font-size:var(--fs-sm);word-break:break-word;margin:4px 0 0;line-height:1.25}.brand-head{align-items:center;gap:9px;width:100%;min-width:0;display:flex}.brand-head-link{width:100%;min-width:0;color:inherit;text-decoration:none;display:block}.dashboard-mobile-brand{flex:auto;align-items:center;gap:9px;min-width:0;display:flex}.dashboard-mobile-brand-link{min-width:0;color:inherit;flex:auto;text-decoration:none;display:flex}.dashboard-mobile-brand-copy{flex:auto;min-width:0}.dashboard-mobile-brand-title{-webkit-line-clamp:2;line-clamp:2;word-break:break-word;letter-spacing:-.01em;color:var(--text);-webkit-box-orient:vertical;margin:0;font-weight:700;line-height:1.14;display:-webkit-box;overflow:hidden}.dashboard-mobile-brand-subtitle{font-size:var(--fs-xs);word-break:break-word;margin:3px 0 0;line-height:1.25}button.mobile-menu-toggle{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:inline-flex}.dashboard-mobile-topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.dashboard-mobile-menu-backdrop{z-index:1300;opacity:0;pointer-events:none;background:0 0;border:0;padding:0;transition:opacity .2s;position:fixed;inset:0}.dashboard-mobile-menu-backdrop:before{content:"";background:var(--overlay-backdrop);position:absolute;inset:0}.dashboard-mobile-menu-backdrop.open{opacity:1;pointer-events:auto}.dashboard-mobile-menu{z-index:1301;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);pointer-events:none;transition:transform .24s;position:fixed;top:0;left:0;right:0;transform:translateY(calc(-100% - 12px))}.dashboard-mobile-menu.open{pointer-events:auto;transform:translateY(0)}.dashboard-mobile-menu-inner{gap:10px;max-height:min(86dvh,620px);padding:14px 12px 16px;display:grid;overflow-y:auto}.dashboard-nav-mobile{margin-top:0}.dashboard-theme-toggle-mobile{margin-top:3px}.dashboard-theme-toggle-mobile .theme-toggle{width:fit-content}.brand-logo{object-fit:cover;border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;width:34px;height:34px}.brand-logo-fallback{font-size:var(--fs-xs);color:var(--muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.sidebar-powered,.sidebar-expired{font-size:var(--fs-2xs);margin:0}.sidebar-powered{min-height:24px;line-height:1.2}.sidebar-powered.is-hidden-placeholder{visibility:hidden}.sidebar-divider-line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--border) 82%, var(--primary) 18%) 16%, color-mix(in srgb, var(--border) 82%, var(--primary) 18%) 84%, transparent);width:100%;height:1px;display:block}.preview-logo{object-fit:cover;border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;width:80px;height:80px}.sidebar-collapse-wrap{justify-content:flex-end;display:flex}.sidebar-utility-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:10px;padding-bottom:8px;display:flex;position:relative}.sidebar-utility-row:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--border) 82%, var(--primary) 18%) 16%, color-mix(in srgb, var(--border) 82%, var(--primary) 18%) 84%, transparent);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.sidebar-utility-row.is-collapsed{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px}.sidebar-utility-row .dashboard-theme-toggle{margin-bottom:0}button.sidebar-collapse-toggle{border-color:var(--border);background:var(--surface);width:36px;min-width:36px;height:28px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-notification-shortcut,.mobile-topbar-icon-button{border:1px solid var(--border);background:var(--surface);width:36px;min-width:36px;height:28px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.mobile-topbar-icon-button{width:40px;min-width:40px;height:40px}button.sidebar-collapse-toggle:hover,.sidebar-notification-shortcut:hover,.sidebar-notification-shortcut.is-active,.mobile-topbar-icon-button:hover,.mobile-topbar-icon-button.is-active{border-color:var(--border);color:var(--primary);background:#0f8c790a}.sidebar-notification-shortcut .dashboard-link-short,.mobile-topbar-icon-button .dashboard-link-short{color:inherit}.sidebar-collapse-icon{stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-collapse-wrap,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .brand-head{justify-content:center}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .brand-logo{margin:0 auto}.dashboard-nav{gap:0;margin-top:5px;display:grid}.dashboard-link{background:var(--surface);color:#838487;border:0;border-radius:9px;align-items:center;gap:5px;padding:9px 10px;font-size:12px;font-weight:700;text-decoration:none;display:flex;position:relative}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link{justify-content:center;gap:0;padding:9px}.dashboard-link-label{color:#838487;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;font-size:12px;font-weight:700;display:inline-flex}.dashboard-link:hover,.dashboard-link.active{background:#0f8c790a}.dashboard-link-short{width:20px;min-width:20px;height:20px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex;position:relative}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link-short{width:28px;min-width:28px;height:28px;margin:0 auto}.dashboard-link:hover .dashboard-link-short,.dashboard-link.active .dashboard-link-short,.dashboard-link:hover .dashboard-link-label,.dashboard-link.active .dashboard-link-label{color:var(--primary)}.dashboard-menu-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.dashboard-menu-icon-settings{stroke-width:1.75px}.dashboard-menu-icon-notifications,.dashboard-menu-icon-sessions,.dashboard-menu-icon-create,.dashboard-menu-icon-clients,.dashboard-menu-icon-add-client,.dashboard-menu-icon-integration{width:20px;height:20px}.dashboard-link-dot{border:1px solid var(--surface);background:#cf3651;border-radius:999px;width:9px;height:9px;position:absolute;top:0;right:-1px}@keyframes dashboardIconRing{0%{transform:rotate(0)}30%{transform:rotate(-12deg)}60%{transform:rotate(10deg)}to{transform:rotate(0)}}@keyframes dashboardIconFloat{0%{transform:translateY(0)}50%{transform:translateY(-1.5px)}to{transform:translateY(0)}}@keyframes dashboardIconNudge{0%{transform:translate(0)}33%{transform:translate(-1.5px)}66%{transform:translate(1.5px)}to{transform:translate(0)}}@keyframes dashboardIconSpin{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes dashboardIconPulse{0%{transform:scale(1)}50%{transform:scale(1.13)}to{transform:scale(1)}}@media (hover:hover) and (pointer:fine){.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]{z-index:0}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;z-index:2000;border-radius:7px;padding:5px 8px;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:before{content:"";background:var(--surface);border-top:1px solid var(--border);border-left:1px solid var(--border);opacity:0;pointer-events:none;z-index:2000;width:6px;height:6px;transition:opacity .16s;position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%)rotate(-45deg)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover:after,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible:after,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover:before,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible:before{opacity:1;transform:translateY(-50%)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible{z-index:2100}.dashboard-link:hover .dashboard-menu-icon-notifications,.dashboard-link:focus-visible .dashboard-menu-icon-notifications,.sidebar-notification-shortcut:hover .dashboard-menu-icon-notifications,.sidebar-notification-shortcut:focus-visible .dashboard-menu-icon-notifications,.mobile-topbar-icon-button:hover .dashboard-menu-icon-notifications,.mobile-topbar-icon-button:focus-visible .dashboard-menu-icon-notifications{transform-origin:50% 18%;animation:.55s dashboardIconRing}.dashboard-link:hover .dashboard-menu-icon-sessions,.dashboard-link:focus-visible .dashboard-menu-icon-sessions,.dashboard-link:hover .dashboard-menu-icon-create,.dashboard-link:focus-visible .dashboard-menu-icon-create,.dashboard-link:hover .dashboard-menu-icon-integration,.dashboard-link:focus-visible .dashboard-menu-icon-integration{animation:.45s dashboardIconFloat}.dashboard-link:hover .dashboard-menu-icon-clients,.dashboard-link:focus-visible .dashboard-menu-icon-clients,.dashboard-link:hover .dashboard-menu-icon-add-client,.dashboard-link:focus-visible .dashboard-menu-icon-add-client{animation:.4s dashboardIconNudge}.dashboard-link:hover .dashboard-menu-icon-settings,.dashboard-link:focus-visible .dashboard-menu-icon-settings{transform-origin:50%;animation:.45s dashboardIconSpin}.dashboard-link:hover .dashboard-menu-icon-plus,.dashboard-link:focus-visible .dashboard-menu-icon-plus{animation:.45s dashboardIconPulse}}@media (prefers-reduced-motion:reduce){.dashboard-menu-icon,.dashboard-menu-icon-plus{transition:none!important;animation:none!important}}.dashboard-sidebar-foot{gap:7px;margin-top:auto;display:grid}button.sidebar-logout-button{background:var(--surface);color:#838487;border:0;border-radius:9px;justify-content:flex-start;align-items:center;gap:5px;width:100%;min-height:38px;padding:9px 10px;font-size:12px;font-weight:700;display:inline-flex}button.sidebar-logout-button:hover,button.sidebar-logout-button:focus-visible{color:var(--primary);background:#0f8c790a}.sidebar-logout-button .logout-button-label{text-align:left;flex:auto;min-width:0}.logout-button-icon{stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px;display:block}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-logout-button{border-radius:9px;justify-content:center;justify-self:center;width:38px;min-width:38px;height:38px;padding:0}.dashboard-sidebar.collapsed .dashboard-sidebar-inner button.sidebar-collapse-toggle{border-radius:10px;width:36px;min-width:36px;height:28px}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-logout-button .logout-button-icon{width:20px;height:20px}.dashboard-content{flex:1;width:calc(100% - 220px);min-width:0;max-width:100%;margin-left:220px;padding:17px;position:relative}.dashboard-sidebar+.dashboard-content{width:calc(100% - 220px);margin-left:220px}.dashboard-sidebar.collapsed+.dashboard-content{width:calc(100% - 92px);margin-left:92px}.dashboard-content-inner{width:100%;min-width:0;max-width:1200px;margin:0}.dashboard-content main{width:100%;min-width:0;max-width:none;margin:0;padding:0}
.analytics-shell{gap:18px}.analytics-top{gap:16px;display:grid}.analytics-filter-card{gap:14px;display:grid}.analytics-filter-presets{flex-wrap:wrap;gap:8px;display:flex}.analytics-preset-button{text-decoration:none}.analytics-filter-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px;display:grid}.analytics-filter-actions{align-items:flex-end;display:flex}.analytics-kpi-grid{gap:12px}.analytics-stat-card{min-height:148px}.analytics-stat-card-default{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 84%, white 16%), var(--surface))}.analytics-stat-card-warning{background:linear-gradient(180deg, #f59e0b14, var(--surface))}.analytics-stat-card-success{background:linear-gradient(180deg, #10b98117, var(--surface))}.analytics-stat-helper{margin:8px 0 0}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.analytics-panel{gap:16px;display:grid}.analytics-panel-wide{grid-column:1/-1}.analytics-panel-head{justify-content:space-between;gap:10px;display:flex}.analytics-panel-head h2{margin:0}.analytics-panel-head p{margin:6px 0 0}.analytics-trend-chart{grid-auto-columns:minmax(12px,1fr);grid-auto-flow:column;align-items:end;gap:8px;height:240px;min-height:240px;padding-top:8px;display:grid}.analytics-trend-bar-group{grid-template-rows:auto minmax(0,1fr) auto;align-items:end;gap:6px;min-height:0;display:grid}.analytics-trend-bar-value{font-size:var(--fs-xs);color:var(--muted);text-align:center}.analytics-trend-bar-track{background:color-mix(in srgb, var(--surface-soft) 72%, transparent 28%);border-radius:999px;align-items:flex-end;height:100%;padding:2px;display:flex}.analytics-trend-bar{background:linear-gradient(#0ea5e9f0,#0891b28c);border-radius:999px 999px 6px 6px;align-self:end;width:100%;min-height:0}.analytics-trend-bar-label{font-size:var(--fs-xs);color:var(--muted);text-align:center}.analytics-breakdown-list,.analytics-payment-list,.analytics-hour-list{gap:10px;display:grid}.analytics-breakdown-item{gap:8px;display:grid}.analytics-breakdown-copy{flex-direction:column;gap:2px;display:flex}.analytics-breakdown-meter,.analytics-hour-meter{background:color-mix(in srgb, var(--surface-soft) 76%, transparent 24%);border-radius:999px;width:100%;height:9px;overflow:hidden}.analytics-breakdown-meter-fill,.analytics-hour-meter-fill{border-radius:inherit;background:linear-gradient(90deg,#10b981e6,#06b6d4c7);height:100%;display:block}.analytics-payment-item{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.analytics-hour-row{grid-template-columns:52px minmax(0,1fr) 36px;align-items:center;gap:10px;display:grid}.analytics-weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.analytics-weekday-cell{border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;gap:10px;min-height:92px;padding:12px;display:flex}.analytics-weekday-label{font-size:var(--fs-sm);color:var(--muted)}.analytics-weekday-value{font-size:var(--fs-4xl)}.analytics-client-behavior{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.analytics-pill{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-soft) 86%, white 14%);gap:6px;padding:14px 16px;display:grid}.analytics-pill-label{color:var(--muted);font-size:var(--fs-sm)}.analytics-pill-value{font-size:var(--fs-6xl);line-height:1}@media (max-width:960px){.analytics-grid{grid-template-columns:minmax(0,1fr)}.analytics-weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:720px){.analytics-filter-grid,.analytics-client-behavior,.analytics-weekday-grid{grid-template-columns:minmax(0,1fr)}.analytics-trend-chart{padding-bottom:6px;overflow-x:auto}}
.modal-backdrop-active>:not(.modal-backdrop){filter:var(--overlay-background-filter);transition:filter .16s}.modal-backdrop{z-index:1700;padding:calc(env(safe-area-inset-top) + 14px) max(14px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 14px) max(14px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;isolation:isolate;background:0 0;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-backdrop:before{content:"";z-index:0;pointer-events:none;background:var(--overlay-backdrop);position:absolute;inset:0}.modal-card{z-index:1;background:var(--surface);border:1px solid var(--border);width:min(520px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);-webkit-overflow-scrolling:touch;border-radius:10px;gap:9px;padding:12px;display:grid;position:relative;overflow:auto}.modal-meta{gap:2px;display:grid}.modal-meta p{margin:0}.modal-email-toggle{align-items:center;gap:6px;margin:0;font-weight:500;display:inline-flex}.modal-email-toggle input{width:auto}.modal-cancel-confirm{border:1px solid var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--text);border-radius:10px;gap:6px;padding:10px;display:grid}.modal-cancel-confirm p{margin:0}.modal-cancel-confirm .inline-link-button{text-align:left;justify-self:start}.cancel-confirm-note{font-size:var(--fs-xs)}.modal-card-wide{width:min(920px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);overflow:auto}.platform-subscription-drawer-backdrop{z-index:1700;background:var(--overlay-backdrop);-webkit-backdrop-filter:var(--overlay-background-filter);padding:0;display:block;position:fixed;inset:0;overflow:hidden}.platform-subscription-drawer-backdrop:before{display:none}.platform-subscription-drawer{z-index:1701;filter:none;opacity:1;-webkit-backdrop-filter:none;border-radius:14px 0 0 14px;width:min(520px,100%);height:100dvh;max-height:100dvh;padding:0;position:fixed;top:0;right:0}.platform-subscription-drawer-list{gap:8px;margin:0;display:grid}.platform-subscription-drawer-list>div{grid-template-columns:minmax(120px,.42fr) 1fr;align-items:start;gap:10px;display:grid}.platform-subscription-drawer-list dt{color:var(--muted);font-size:var(--fs-xs)}.platform-subscription-drawer-list dd{overflow-wrap:anywhere;margin:0}@supports (height:100svh){.modal-card,.modal-card-wide{max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px)}.platform-subscription-drawer{height:100svh;max-height:100svh}}.modal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal-head h2,.modal-head h3{margin:0}.modal-close{width:36px;min-width:36px;height:36px;font-size:var(--fs-3xl);border-radius:10px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.modal-card-elevated{-webkit-backdrop-filter:blur(20px);background:#ffffffdb;border:1px solid #bfcce047;box-shadow:0 12px 32px #0b1c300f}.modal-shell{flex-direction:column;height:100%;min-height:0;display:flex}.modal-shell-header{border-bottom:1px solid #bfcce024;justify-content:space-between;align-items:center;gap:16px;padding:24px 26px 18px;display:flex}.modal-shell-title-row{align-items:center;gap:14px;min-width:0;display:flex}.modal-shell-title-copy{min-width:0}.modal-shell-title{letter-spacing:-.03em;margin:0;font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.15}.modal-shell-badge,.modal-shell-close{border-radius:14px;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:inline-flex}.modal-shell-badge{color:var(--primary-strong);background:linear-gradient(#0f8c7924,#0f8c7912)}.modal-shell-close{color:#6e7a76;cursor:pointer;background:0 0;border:0;transition:background-color .18s,color .18s,transform .18s}.modal-shell-close:hover,.modal-shell-close:focus-visible{color:var(--text);background:#f0f4fae6}.modal-shell-close:disabled{opacity:.55;cursor:not-allowed}.modal-shell-badge svg,.modal-shell-close svg{width:18px;height:18px}.modal-shell-body{overscroll-behavior:contain;flex:1;gap:22px;min-height:0;padding:22px 26px 24px;display:grid;overflow:hidden auto}.modal-shell-footer{background:linear-gradient(#fbfdffc2,#f6f9fdf0);border-top:1px solid #bfcce024;padding:22px 26px 24px}
.modal-card-create-appointment{border-radius:24px;gap:0;width:min(620px,100%);padding:0;overflow:hidden auto}.modal-card-create-appointment .modal-head,.public-booking-modal .modal-head{z-index:3;-webkit-backdrop-filter:blur(18px);background:#ffffffd6;border-bottom:1px solid #bfcce01f;padding:22px 26px 18px;position:sticky;top:0}.modal-card-create-appointment .modal-head h2,.modal-card-create-appointment .modal-head h3,.public-booking-modal .modal-head h2,.public-booking-modal .modal-head h3{color:var(--primary-strong);letter-spacing:-.04em;font-size:clamp(28px,2.3vw,34px);font-weight:700;line-height:1.08}.modal-card-create-appointment .modal-close,.public-booking-modal .modal-close{color:#6e7a76;border-radius:14px;width:40px;min-width:40px;height:40px}.modal-card-create-appointment .appointment-form,.public-booking-modal .appointment-form{min-width:0;max-width:100%;padding:0 26px 24px;overflow-x:clip}.public-booking-modal .appointment-form{overflow-x:visible}.appointment-form-slot-summary{max-width:100%;margin:0;padding:14px 26px 0;overflow-x:hidden}.public-booking-slot-context{gap:10px}.public-booking-slot-summary{margin-bottom:24px}.appointment-form-summary-chip{cursor:default;pointer-events:none;text-align:left;white-space:normal;border-radius:14px;justify-content:flex-start;max-width:100%;min-height:40px;padding:10px 14px;line-height:1.4}.modal-card-create-appointment .appointment-form-actions,.public-booking-modal .appointment-form-actions{z-index:2;padding-top:18px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:linear-gradient(#fff0 0%,#f9fcfbeb 26%,#f2f9f7fa 100%);margin-top:8px;position:sticky;bottom:12px}.public-booking-modal .appointment-form-actions{overflow:visible}.modal-card-create-appointment .form-compact .appointment-form-control{padding:8px 18px 8px 48px}.modal-card-create-appointment .form-compact .appointment-form-field-shell.has-no-leading-icon .appointment-form-control{padding-left:18px}.modal-card-create-appointment .form-compact .appointment-form-field-shell.is-selectable .appointment-form-control{padding-right:44px}.appointment-created-modal{width:min(560px,100%)}.appointment-created-modal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.appointment-created-modal-head h3{margin:0}.appointment-created-modal-close{width:36px;min-width:36px;height:36px;font-size:var(--fs-3xl);border-radius:10px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.appointment-created-modal-body{gap:6px;display:grid}.appointment-created-modal-body p{margin:0}.appointment-created-actions{justify-content:flex-end}@media (min-width:769px){.modal-card-create-appointment .form-compact label,.modal-card-create-appointment .form-compact legend,.modal-card-create-appointment .form-compact p{font-size:inherit}.modal-card-create-appointment .form-compact input,.modal-card-create-appointment .form-compact select,.modal-card-create-appointment .form-compact textarea,.modal-card-create-appointment .form-compact button{font-size:var(--fs-control);padding:8px 10px}.modal-card-create-appointment .form-compact textarea{min-height:92px}.modal-card-create-appointment .form-compact fieldset{padding:8px}}
.appointment-form{gap:24px;min-width:0;max-width:100%;display:grid}.appointment-form-shell{gap:24px;width:100%;min-width:0;max-width:100%;display:grid}.appointment-form-context-card{background:linear-gradient(#edf7f4eb,#f5fbf8fa);border-radius:18px;gap:6px;padding:16px 18px;display:grid;box-shadow:inset 0 1px #ffffffb3}.appointment-form-context-line{color:#42515e;margin:0;font-size:14px;line-height:1.5}.appointment-form-online-link-card{gap:10px}.appointment-form-online-link-title{color:#27323a;margin:0;font-size:14px;font-weight:700;line-height:1.35}.appointment-form-online-link-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.appointment-form-section{gap:14px;min-width:0;display:grid}.appointment-form-section-heading{align-items:center;gap:8px;display:flex}.appointment-form-section-icon{width:18px;height:18px;color:var(--primary-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.appointment-form-section-accent{background:linear-gradient(#00685a 0%,#088372 100%);border-radius:999px;width:4px;height:18px}.appointment-form-section-title{color:#6c7987;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700;line-height:1.2}.appointment-form-section-body{gap:16px;min-width:0;display:grid}.appointment-form-section.is-card{background:linear-gradient(#fffffffa,#f6faf8f5);border:1px solid #0f8c791a;border-radius:22px;gap:18px;padding:22px 24px 24px;position:relative;box-shadow:inset 0 1px #ffffffc2,0 12px 30px #0b1c300d}.appointment-form-section.is-card:before{content:"";background:linear-gradient(#00685a 0%,#088372 100%);border-radius:999px;width:4px;position:absolute;top:18px;bottom:18px;left:0}.appointment-form-section.is-card .appointment-form-section-accent{display:none}.appointment-form-section.is-card .appointment-form-section-heading,.appointment-form-section.is-card .appointment-form-section-body{padding-left:4px}.appointment-form-section.is-card .appointment-form-section-body{gap:18px}.appointment-form-grid{gap:14px;min-width:0;display:grid}.appointment-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form-grid-span-full{grid-column:1/-1}.appointment-form-field{gap:7px;display:grid}.appointment-form-field-label{color:#576573;align-items:baseline;gap:8px;margin:0;font-size:13px;font-weight:700;line-height:1.3;display:inline-flex}.appointment-form-field-label-hint{color:#8a97a3;font-size:12px;font-weight:500}.appointment-form-field-shell{background:#fff;border:1px solid #0f8c791a;border-radius:16px;align-items:center;min-width:0;max-width:100%;min-height:54px;transition:border-color .18s,box-shadow .18s,background-color .18s,transform .18s;display:flex;position:relative;overflow:clip;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #0b1c300a}.appointment-form-field-shell:focus-within{background:#fff;border-color:#0f8c7970;box-shadow:0 0 0 3px #0f8c791a,0 14px 30px #0b1c300f}.appointment-form-field-shell.is-invalid{box-shadow:none;border-color:#ba1a1a47}.appointment-form-field-shell.is-invalid:focus-within{border-color:#ba1a1a6b;box-shadow:0 0 0 3px #ba1a1a1a}.appointment-form-field-frame{margin:-4px;padding:4px;position:relative}.appointment-form-field-overlay{z-index:24;position:absolute;top:calc(100% + 6px);left:0;right:0}.appointment-form-field-icon,.appointment-form-field-chevron,.appointment-form-chip svg,.appointment-form-segment-option svg,.appointment-form-submit svg,.appointment-form-inline-feedback svg{flex:none;width:18px;height:18px}.appointment-form-field-icon,.appointment-form-field-chevron{color:#7f8b96;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.appointment-form-field-icon{left:16px}.appointment-form-field-chevron{right:16px}.appointment-form-control{border-radius:inherit;width:100%;min-width:0;max-width:100%;min-height:54px;box-shadow:none;color:#1f2d3d;-moz-text-size-adjust:100%;text-size-adjust:100%;background:0 0;border:0;padding:16px 18px 16px 48px;font-size:15px;font-weight:600;line-height:1.35;display:block}.appointment-form-field-shell.has-no-leading-icon .appointment-form-control{padding-left:18px}.appointment-form-control,select.appointment-form-control,textarea.appointment-form-control{appearance:none}select.appointment-form-control{text-overflow:ellipsis}.appointment-form-field-shell.is-selectable .appointment-form-control{padding-right:44px}input[type=date].appointment-form-control{appearance:none}input[type=date].appointment-form-control::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}input[type=date].appointment-form-control::-webkit-date-and-time-value{text-align:left}input[type=number].appointment-form-control{appearance:textfield}input[type=number].appointment-form-control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].appointment-form-control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.appointment-form-control::placeholder{color:#98a3ad;font-weight:500}.appointment-form-control:disabled,.appointment-form-control[readonly]{color:#788693;opacity:1;-webkit-text-fill-color:#788693;cursor:not-allowed;background:#fff}.appointment-form-control:focus{outline:none}.appointment-form-textarea{resize:vertical;min-height:112px}.appointment-form-field-description,.appointment-form-inline-note{color:#7d8995;margin:0;font-size:13px;line-height:1.5}.appointment-form-field-error,.appointment-form-inline-error{color:var(--danger);margin:4px 0 0;font-size:12px;font-weight:600;line-height:1.45}.appointment-form-chip-list{flex-wrap:wrap;gap:10px;min-width:0;max-width:100%;display:flex}.appointment-form-chip-label,.appointment-form-segment-label{min-width:0;display:inline-flex}.appointment-form-segmented .appointment-form-segment-label{flex:1 1 0;width:100%;display:flex}.appointment-form-chip-label input,.appointment-form-segment-label input{opacity:0;pointer-events:none;position:absolute}.appointment-form-chip{color:#44515d;cursor:pointer;background:#edf7f4;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:700;line-height:1.2;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.appointment-form-chip:hover,.appointment-form-chip:focus-within,.appointment-form-chip:active{background:var(--interactive-surface-hover-bg)}.appointment-form-chip.is-active{background:linear-gradient(90deg, var(--interactive-surface-selected-bg-top) 0%, var(--interactive-surface-selected-bg-bottom) 100%);border-color:var(--interactive-surface-selected-border);color:#203040;box-shadow:0 10px 18px var(--interactive-surface-selected-shadow)}.appointment-form-toggle-card,.appointment-form-checkbox-card{cursor:pointer;background:linear-gradient(#edf7f4 0%,#f5fbf8 100%);border-radius:18px;justify-content:flex-start;align-items:center;gap:12px;min-width:0;padding:16px 18px;display:flex}.appointment-form-toggle-copy,.appointment-form-checkbox-copy{gap:4px;display:grid}.appointment-form-toggle-title,.appointment-form-checkbox-title{color:#263544;font-size:15px;font-weight:700;line-height:1.3}.appointment-form-toggle-description,.appointment-form-checkbox-description{color:#7a8794;font-size:13px;line-height:1.45}.appointment-form-switch,.appointment-form-checkbox-control{flex:none}.appointment-form-toggle-copy,.appointment-form-checkbox-copy{flex:auto;min-width:0}.appointment-form-switch input{opacity:0;pointer-events:none;position:absolute}.appointment-form-switch-track{background:#7d8a9442;border-radius:999px;align-items:center;width:48px;height:28px;padding:3px;transition:background-color .18s;display:flex}.appointment-form-switch-thumb{background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .18s;box-shadow:0 4px 10px #0b1c301a}.appointment-form-switch input:checked+.appointment-form-switch-track{background:linear-gradient(90deg,#00685a 0%,#088372 100%)}.appointment-form-switch input:checked+.appointment-form-switch-track .appointment-form-switch-thumb{transform:translate(20px)}.appointment-form-checkbox-control input{width:18px;height:18px;accent-color:var(--primary);margin:0}.appointment-form-recurring-card{background:linear-gradient(#f5faf8f2,#edf7f4);border:0;border-radius:18px;padding:18px}.appointment-form-segmented{background:linear-gradient(#edf7f4 0%,#f5fbf8 100%);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;max-width:100%;padding:6px;display:grid}.appointment-form-segment-option{color:#4b5866;text-align:center;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.2;transition:background-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.appointment-form-segment-option span{text-align:center;flex:auto}.appointment-form-segment-option.is-active{color:var(--primary-strong);background:#fff;box-shadow:0 10px 20px #0b1c3014}.appointment-form-autocomplete{width:100%;min-width:0}.appointment-form-autocomplete .appointment-form-control{z-index:1;position:relative}.appointment-form-autocomplete-list{z-index:24;background:#fffffff5;border:0;border-radius:18px;padding:8px;top:calc(100% + 10px);box-shadow:0 18px 36px #0b1c301f}.appointment-form-autocomplete-item{color:#314252;text-align:left;background:0 0;border:0;border-radius:12px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.appointment-form-autocomplete-item:hover,.appointment-form-autocomplete-item:focus-visible{background:#e8f6f1}.appointment-form-status-stack{gap:8px;display:grid}.appointment-form-status-stack .success,.appointment-form-status-stack .error{margin:0}.appointment-form-actions{min-width:0;display:grid}.appointment-form-admin,.appointment-form-admin-section,.appointment-form-admin .appointment-form-section-body{min-width:0;max-width:100%}.appointment-form-admin-stack{gap:24px;display:grid}.appointment-form-shell.form-shell-wide{width:min(100%,760px)}.appointment-form-option-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.appointment-form-option-card{cursor:pointer;background:linear-gradient(#fbfdfcfa,#f4f9f7f5);border:1px solid #0f8c791a;border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:14px 16px;transition:border-color .18s,box-shadow .18s,background-color .18s,transform .18s;display:flex;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #0b1c3008}.appointment-form-option-card:hover,.appointment-form-option-card:focus-within{background:#fff;border-color:#0f8c792e;box-shadow:inset 0 1px #ffffffd1,0 10px 22px #0b1c300f}.appointment-form-option-card input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}.appointment-form-option-label{color:#314252;font-size:14px;font-weight:700;line-height:1.35}.appointment-form-submit{border-radius:16px;width:100%;min-width:0;min-height:56px;font-size:16px}
.modal-section{gap:14px;display:grid}.modal-section-heading{letter-spacing:.12em;text-transform:uppercase;color:#85929c;align-items:center;gap:10px;font-size:11px;font-weight:700;line-height:1;display:flex}.modal-section-divider{background:linear-gradient(90deg,#bfcce038,#0000);flex:1;height:1px}.modal-section-content{gap:14px;display:grid}
.monthly-availability-picker{gap:14px;display:grid}.monthly-availability-picker-calendar-card,.monthly-availability-picker-slots-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #b8c5d952;border-radius:18px;gap:14px;padding:16px;display:grid;box-shadow:0 12px 24px #12263f0f,inset 0 1px #ffffffc7}.monthly-availability-picker-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.monthly-availability-picker-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#7d8a95;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1}.monthly-availability-picker-title{letter-spacing:-.03em;text-transform:capitalize;color:#1d2c3b;margin:0;font-size:20px;line-height:1.15}.monthly-availability-picker-status{color:#6c7a86;text-align:right;font-size:12px;font-weight:600;line-height:1.4}.monthly-availability-picker-calendar-shell,.monthly-availability-picker .fc{min-width:0}.monthly-availability-picker .fc .fc-header-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.monthly-availability-picker .fc .fc-toolbar-chunk{align-items:center;gap:8px;display:inline-flex}.monthly-availability-picker .fc .fc-toolbar-chunk:nth-child(2){justify-self:center;min-width:0}.monthly-availability-picker .fc .fc-toolbar-title{color:#1d2c3b;letter-spacing:-.03em;text-align:center;text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;line-height:1.15;overflow:hidden}.monthly-availability-picker .fc .fc-button{color:#244051;min-width:38px;min-height:38px;box-shadow:none;background:#f7fafc;border:1px solid #b8c5d95c;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.monthly-availability-picker .fc .fc-button:hover,.monthly-availability-picker .fc .fc-button:focus-visible{color:#18313f;background:#eef5f7}.monthly-availability-picker .fc .fc-button-primary:not(:disabled).fc-button-active,.monthly-availability-picker .fc .fc-button-primary:not(:disabled):active{color:var(--primary-strong);background:#e7f5f0;border-color:#0f8c795c}.monthly-availability-picker .fc .fc-col-header-cell-cushion{color:#6e7f8b;text-transform:uppercase;padding:10px 0;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none}.monthly-availability-picker .fc .fc-theme-standard td,.monthly-availability-picker .fc .fc-theme-standard th,.monthly-availability-picker .fc .fc-scrollgrid{border-color:#bfcce042}.monthly-availability-picker .fc .fc-daygrid-day-frame{min-height:0;padding:6px}.monthly-availability-picker .fc .fc-daygrid-day-events{min-height:0;margin-top:2px}.monthly-availability-picker .fc .fc-daygrid-day-top{justify-content:flex-start}.monthly-availability-picker .fc .fc-daygrid-day-number{color:#294050;border-radius:999px;padding:4px 6px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none}.monthly-availability-picker .fc .monthly-availability-day-cell{cursor:pointer;background:linear-gradient(#fbfcffe6,#f8fbfdeb);transition:background-color .18s,box-shadow .18s}.monthly-availability-picker .fc .monthly-availability-day-cell.has-availability{background:linear-gradient(#ecfaf5f2,#f8fcfa)}.monthly-availability-picker .fc .monthly-availability-day-cell.is-unavailable .fc-daygrid-day-frame{min-height:28px;padding-bottom:2px}.monthly-availability-picker .fc .monthly-availability-day-cell.has-availability .fc-daygrid-day-frame{min-height:88px}.monthly-availability-picker .fc .monthly-availability-day-cell.is-unavailable .fc-daygrid-day-events,.monthly-availability-picker .fc .monthly-availability-day-cell.is-unavailable .fc-daygrid-day-bottom{min-height:0;margin-top:0;display:none}.monthly-availability-picker .fc .monthly-availability-day-cell.has-availability .fc-daygrid-day-events{min-height:22px}.monthly-availability-picker .fc .monthly-availability-day-cell.is-today{box-shadow:inset 0 0 0 1px #3562ab3d}.monthly-availability-picker .fc .monthly-availability-day-cell.is-today .fc-daygrid-day-number{color:#224c86;background:#3562ab14}.monthly-availability-picker .fc .monthly-availability-day-cell.is-selected{box-shadow:inset 0 0 0 2px var(--interactive-surface-selected-border)}.monthly-availability-picker .fc .monthly-availability-day-cell.is-selected .fc-daygrid-day-number{background:var(--interactive-surface-selected-bg-top);color:#203040}.monthly-availability-picker .fc .fc-daygrid-day-events{pointer-events:none}.monthly-availability-picker .fc .fc-day-other .fc-daygrid-day-number{color:#9aa6af}.monthly-availability-picker .fc .fc-event.monthly-availability-calendar-event{background:0 0;border:0;min-height:8px;margin-top:6px}.monthly-availability-picker .fc .monthly-availability-calendar-event .fc-event-main{justify-content:center;align-items:center;min-height:8px;display:flex}.monthly-availability-picker .fc .monthly-availability-calendar-dot{background:#4f8de8;border-radius:999px;width:8px;height:8px;display:block}.monthly-availability-picker-feedback{background:#f4f8fa;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.monthly-availability-picker-feedback.is-error{color:#7f2530;background:#fff2f2}.monthly-availability-picker-feedback p,.monthly-availability-picker-loader p{margin:0}.monthly-availability-picker-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.monthly-availability-picker-slot-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #b8c5d95c;border-radius:16px;gap:4px;width:100%;padding:14px 15px;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid}.monthly-availability-picker-slot-button:hover,.monthly-availability-picker-slot-button:focus-visible,.monthly-availability-picker-slot-button:active{border-color:var(--interactive-surface-hover-border);background:var(--interactive-surface-hover-bg);box-shadow:var(--interactive-surface-hover-shadow)}.monthly-availability-picker-slot-button.is-selected{border-color:var(--interactive-surface-selected-border);background:linear-gradient(180deg, var(--interactive-surface-selected-bg-top), var(--interactive-surface-selected-bg-bottom));box-shadow:var(--interactive-surface-hover-shadow), inset 0 0 0 1px var(--interactive-surface-selected-shadow)}.monthly-availability-picker-slot-button:disabled{opacity:.68;cursor:not-allowed;box-shadow:none}.monthly-availability-picker-slot-time{color:#18313f;font-size:16px;font-weight:700;line-height:1.25}
.modal-alert{border-radius:16px;gap:12px;padding:16px;display:grid}.modal-alert-info{background:linear-gradient(#eef5ff 0%,#f7faff 100%)}.modal-alert-warning{background:linear-gradient(#fff7ec 0%,#fffaf3 100%)}.modal-alert-danger{background:linear-gradient(#fff2f3 0%,#fff8f8 100%)}.modal-alert-success{background:linear-gradient(#edf8f3 0%,#f7fcf9 100%)}.modal-alert-head{align-items:flex-start;gap:10px;display:flex}.modal-alert-icon{color:#5f7181;justify-content:center;align-items:center;width:22px;min-width:22px;display:inline-flex}.modal-alert-danger .modal-alert-icon{color:var(--danger)}.modal-alert-warning .modal-alert-icon{color:#b36b00}.modal-alert-success .modal-alert-icon{color:var(--primary)}.modal-alert-copy{gap:4px;display:grid}.modal-alert-copy strong{color:#223140;font-size:14px;line-height:1.3}.modal-alert-copy p,.modal-alert-body p{color:#5f6d79;margin:0;font-size:13px;line-height:1.5}.modal-alert-body{gap:10px;display:grid}.modal-alert-actions{flex-wrap:wrap;gap:10px;display:flex}.modal-primary-button,.modal-danger-button,.modal-ghost-button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:auto;min-height:44px;padding:12px 18px;font-size:14px;font-weight:700;line-height:1.2;transition:transform .18s,box-shadow .18s,background-color .18s,color .18s;display:inline-flex}.modal-primary-button{color:#fff;background:linear-gradient(90deg,#00685a 0%,#088372 100%);box-shadow:0 12px 20px #00685a2e}.modal-primary-button:hover,.modal-primary-button:focus-visible{background:linear-gradient(90deg,#00685a 0%,#088372 100%);box-shadow:0 14px 24px #00685a3d}.modal-danger-button{color:#fff;background:linear-gradient(#c32926 0%,#a9191a 100%);box-shadow:0 12px 20px #a9191a29}.modal-danger-button:hover,.modal-danger-button:focus-visible{background:linear-gradient(#b72020 0%,#971718 100%);box-shadow:0 14px 24px #a9191a38}.modal-ghost-button{color:#314252;background:#ffffffb8}.modal-ghost-button:hover,.modal-ghost-button:focus-visible{background:#ffffffeb}.modal-primary-button:disabled,.modal-danger-button:disabled,.modal-ghost-button:disabled,.appointment-manage-danger-link:disabled,.appointment-manage-inline-link:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.modal-primary-button.is-disabled{opacity:.58;cursor:pointer;box-shadow:none}.modal-primary-button-wide{min-width:min(248px,100%)}.appointment-manage-inline-link{width:auto;color:var(--primary-strong);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:flex-start;place-self:flex-start;align-items:center;padding:0;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex}.appointment-manage-inline-link:hover,.appointment-manage-inline-link:focus-visible{color:var(--primary-strong);background:0 0}.appointment-manage-danger-link{color:#ba1a1a;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:auto;padding:8px 0;font-size:14px;font-weight:700;line-height:1.3;display:inline-flex}.appointment-manage-danger-link:hover,.appointment-manage-danger-link:focus-visible{color:#ba1a1a;background:0 0}.modal-primary-button svg,.modal-danger-button svg,.modal-ghost-button svg,.appointment-manage-danger-link svg,.modal-alert-icon svg{width:18px;height:18px}
