@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{color-scheme:light;--bg:#fdfdfd;--surface:#ffffff;--surface-soft:#f6f6f6;--surface-strong:#eeeeee;--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:#ffffff;--button-secondary-bg:#ffffff;--button-secondary-hover:#f2f2f2;--button-secondary-text:#0f8c79;--button-accent:#0f8c79;--button-accent-hover:#0b7464;--interactive-surface-hover-border:rgb(96 118 142/34%);--interactive-surface-hover-bg:#f5f8fb;--interactive-surface-hover-shadow:0 10px 22px rgb(62 82 102/10%);--interactive-surface-selected-border:rgb(96 118 142/48%);--interactive-surface-selected-bg-top:rgb(96 118 142/10%);--interactive-surface-selected-bg-bottom:rgb(96 118 142/4%);--interactive-surface-selected-shadow:rgb(96 118 142/18%);--shadow-soft:0 10px 28px rgb(23 23 23/8%);--overlay-backdrop:rgb(0 0 0/45%);--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}body,html{text-size-adjust:100%}body{margin:0;font-size:var(--fs-body);background:var(--bg);color:var(--text)}body,button,html,input,select,table,td,textarea,th{font-family:Satoshi,Segoe UI,Noto Sans,Helvetica Neue,sans-serif!important}.phone-link,a{color:inherit}.phone-link{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;white-space:nowrap}.phone-link:focus-visible,.phone-link:hover{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;padding:14px;min-width:0}.card-narrow{width:100%;max-width:calc(560px + 28px);justify-self:start;overflow-x:hidden}.table-card{width:-moz-fit-content;width:fit-content;max-width:100%;min-width:min(100%,calc(560px + 28px));justify-self:start}.grid{display:grid;grid-gap:12px;gap:12px}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{font-weight:600;display:block;margin-bottom:2px}button,input,select,textarea{width:100%;border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:var(--fs-control);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;padding:8px;margin:0}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{gap:8px}.cancel-action-button-icon,.cancel-action-button-label{display:inline-flex;align-items:center;justify-content:center}.cancel-action-button-icon{flex-shrink:0}.calendar-item-button.calendar-item-noshow,.calendar-item.calendar-item-noshow,button.btn-noshow{background:#ff8c00;color:#ffffff;border-color:#e67e00;font-weight:600}.calendar-item-noshow.calendar-item-button:focus-visible,.calendar-item-noshow.calendar-item-button:hover,button.btn-noshow:hover{background:#e67e00;color:#ffffff;border-color:#e67e00}a.btn,button.btn{width:auto;min-width:160px;border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:var(--fs-control);font-family:inherit;cursor:pointer;background:var(--button-bg);color:var(--button-text);font-weight:600;display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:6px;text-decoration:none}a.btn:hover,button.btn:hover{background:var(--button-bg-hover)}a.btn.btn-secondary,button.btn.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}a.btn.btn-secondary:hover,button.btn.btn-secondary:hover{background:var(--button-secondary-hover)}a.btn.btn-danger,button.btn.btn-danger{background:var(--danger);color:#fff}a.btn.btn-danger:hover,button.btn.btn-danger:hover{background:var(--danger-strong)}a.btn.btn-ghost,button.btn.btn-ghost{background:transparent;color:var(--text)}a.btn.btn-full,button.btn.btn-full{width:100%;min-width:0;justify-self:stretch}a.btn.btn-mobile-full,button.btn.btn-mobile-full{width:auto;min-width:160px}.btn-group{display:flex;flex-wrap:wrap;gap:6px}.btn-group.equal>*{flex:1 1;min-width:0}.button-row{display:flex;gap:6px;flex-wrap:wrap}.button-row button{width:auto;min-width:160px}.action-row-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.action-row-inline>*{min-width:0}.action-row-inline>.filter-reset,.action-row-inline>button{width:auto;min-width:160px}.table{width:100%;border-collapse:collapse}.table td,.table th{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{background:#f3f4f6;border-color:#d7dbe0;color:#7b8592;cursor:not-allowed}.payment-input-readonly{background:#f8fafc;border-color:#d7dbe0;color:var(--text)}.payment-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.payment-icon-button{min-width:36px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.client-booking-note-content{margin:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);white-space:pre-wrap}.error{color:var(--danger);margin-top:7px}.success{color:var(--primary-strong);margin-top:7px}.stack{display:grid;grid-gap:8px;gap:8px}.stack-tight{gap:4px}.stack>*{min-width:0}.profile-counseling-services-list{display:grid;grid-gap:4px;gap:4px}.profile-counseling-service-row{display:flex;align-items:center;gap:4px}.profile-counseling-service-row input{flex:1 1;min-width:0}.profile-counseling-service-remove{flex-shrink:0}input[type=date],input[type=datetime-local],input[type=time]{display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%}input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.compact-feedback,.field-required-error{margin:3px 0 0;font-size:var(--fs-2xs)}.field-required-error{color:var(--danger)}input.field-required-invalid,select.field-required-invalid,textarea.field-required-invalid{border-color:var(--danger)}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:var(--fs-xs);border:1px solid var(--border);background:var(--surface-soft)}.badge-paid{background:#e7f8ee;border-color:#87c9a2;color:#1a6c3c}.badge-unpaid{background:#fdebec;border-color:#f1b8bf;color:#9d2337}.badge-partial{background:#fff6d8;border-color:#e8c767;color:#9a6b00}.badge-canceled{background:#fdebec;border-color:#f1b8bf;color:#9d2337}.badge-noshow{background:#fff0e6;border-color:#ffc9a8;color:#c43200}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{display:flex;flex-wrap:wrap;gap:5px}.btn-sm,.button-sm{width:auto;min-width:auto;padding:5px 7px;font-size:var(--fs-xs);line-height:1.2}.btn-icon{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.page-header{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:2px 0}.page-header h1{margin:0;font-size:clamp(var(--fs-5xl),2.2vw,var(--fs-7xl));line-height:1.12;letter-spacing:-.015em;color:var(--text)}.page-header p{margin:0;color:var(--muted)}.page-header-row{display:flex;justify-content:space-between}.page-header-actions,.page-header-row{flex-wrap:wrap;align-items:center;gap:8px}.page-header-actions{display:inline-flex}.page-header-meta{display:flex;flex-wrap:wrap;gap:8px}.page-header-meta-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);padding:4px 10px}.page-header-meta-label{color:var(--muted);font-size:var(--fs-sm)}.page-header-meta-value{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.form-shell{width:min(100%,560px);min-width:0}.form-shell-wide{width:min(100%,760px)}.form-grid{display:grid;grid-gap:8px;gap:8px}.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{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.form-actions>*{width:auto;min-width:160px}.form-actions-equal>*{flex:1 1;min-width:0}.tab-bar{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--border);border-radius:10px;padding:6px;background:var(--surface-soft)}.tab-button{display:inline-flex;align-items:center;width:auto;min-width:auto;border-radius:8px;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--text);font-weight:600;font-size:var(--fs-tab);text-decoration:none}.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{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.tab-bar-scroll .tab-button{flex:0 0 auto;white-space:nowrap}.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-radius:999px;border:2px solid var(--scrollbar-track)}.tab-bar-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.autocomplete{position:relative}.autocomplete-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-soft)}.autocomplete-item{display:block;width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--text);text-align:left;padding:7px 9px;font-size:var(--fs-xs)}.autocomplete-item:last-child{border-bottom:0}.autocomplete-item:hover{background:var(--surface-soft)}.portal-page{width:min(100%,calc(680px + 28px));max-width:calc(680px + 28px);gap:16px}.portal-primary-column{width:100%;gap:14px}.portal-surface{border-color:rgb(15 140 121/10%);border-radius:20px;background:linear-gradient(180deg,rgb(255 255 255/98%),rgb(248 251 249/96%)),var(--surface);box-shadow:inset 0 1px 0 rgb(255 255 255/82%),0 14px 32px rgb(11 28 48/5%)}.portal-header-block{gap:14px}.portal-tenant-brand{display:grid;grid-gap:12px;gap:12px}.portal-tenant-meta{gap:8px}.portal-selector-surface{gap:12px;padding:16px 18px;border:1px solid rgb(15 140 121/10%);border-radius:18px;background:linear-gradient(180deg,rgb(237 247 244/92%),rgb(245 251 248/98%));box-shadow:inset 0 1px 0 rgb(255 255 255/72%)}.portal-section-head{gap:8px}.portal-section-head>*{margin:0}.portal-action-row{padding-top:4px;border-top:1px solid rgb(15 140 121/8%)}.portal-action-row .logout-button{width:100%}.portal-appointments-table{table-layout:fixed}.portal-appointments-surface{width:100%;gap:12px}.portal-profile-selector{display:flex;flex-wrap:wrap;gap:10px}.portal-profile-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid rgb(15 140 121/10%);border-radius:999px;background:rgb(255 255 255/88%);color:var(--text);font-size:var(--fs-sm);font-weight:600;line-height:1.3;text-align:center;text-decoration:none}.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 rgb(15 140 121/10%)}.portal-consent-collapsed{gap:12px;width:100%;align-items:flex-start}.portal-consent-collapsed>*{margin:0}.portal-consent-collapsed .btn{width:-moz-fit-content;width:fit-content;min-width:0}.portal-consent-panel{width:min(100%,100%);gap:12px}.portal-consent-title{margin:0}.portal-consent-copy{gap:10px;padding:16px 18px;background:linear-gradient(180deg,rgb(237 247 244/92%),rgb(245 251 248/98%));box-shadow:inset 0 1px 0 rgb(255 255 255/72%)}.portal-consent-copy,.portal-consent-section{border:1px solid rgb(15 140 121/10%);border-radius:18px}.portal-consent-section{gap:12px;padding:16px 18px 18px;background:linear-gradient(180deg,rgb(251 253 252/98%),rgb(244 249 247/96%));box-shadow:inset 0 1px 0 rgb(255 255 255/72%),0 1px 2px rgb(11 28 48/3%)}.portal-consent-section legend{padding:0 4px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.portal-consent-footer{padding-top:6px;border-top:1px solid rgb(15 140 121/8%)}.portal-consent-feedback{margin:0}.portal-appointments-table__status-col{width:92px}.portal-appointments-table__action-col{width:84px}.portal-appointments-table__date-cell{min-width:0;overflow-wrap:anywhere;line-height:1.45}.portal-appointments-table__date-cell .muted{display:block;margin-bottom:2px;font-size:var(--fs-xs)}.portal-appointments-table th:nth-child(2),.portal-appointments-table th:nth-child(3),.portal-appointments-table__action-cell,.portal-appointments-table__status-cell{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{position:relative;padding-top:2px}.consent-panel-title{margin:0;padding-right:112px}.consent-collapse-button{position:absolute;top:0;right:0;width:auto;min-width:auto;padding:4px 8px;font-size:var(--fs-xs);line-height:1.2}.consent-content{display:grid;grid-gap:6px;gap:6px}.consent-content p{margin:0}.consent-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.consent-field-grid-full{grid-column:1/-1}.consent-subsection{background:var(--surface-soft)}.client-consent-form{width:min(100%,720px);gap:16px}.client-consent-meta-surface{display:grid;grid-gap:6px;gap:6px;padding:16px 18px;border:1px solid rgb(15 140 121/10%);border-radius:18px;background:linear-gradient(180deg,rgb(237 247 244/92%),rgb(245 251 248/98%));box-shadow:inset 0 1px 0 rgb(255 255 255/70%)}.client-consent-meta-surface p{margin:0}.client-consent-section{border:1px solid rgb(15 140 121/10%);border-radius:18px;padding:16px 18px 18px;background:linear-gradient(180deg,rgb(251 253 252/98%),rgb(244 249 247/96%));box-shadow:inset 0 1px 0 rgb(255 255 255/72%),0 1px 2px rgb(11 28 48/3%)}.client-consent-readonly-field{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:12px 14px;border:1px solid rgb(15 140 121/8%);border-radius:14px;background:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255/72%)}.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);font-weight:600;line-height:1.45;word-break:break-word}.client-consent-actions{padding-top:4px;border-top:1px solid var(--border)}.client-consent-feedback-stack{display:grid;grid-gap:8px;gap:8px}.consent-note{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--muted)}.consent-inline-note{font-size:var(--fs-2xs);font-weight:500;color:var(--muted)}.consent-checkbox-list{display:flex;flex-wrap:wrap;gap:8px 12px}.consent-approval-options{display:flex;flex-wrap:wrap;gap:10px 16px}.consent-approval-checkbox{width:-moz-fit-content;width:fit-content}.consent-draft-note{margin:0}.consent-settings-textarea{min-height:260px}.legal-document-settings-textarea{min-height:280px}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-disclosure-edit-button{width:auto;min-width:auto;display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.appointment-disclosure-edit-icon{width:18px;height:18px;display:block}.appointment-disclosure-field-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.appointment-disclosure-preview{display:grid;grid-gap:4px;gap:4px}.appointment-disclosure-preview-surface{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-soft)}.legal-document-content{display:grid;grid-gap:10px;gap:10px}.legal-document-content p{margin:0;line-height:1.5}.calendar-table thead th,.clients-table-scroll thead th,.sessions-table-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--surface);background-clip:padding-box;box-shadow:inset 0 -1px 0 var(--border)}.sessions-counselor-scope{display:grid;grid-gap:5px;gap:5px;max-width:340px}.sessions-counselor-scope label{font-size:var(--fs-sm);font-weight:500}.sessions-counselor-scope select{font-size:var(--fs-base)}.sessions-tab-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.sessions-tab-button{min-width:0;text-align:center}.compact-table td,.compact-table th{padding:5px 7px;font-size:var(--fs-xs)}.compact-table tbody tr.session-day-divider td{border-top:2px solid color-mix(in srgb,var(--border) 70%,var(--text) 30%)}.clients-table-scroll,.sessions-table-scroll{width:100%;max-width:100%;min-width:0;max-height:clamp(320px,62dvh,720px);overscroll-behavior:contain;overscroll-behavior-x:contain}.calendar-table-scroll,.clients-table-scroll,.sessions-table-scroll{overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.calendar-table-scroll{max-height:clamp(360px,72dvh,820px);overscroll-behavior:contain}.calendar-table-scroll::-webkit-scrollbar,.clients-table-scroll::-webkit-scrollbar,.sessions-tab-bar::-webkit-scrollbar,.sessions-table-scroll::-webkit-scrollbar,.table-scroll::-webkit-scrollbar{height:10px}.calendar-table-scroll::-webkit-scrollbar-track,.clients-table-scroll::-webkit-scrollbar-track,.sessions-tab-bar::-webkit-scrollbar-track,.sessions-table-scroll::-webkit-scrollbar-track,.table-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.calendar-table-scroll::-webkit-scrollbar-thumb,.clients-table-scroll::-webkit-scrollbar-thumb,.sessions-tab-bar::-webkit-scrollbar-thumb,.sessions-table-scroll::-webkit-scrollbar-thumb,.table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track)}.calendar-table-scroll::-webkit-scrollbar-thumb:hover,.clients-table-scroll::-webkit-scrollbar-thumb:hover,.sessions-tab-bar::-webkit-scrollbar-thumb:hover,.sessions-table-scroll::-webkit-scrollbar-thumb:hover,.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sessions-table-scroll{--table-scroll-min-width:860px}.clients-table-scroll .table,.sessions-table-scroll .compact-table,.table-scroll>table{width:max-content;min-width:var(--table-scroll-min-width,760px)}.calendar-table,.clients-table-scroll .table,.sessions-table-scroll .compact-table{border-collapse:separate;border-spacing:0}.clients-table-scroll .table td,.clients-table-scroll .table th,.sessions-table-scroll .compact-table td,.sessions-table-scroll .compact-table th,.table-scroll>table td,.table-scroll>table th{white-space:nowrap}.clients-table-scroll .table th.table-header-wrap,.sessions-table-scroll .compact-table th.table-header-wrap,.table-scroll>table th.table-header-wrap{white-space:normal}.auth-shell{--auth-bg:radial-gradient(circle at 14% 12%,rgb(15 140 121/11%),transparent 26%),radial-gradient(circle at 88% 16%,rgb(148 163 184/10%),transparent 30%),linear-gradient(180deg,#f8fbfc,#f4f7fb 48%,#f2f5fb);--auth-intro-title-color:#16324a;--auth-intro-description-color:rgb(71 85 105/90%);--auth-brand-name-color:#0f7e6c;--auth-brand-tag-color:rgb(73 94 109/72%);--auth-panel-title-color:#183249;--auth-panel-description-color:rgb(71 85 105/88%);--auth-orb-left-bg:radial-gradient(circle,rgb(15 140 121/18%) 0%,transparent 70%);--auth-orb-right-bg:radial-gradient(circle,rgb(203 213 225/36%) 0%,transparent 72%);--auth-beam-bg:linear-gradient(145deg,rgb(255 255 255/80%),rgb(255 255 255/18%));--auth-beam-highlight:inset 0 1px 0 rgb(255 255 255/72%);--auth-panel-bg:rgb(255 255 255/0.84);--auth-panel-border:rgb(255 255 255/0.92);--auth-panel-shadow:0 28px 80px rgb(15 23 42/10%),0 10px 28px rgb(15 23 42/6%);--auth-panel-blur:blur(18px);--auth-input-bg:rgb(255 255 255/0.86);--auth-input-border:rgb(15 140 121/12%);--auth-input-shadow:inset 0 1px 0 rgb(255 255 255/72%),0 1px 2px rgb(15 23 42/3%);--auth-input-placeholder:#a9b3bf;--auth-note-bg:rgb(255 255 255/0.82);--auth-note-border:rgb(255 255 255/0.86);--auth-note-shadow:0 18px 38px rgb(15 23 42/8%);--auth-footer-text:rgb(90 106 118/92%);max-width:none;width:100%;min-height:100dvh;margin:0;padding:32px 24px 24px;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center}.bg-glare-left{background:radial-gradient(circle at 12% 10%,rgb(15 140 121/12%),transparent 28%),radial-gradient(circle at 88% 14%,rgb(14 165 138/8%),transparent 24%),linear-gradient(180deg,#f8fbfc,#f4f7fb)}.bg-glare-right{background:radial-gradient(circle at 88% 12%,rgb(15 140 121/12%),transparent 30%),radial-gradient(circle at 14% 18%,rgb(14 165 138/8%),transparent 24%),linear-gradient(180deg,#f8fbfc,#f4f7fb)}.auth-shell-modern{background:var(--auth-bg)}.auth-shell-beam,.auth-shell-orb{position:absolute;pointer-events:none;z-index:-1}.auth-shell-orb{border-radius:999px;filter:blur(16px);opacity:.8}.auth-shell-orb-left{top:84px;left:-48px;width:320px;height:320px;background:var(--auth-orb-left-bg)}.auth-shell-orb-right{right:72px;bottom:126px;width:260px;height:260px;background:var(--auth-orb-right-bg)}.auth-shell-beam{right:-160px;top:92px;width:min(42vw,520px);height:min(72vh,620px);border-radius:52px;background:var(--auth-beam-bg);box-shadow:var(--auth-beam-highlight);opacity:.84;transform:rotate(19deg);filter:blur(.2px)}.auth-screen{width:min(100%,960px);margin:auto 0;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;grid-gap:0;gap:0}.auth-stage{width:min(100%,420px);justify-self:center;display:grid;grid-gap:28px;gap:28px}.auth-intro{display:grid;grid-gap:22px;gap:22px;justify-items:center;text-align:center}.auth-intro-copy{display:grid;grid-gap:10px;gap:10px}.auth-intro-title{margin:0;font-size:clamp(2.25rem,3.6vw,3rem);line-height:1.05;font-weight:700;letter-spacing:-.04em;color:var(--auth-intro-title-color)}.auth-intro-description{margin:0;max-width:33ch;font-size:1.05rem;line-height:1.55;color:var(--auth-intro-description-color)}.auth-brand{gap:14px}.auth-brand,.auth-brand-mark{display:inline-flex;align-items:center}.auth-brand-mark{justify-content:center;flex:none;width:56px;height:51px}.auth-brand-mark-image{width:100%;height:100%;object-fit:contain}.auth-brand-mark svg,.auth-field-icon svg,.auth-input-action svg,.auth-primary-button svg,.auth-primary-button-link svg,.auth-secondary-button svg,.auth-security-badge svg{width:20px;height:20px}.auth-brand-copy{display:grid;grid-gap:4px;gap:4px;text-align:left}.auth-brand-name{font-size:2rem;line-height:1;font-weight:700;letter-spacing:-.04em;color:var(--auth-brand-name-color)}.auth-brand-tag{font-size:.82rem;line-height:1.35;font-weight:700;letter-spacing:.02em;color:var(--auth-brand-tag-color)}.auth-panel{position:relative;width:100%;padding:30px 30px 26px;border-radius:28px;border:1px solid var(--auth-panel-border);background:var(--auth-panel-bg);backdrop-filter:var(--auth-panel-blur);-webkit-backdrop-filter:var(--auth-panel-blur);box-shadow:var(--auth-panel-shadow)}.auth-panel-copy{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.auth-panel-title{margin:0;font-size:1.2rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--auth-panel-title-color)}.auth-panel-description{margin:0;font-size:.96rem;line-height:1.5;color:var(--auth-panel-description-color)}.auth-form,.auth-panel-body{display:grid}.auth-form{grid-gap:18px;gap:18px}.auth-field{display:grid;grid-gap:8px;gap:8px}.auth-field-label{margin:0;font-size:.9rem;line-height:1.2;font-weight:700;color:#334155}.auth-field-shell{position:relative;display:flex;align-items:center;min-height:58px;overflow:clip;border:1px solid var(--auth-input-border);border-radius:16px;background:var(--auth-input-bg);box-shadow:var(--auth-input-shadow);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}.auth-field-shell:focus-within{border-color:rgb(15 140 121/42%);box-shadow:0 0 0 4px rgb(15 140 121/12%),inset 0 1px 0 rgb(255 255 255/82%);background:rgb(255 255 255/.94%)}.auth-field-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;color:rgb(100 116 139/78%)}.auth-input-control{width:100%;min-width:0;min-height:56px;border:0;border-radius:inherit;outline:0;padding:0 16px 0 10px;background:transparent;color:var(--text);font-size:1rem;line-height:1.35;box-shadow:none}.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,.auth-input-control:-webkit-autofill:focus,.auth-input-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 100px transparent;-webkit-transition:background-color 9999s ease-out 0s;transition:background-color 9999s ease-out 0s}.auth-input-action{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:rgb(100 116 139/80%);box-shadow:none;flex:none}.auth-input-action:focus-visible,.auth-input-action:hover{background:rgb(15 140 121/10%);color:var(--primary)}.auth-field-meta,.auth-field-support{margin:0;font-size:.8rem;line-height:1.45;color:rgb(100 116 139/90%)}.auth-field-meta{display:grid;grid-gap:4px;gap:4px}.auth-field-error{color:#9f261b;font-weight:600}.auth-form-actions{display:grid;grid-gap:12px;gap:12px;margin-top:2px}.auth-security-card{width:100%;display:flex;justify-content:center}.auth-primary-button,.auth-primary-button-link,.auth-secondary-button{width:100%;min-width:0;min-height:58px;border-radius:16px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.98rem;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.auth-primary-button,.auth-primary-button-link{border:1px solid rgb(12 112 98/30%);background:linear-gradient(180deg,#108a78,#0d7c6b);color:#ffffff;box-shadow:0 14px 32px rgb(15 140 121/22%)}.auth-primary-button-link:hover,.auth-primary-button:hover{background:linear-gradient(180deg,#11907e,#0c7262);box-shadow:0 18px 34px rgb(15 140 121/26%);transform:translateY(-1px)}.auth-primary-button:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:0 10px 22px rgb(15 140 121/14%)}.auth-primary-button:disabled:hover{background:linear-gradient(180deg,#108a78,#0d7c6b);transform:none}.auth-secondary-button{border:1px solid rgb(148 163 184/22%);background:rgb(255 255 255/62%);color:#334155;box-shadow:none}.auth-secondary-button:hover{background:rgb(255 255 255/82%);color:#183249}.auth-helper-row{margin:0;text-align:center}.auth-text-link{display:inline-flex;align-items:center;justify-content:center;width:auto;color:#0d7c6b;font-size:.95rem;font-weight:600;text-decoration:none}.auth-text-link:focus-visible,.auth-text-link:hover{color:#096657}.auth-feedback-stack{display:grid;grid-gap:10px;gap:10px}.auth-feedback{margin:0;padding:12px 14px;border-radius:16px;border:1px solid transparent;font-size:.88rem;line-height:1.5}.auth-feedback-success{border-color:rgb(15 140 121/20%);background:rgb(15 140 121/9%);color:#0f6f61}.auth-feedback-error{border-color:rgb(180 35 24/20%);background:rgb(180 35 24/8%);color:#9f261b}.auth-feedback-info{border-color:rgb(37 99 235/18%);background:rgb(37 99 235/7%);color:#1e40af}.button-with-spinner{display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-spinner{width:14px;height:14px;border:2px solid rgb(255 255 255/45%);border-top-color:#fff;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-footer{width:min(100%,1080px);margin-top:26px;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--auth-footer-text)}.auth-footer-meta{display:grid;grid-gap:8px;gap:8px}.auth-footer-copy{margin:0;font-size:.78rem;line-height:1.4}.auth-footer-links{display:inline-flex;flex-wrap:wrap;gap:18px;font-size:.78rem;line-height:1.3}.auth-security-badge{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:54px;padding:0 18px;border:1px solid rgb(255 255 255/72%);border-radius:18px;background:rgb(255 255 255/58%);box-shadow:0 14px 28px rgb(15 23 42/6%);color:rgb(71 85 105/92%);font-size:.8rem;line-height:1.2;font-weight:700;letter-spacing:.02em}.dashboard-shell{display:flex;min-height:100dvh;max-width:100%}.dashboard-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;width:280px;height:100dvh;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);transition:width .2s ease}.dashboard-mobile-menu,.dashboard-mobile-menu-backdrop,.dashboard-mobile-topbar{display:none}.dashboard-sidebar.collapsed{width:92px;z-index:70}.dashboard-sidebar.collapsed .dashboard-sidebar-inner{position:relative;overflow:visible}.dashboard-sidebar.collapsed .dashboard-link,.dashboard-sidebar.collapsed .dashboard-nav{overflow:visible}.dashboard-sidebar-inner{min-height:100%;height:100%;padding:17px 12px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-x:clip}.dashboard-sidebar-head{display:flex;align-items:center;justify-content:flex-start;gap:10px}.dashboard-sidebar-head strong{font-size:var(--fs-4xl);min-width:0}.dashboard-brand-title{margin:0;flex:1 1 auto;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;letter-spacing:-.01em}.dashboard-brand-copy{min-width:0;flex:1 1 auto}.dashboard-brand-subtitle{margin:4px 0 0;font-size:var(--fs-sm);line-height:1.25;word-break:break-word}.brand-head{display:flex;align-items:center;gap:9px;min-width:0;width:100%}.brand-head-link{width:100%;display:block;min-width:0;color:inherit;text-decoration:none}.dashboard-mobile-brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto}.dashboard-mobile-brand-link{display:flex;min-width:0;flex:1 1 auto;color:inherit;text-decoration:none}.dashboard-mobile-brand-copy{min-width:0;flex:1 1 auto}.dashboard-mobile-brand-title{margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;letter-spacing:-.01em;line-height:1.14;font-weight:700;color:var(--text)}.dashboard-mobile-brand-subtitle{margin:3px 0 0;font-size:var(--fs-xs);line-height:1.25;word-break:break-word}button.mobile-menu-toggle{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-mobile-topbar-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.dashboard-mobile-menu-backdrop{position:fixed;inset:0;z-index:1300;background:var(--overlay-backdrop);border:0;padding:0;opacity:0;pointer-events:none;transition:opacity .2s ease}.dashboard-mobile-menu-backdrop:active,.dashboard-mobile-menu-backdrop:focus,.dashboard-mobile-menu-backdrop:focus-visible,.dashboard-mobile-menu-backdrop:hover{background:var(--overlay-backdrop)}.dashboard-mobile-menu-backdrop.open{opacity:1;pointer-events:auto}.dashboard-mobile-menu{position:fixed;top:0;left:0;right:0;z-index:1301;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);transform:translateY(calc(-100% - 12px));transition:transform .24s ease;pointer-events:none}.dashboard-mobile-menu.open{transform:translateY(0);pointer-events:auto}.dashboard-mobile-menu-inner{max-height:min(86dvh,620px);overflow-y:auto;padding:14px 12px 16px;display:grid;grid-gap:10px;gap:10px}.dashboard-nav-mobile{margin-top:0}.dashboard-theme-toggle-mobile{margin-top:3px}.dashboard-theme-toggle-mobile .theme-toggle{width:-moz-fit-content;width:fit-content}.brand-logo{width:34px;height:34px;border-radius:7px;object-fit:cover;border:1px solid var(--border);background:var(--surface-soft)}.brand-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-expired,.sidebar-powered{margin:0;font-size:var(--fs-2xs)}.sidebar-powered{line-height:1.2;min-height:24px}.sidebar-powered.is-hidden-placeholder{visibility:hidden}.preview-logo{width:80px;height:80px;object-fit:cover;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.sidebar-collapse-wrap{display:flex;justify-content:flex-end}.sidebar-utility-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width: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{padding:0;border-radius:10px}.mobile-topbar-icon-button,.sidebar-notification-shortcut,button.sidebar-collapse-toggle{width:40px;min-width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center}.mobile-topbar-icon-button,.sidebar-notification-shortcut{position:relative;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none}.mobile-topbar-icon-button{height:40px}.mobile-topbar-icon-button.is-active,.mobile-topbar-icon-button:hover,.sidebar-notification-shortcut.is-active,.sidebar-notification-shortcut:hover{border-color:var(--primary);background:rgb(15 140 121/4%);color:var(--primary)}.mobile-topbar-icon-button .dashboard-link-short,.sidebar-notification-shortcut .dashboard-link-short{color:inherit}.sidebar-collapse-icon{width:18px;height:18px;display:block;stroke-linecap:round;stroke-linejoin:round}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .brand-head,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-collapse-wrap{justify-content:center}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .brand-logo{margin:0 auto}.dashboard-nav{display:grid;grid-gap:7px;gap:7px;margin-top:5px}.dashboard-link{position:relative;display:flex;align-items:center;gap:9px;text-decoration:none;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:var(--surface);color:var(--text)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link{justify-content:center;gap:0;padding:9px}.dashboard-link-label{min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-link.active,.dashboard-link:hover{border-color:var(--primary);background:rgb(15 140 121/4%)}.dashboard-link-short{position:relative;width:24px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link-short{width:28px;min-width:28px;height:28px;margin:0 auto}.dashboard-link.active .dashboard-link-short,.dashboard-link:hover .dashboard-link-short{color:var(--primary)}.dashboard-menu-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dashboard-menu-icon-settings{stroke-width:1.75}.dashboard-menu-icon-add-client,.dashboard-menu-icon-clients,.dashboard-menu-icon-create,.dashboard-menu-icon-integration,.dashboard-menu-icon-notifications,.dashboard-menu-icon-sessions{width:21px;height:21px}.dashboard-link-dot{position:absolute;top:0;right:-1px;width:9px;height:9px;border-radius:999px;background:#cf3651;border:1px solid var(--surface)}@keyframes dashboardIconRing{0%{transform:rotate(0deg)}30%{transform:rotate(-12deg)}60%{transform:rotate(10deg)}to{transform:rotate(0deg)}}@keyframes dashboardIconFloat{0%{transform:translateY(0)}50%{transform:translateY(-1.5px)}to{transform:translateY(0)}}@keyframes dashboardIconNudge{0%{transform:translateX(0)}33%{transform:translateX(-1.5px)}66%{transform:translateX(1.5px)}to{transform:translateX(0)}}@keyframes dashboardIconSpin{0%{transform:rotate(0deg)}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);position:absolute;left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%);padding:5px 8px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-xs);line-height:1.2;white-space:nowrap;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2000}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--surface);border-top:1px solid var(--border);border-left:1px solid var(--border);rotate:-45deg;opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:2000}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible:after,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible:before,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover:after,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover:before{opacity:1;transform:translateY(-50%)}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:focus-visible,.dashboard-sidebar.collapsed .dashboard-sidebar-inner .dashboard-link[data-tooltip]:hover{z-index:2100}.dashboard-link:focus-visible .dashboard-menu-icon-notifications,.dashboard-link:hover .dashboard-menu-icon-notifications{transform-origin:50% 18%;animation:dashboardIconRing .55s ease}.mobile-topbar-icon-button:focus-visible .dashboard-menu-icon-notifications,.mobile-topbar-icon-button:hover .dashboard-menu-icon-notifications,.sidebar-notification-shortcut:focus-visible .dashboard-menu-icon-notifications,.sidebar-notification-shortcut:hover .dashboard-menu-icon-notifications{transform-origin:50% 18%;animation:dashboardIconRing .55s ease}.dashboard-link:focus-visible .dashboard-menu-icon-create,.dashboard-link:focus-visible .dashboard-menu-icon-integration,.dashboard-link:focus-visible .dashboard-menu-icon-sessions,.dashboard-link:hover .dashboard-menu-icon-create,.dashboard-link:hover .dashboard-menu-icon-integration,.dashboard-link:hover .dashboard-menu-icon-sessions{animation:dashboardIconFloat .45s ease}.dashboard-link:focus-visible .dashboard-menu-icon-add-client,.dashboard-link:focus-visible .dashboard-menu-icon-clients,.dashboard-link:hover .dashboard-menu-icon-add-client,.dashboard-link:hover .dashboard-menu-icon-clients{animation:dashboardIconNudge .4s ease}.dashboard-link:focus-visible .dashboard-menu-icon-settings,.dashboard-link:hover .dashboard-menu-icon-settings{transform-origin:50% 50%;animation:dashboardIconSpin .45s ease}.dashboard-link:focus-visible .dashboard-menu-icon-plus,.dashboard-link:hover .dashboard-menu-icon-plus{animation:dashboardIconPulse .45s ease}}@media (prefers-reduced-motion:reduce){.dashboard-menu-icon,.dashboard-menu-icon-plus{animation:none!important;transition:none!important}}.dashboard-sidebar-foot{margin-top:auto;display:grid;grid-gap:7px;gap:7px}button.sidebar-logout-button{width:100%;min-height:44px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px}.sidebar-logout-button .logout-button-label{flex:1 1 auto;min-width:0;text-align:left}.logout-button-icon{width:18px;height:18px;display:block;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-logout-button{width:44px;min-width:44px;height:44px;padding:0;justify-content:center;justify-self:center;border-radius:12px}.dashboard-sidebar.collapsed .dashboard-sidebar-inner button.sidebar-collapse-toggle{width:44px;min-width:44px;height:44px;border-radius:12px}.dashboard-sidebar.collapsed .dashboard-sidebar-inner .sidebar-logout-button .logout-button-icon{width:20px;height:20px}.dashboard-content{position:relative;flex:1 1;min-width:0;padding:17px;max-width:100%}.dashboard-content,.dashboard-sidebar+.dashboard-content{margin-left:280px;width:calc(100% - 280px)}.dashboard-sidebar.collapsed+.dashboard-content{margin-left:92px;width:calc(100% - 92px)}.dashboard-content-inner{width:100%;max-width:1200px;margin:0;min-width:0}.dashboard-content main{width:100%;max-width:none;min-width:0;margin:0;padding:0}.analytics-shell{gap:18px}.analytics-top{display:grid;grid-gap:16px;gap:16px}.analytics-filter-card{display:grid;grid-gap:14px;gap:14px}.analytics-filter-presets{display:flex;flex-wrap:wrap;gap:8px}.analytics-preset-button{text-decoration:none}.analytics-filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.analytics-filter-actions{display:flex;align-items:flex-end}.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,rgba(245,158,11,.08),var(--surface))}.analytics-stat-card-success{background:linear-gradient(180deg,rgba(16,185,129,.09),var(--surface))}.analytics-stat-helper{margin:8px 0 0}.analytics-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-panel{display:grid;grid-gap:16px;gap:16px}.analytics-panel-wide{grid-column:1/-1}.analytics-panel-head{display:flex;justify-content:space-between;gap:10px}.analytics-panel-head h2{margin:0}.analytics-panel-head p{margin:6px 0 0}.analytics-trend-chart{height:240px;min-height:240px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(12px,1fr);align-items:end;grid-gap:8px;gap:8px;padding-top:8px}.analytics-trend-bar-group{display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:6px;gap:6px;align-items:end;min-height:0}.analytics-trend-bar-value{font-size:var(--fs-xs);color:var(--muted);text-align:center}.analytics-trend-bar-track{height:100%;display:flex;align-items:flex-end;border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent 28%);padding:2px}.analytics-trend-bar{width:100%;min-height:0;align-self:end;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,rgba(14,165,233,.94),rgba(8,145,178,.55))}.analytics-trend-bar-label{font-size:var(--fs-xs);color:var(--muted);text-align:center}.analytics-breakdown-list,.analytics-hour-list,.analytics-payment-list{display:grid;grid-gap:10px;gap:10px}.analytics-breakdown-item{display:grid;grid-gap:8px;gap:8px}.analytics-breakdown-copy{display:flex;flex-direction:column;gap:2px}.analytics-breakdown-meter,.analytics-hour-meter{width:100%;height:9px;border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 76%,transparent 24%);overflow:hidden}.analytics-breakdown-meter-fill,.analytics-hour-meter-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(16,185,129,.9),rgba(6,182,212,.78))}.analytics-payment-item{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.analytics-hour-row{display:grid;grid-template-columns:52px minmax(0,1fr) 36px;grid-gap:10px;gap:10px;align-items:center}.analytics-weekday-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.analytics-weekday-cell{min-height:92px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.analytics-weekday-label{font-size:var(--fs-sm);color:var(--muted)}.analytics-weekday-value{font-size:var(--fs-4xl)}.analytics-client-behavior{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-pill{border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;background:color-mix(in srgb,var(--surface-soft) 86%,white 14%);display:grid;grid-gap:6px;gap:6px}.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-client-behavior,.analytics-filter-grid,.analytics-weekday-grid{grid-template-columns:minmax(0,1fr)}.analytics-trend-chart{overflow-x:auto;padding-bottom:6px}}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-backdrop);display:grid;place-items:center;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));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;grid-gap:9px;gap:9px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px);overflow:auto;-webkit-overflow-scrolling:touch}.modal-meta{display:grid;grid-gap:2px;gap:2px}.modal-meta p{margin:0}.modal-email-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:500}.modal-email-toggle input{width:auto}.modal-cancel-confirm{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--danger-soft-border);border-radius:10px;background:var(--danger-soft-bg);color:var(--text);padding:10px}.modal-cancel-confirm p{margin:0}.modal-cancel-confirm .inline-link-button{justify-self:start;text-align:left}.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}@supports (height:100svh){.modal-card,.modal-card-wide{max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px)}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2,.modal-head h3{margin:0}.modal-close{width:36px;min-width:36px;height:36px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-3xl);line-height:1}.modal-backdrop-blur{background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-card-elevated{background:rgb(255 255 255/86%);border:1px solid rgb(191 204 224/28%);box-shadow:0 12px 32px rgb(11 28 48/6%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-shell{display:flex;flex-direction:column;min-height:0;height:100%}.modal-shell-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid rgb(191 204 224/14%)}.modal-shell-title-row{display:flex;align-items:center;gap:14px;min-width:0}.modal-shell-title-copy{min-width:0}.modal-shell-title{margin:0;font-size:clamp(20px,2vw,28px);line-height:1.15;letter-spacing:-.03em;font-weight:700}.modal-shell-badge,.modal-shell-close{width:42px;min-width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center}.modal-shell-badge{color:var(--primary-strong);background:linear-gradient(180deg,rgb(15 140 121/14%),rgb(15 140 121/7%))}.modal-shell-close{border:0;background:transparent;color:#6e7a76;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}.modal-shell-close:focus-visible,.modal-shell-close:hover{background:rgb(240 244 250/90%);color:var(--text)}.modal-shell-close:disabled{opacity:.55;cursor:not-allowed}.modal-shell-badge svg,.modal-shell-close svg{width:18px;height:18px}.modal-shell-body{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:22px 26px 24px;display:grid;grid-gap:22px;gap:22px}.modal-shell-footer{padding:22px 26px 24px;background:linear-gradient(180deg,rgb(251 253 255/76%),rgb(246 249 253/94%));border-top:1px solid rgb(191 204 224/14%)}.modal-card-create-appointment{width:min(620px,100%);padding:0;gap:0;border-radius:24px;overflow-y:auto;overflow-x:hidden}.modal-card-create-appointment .modal-head,.public-booking-modal .modal-head{position:-webkit-sticky;position:sticky;top:0;z-index:3;padding:22px 26px 18px;background:rgb(255 255 255/84%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgb(191 204 224/12%)}.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);font-size:clamp(28px,2.3vw,34px);line-height:1.08;letter-spacing:-.04em;font-weight:700}.modal-card-create-appointment .modal-close,.public-booking-modal .modal-close{width:40px;min-width:40px;height:40px;border-radius:14px;color:#6e7a76}.modal-card-create-appointment .appointment-form,.public-booking-modal .appointment-form{padding:0 26px 24px;min-width:0;max-width:100%;overflow-x:clip}.public-booking-modal .appointment-form{overflow-x:visible}.appointment-form-slot-summary{margin:0;padding:14px 26px 0;max-width:100%;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;min-height:40px;max-width:100%;padding:10px 14px;justify-content:flex-start;border-radius:14px;text-align:left;line-height:1.4;white-space:normal}.modal-card-create-appointment .appointment-form-actions,.public-booking-modal .appointment-form-actions{position:-webkit-sticky;position:sticky;bottom:12px;z-index:2;padding-top:18px;padding-bottom:calc(6px + env(safe-area-inset-bottom, 0px));margin-top:8px;background:linear-gradient(180deg,rgb(255 255 255/0),rgb(249 252 251/92%) 26%,rgb(242 249 247/98%))}.public-booking-modal .appointment-form-actions{overflow:visible}.appointment-created-modal{width:min(560px,100%)}.appointment-created-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.appointment-created-modal-head h3{margin:0}.appointment-created-modal-close{width:36px;min-width:36px;height:36px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-3xl);line-height:1}.appointment-created-modal-body{display:grid;grid-gap:6px;gap:6px}.appointment-created-modal-body p{margin:0}@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 button,.modal-card-create-appointment .form-compact input,.modal-card-create-appointment .form-compact select,.modal-card-create-appointment .form-compact textarea{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,.appointment-form-shell{display:grid;grid-gap:24px;gap:24px;min-width:0;max-width:100%}.appointment-form-shell{width:min(100%,100%)}.appointment-form-context-card{display:grid;grid-gap:6px;gap:6px;border-radius:18px;padding:16px 18px;background:linear-gradient(180deg,rgb(237 247 244/92%),rgb(245 251 248/98%));box-shadow:inset 0 1px 0 rgb(255 255 255/70%)}.appointment-form-context-line{margin:0;color:#42515e;font-size:14px;line-height:1.5}.appointment-form-section{display:grid;grid-gap:14px;gap:14px;min-width:0}.appointment-form-section-heading{display:flex;align-items:center;gap:8px}.appointment-form-section-icon{width:18px;height:18px;color:var(--primary-strong);display:inline-flex;align-items:center;justify-content:center;flex:none}.appointment-form-section-accent{width:4px;height:18px;border-radius:999px;background:linear-gradient(180deg,#00685a,#088372)}.appointment-form-section-title{margin:0;color:#6c7987;font-size:13px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.appointment-form-section-body{display:grid;grid-gap:16px;gap:16px;min-width:0}.appointment-form-section.is-card{position:relative;gap:18px;padding:22px 24px 24px;border:1px solid rgb(15 140 121/10%);border-radius:22px;background:linear-gradient(180deg,rgb(255 255 255/98%),rgb(246 250 248/96%));box-shadow:inset 0 1px 0 rgb(255 255 255/76%),0 12px 30px rgb(11 28 48/5%)}.appointment-form-section.is-card:before{content:"";position:absolute;top:18px;bottom:18px;left:0;width:4px;border-radius:999px;background:linear-gradient(180deg,#00685a,#088372)}.appointment-form-section.is-card .appointment-form-section-accent{display:none}.appointment-form-section.is-card .appointment-form-section-body,.appointment-form-section.is-card .appointment-form-section-heading{padding-left:4px}.appointment-form-section.is-card .appointment-form-section-body{gap:18px}.appointment-form-grid{display:grid;grid-gap:14px;gap:14px;min-width:0}.appointment-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form-grid-span-full{grid-column:1/-1}.appointment-form-field{display:grid;grid-gap:7px;gap:7px}.appointment-form-field-label{display:inline-flex;align-items:baseline;gap:8px;margin:0;color:#576573;font-size:13px;line-height:1.3;font-weight:700}.appointment-form-field-label-hint{color:#8a97a3;font-size:12px;font-weight:500}.appointment-form-field-shell{position:relative;display:flex;align-items:center;min-height:54px;min-width:0;max-width:100%;border:1px solid rgb(15 140 121/10%);border-radius:16px;overflow:clip;background:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255/72%),0 1px 2px rgb(11 28 48/4%);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}.appointment-form-field-shell:focus-within{background:#fff;border-color:rgb(15 140 121/44%);box-shadow:0 0 0 3px rgb(15 140 121/10%),0 14px 30px rgb(11 28 48/6%)}.appointment-form-field-shell.is-invalid{border-color:rgb(186 26 26/28%);box-shadow:none}.appointment-form-field-shell.is-invalid:focus-within{border-color:rgb(186 26 26/42%);box-shadow:0 0 0 3px rgb(186 26 26/10%)}.appointment-form-field-frame{position:relative;padding:4px;margin:-4px}.appointment-form-field-overlay{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:24}.appointment-form-chip svg,.appointment-form-field-chevron,.appointment-form-field-icon,.appointment-form-inline-feedback svg,.appointment-form-segment-option svg,.appointment-form-submit svg{width:18px;height:18px;flex:none}.appointment-form-field-chevron,.appointment-form-field-icon{position:absolute;top:50%;transform:translateY(-50%);color:#7f8b96;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.appointment-form-field-icon{left:16px}.appointment-form-field-chevron{right:16px}.appointment-form-control{display:block;width:100%;min-width:0;max-width:100%;min-height:54px;border:0;border-radius:inherit;background:transparent;box-shadow:none;padding:16px 18px 16px 48px;color:#1f2d3d;font-size:15px;line-height:1.35;font-weight:600;text-size-adjust:100%}.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{-moz-appearance:none;appearance:none;-webkit-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{-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=date].appointment-form-control::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}input[type=date].appointment-form-control::-webkit-date-and-time-value{text-align:left}input[type=number].appointment-form-control{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number].appointment-form-control::-webkit-inner-spin-button,input[type=number].appointment-form-control::-webkit-outer-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;background:#fff;-webkit-text-fill-color:#788693;cursor:not-allowed}.appointment-form-control:focus{outline:none}.appointment-form-textarea{min-height:112px;resize:vertical}.appointment-form-field-description,.appointment-form-inline-note{margin:0;color:#7d8995;font-size:13px;line-height:1.5}.appointment-form-field-error,.appointment-form-inline-error{margin:4px 0 0;color:var(--danger);font-size:12px;line-height:1.45;font-weight:600}.appointment-form-chip-list{display:flex;flex-wrap:wrap;gap:10px;min-width:0;max-width:100%}.appointment-form-chip-label,.appointment-form-segment-label{display:inline-flex;min-width:0}.appointment-form-segmented .appointment-form-segment-label{display:flex;width:100%;flex:1 1}.appointment-form-chip-label input,.appointment-form-segment-label input{position:absolute;opacity:0;pointer-events:none}.appointment-form-chip{min-height:42px;padding:0 16px;border-radius:999px;background:#edf7f4;color:#44515d;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;line-height:1.2;font-weight:700;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.appointment-form-chip:active,.appointment-form-chip:focus-within,.appointment-form-chip:hover{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-checkbox-card,.appointment-form-toggle-card{display:flex;align-items:center;justify-content:flex-start;gap:12px;border-radius:18px;background:linear-gradient(180deg,#edf7f4,#f5fbf8);padding:16px 18px;cursor:pointer;min-width:0}.appointment-form-checkbox-copy,.appointment-form-toggle-copy{display:grid;grid-gap:4px;gap:4px}.appointment-form-checkbox-title,.appointment-form-toggle-title{color:#263544;font-size:15px;line-height:1.3;font-weight:700}.appointment-form-checkbox-description,.appointment-form-toggle-description{color:#7a8794;font-size:13px;line-height:1.45}.appointment-form-checkbox-control,.appointment-form-switch{flex:none}.appointment-form-checkbox-copy,.appointment-form-toggle-copy{min-width:0;flex:1 1 auto}.appointment-form-switch input{position:absolute;opacity:0;pointer-events:none}.appointment-form-switch-track{width:48px;height:28px;border-radius:999px;background:rgb(125 138 148/26%);padding:3px;display:flex;align-items:center;transition:background-color .18s ease}.appointment-form-switch-thumb{width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 4px 10px rgb(11 28 48/10%);transition:transform .18s ease}.appointment-form-switch input:checked+.appointment-form-switch-track{background:linear-gradient(90deg,#00685a,#088372)}.appointment-form-switch input:checked+.appointment-form-switch-track .appointment-form-switch-thumb{transform:translateX(20px)}.appointment-form-checkbox-control input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.appointment-form-recurring-card{border:0;border-radius:18px;padding:18px;background:linear-gradient(180deg,rgb(245 250 248/95%),rgb(237 247 244/100%))}.appointment-form-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:6px;border-radius:18px;background:linear-gradient(180deg,#edf7f4,#f5fbf8);min-width:0;max-width:100%}.appointment-form-segment-option{min-height:50px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;width:100%;gap:8px;padding:10px 14px;color:#4b5866;font-size:14px;line-height:1.2;font-weight:700;text-align:center;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.appointment-form-segment-option span{flex:1 1 auto;text-align:center}.appointment-form-segment-option.is-active{background:#fff;color:var(--primary-strong);box-shadow:0 10px 20px rgb(11 28 48/8%)}.appointment-form-autocomplete{width:100%;min-width:0}.appointment-form-autocomplete .appointment-form-control{position:relative;z-index:1}.appointment-form-autocomplete-list{top:calc(100% + 10px);z-index:24;border:0;border-radius:18px;background:rgb(255 255 255/96%);box-shadow:0 18px 36px rgb(11 28 48/12%);padding:8px}.appointment-form-autocomplete-item{width:100%;border:0;border-radius:12px;background:transparent;color:#314252;padding:10px 12px;text-align:left;font-size:13px;line-height:1.45;font-weight:600}.appointment-form-autocomplete-item:focus-visible,.appointment-form-autocomplete-item:hover{background:#e8f6f1}.appointment-form-status-stack{display:grid;grid-gap:8px;gap:8px}.appointment-form-status-stack .error,.appointment-form-status-stack .success{margin:0}.appointment-form-actions{display:grid;min-width:0}.appointment-form-admin,.appointment-form-admin .appointment-form-section-body,.appointment-form-admin-section{min-width:0;max-width:100%}.appointment-form-admin-stack{display:grid;grid-gap:24px;gap:24px}.appointment-form-shell.form-shell-wide{width:min(100%,760px)}.appointment-form-option-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.appointment-form-option-card{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 16px;border:1px solid rgb(15 140 121/10%);border-radius:16px;background:linear-gradient(180deg,rgb(251 253 252/98%),rgb(244 249 247/96%));box-shadow:inset 0 1px 0 rgb(255 255 255/72%),0 1px 2px rgb(11 28 48/3%);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}.appointment-form-option-card:focus-within,.appointment-form-option-card:hover{border-color:rgb(15 140 121/18%);background:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255/82%),0 10px 22px rgb(11 28 48/6%)}.appointment-form-option-card input{width:18px;height:18px;margin:0;accent-color:var(--primary);flex:none}.appointment-form-option-label{color:#314252;font-size:14px;line-height:1.35;font-weight:700}.appointment-form-submit{width:100%;min-width:0;min-height:56px;border-radius:16px;font-size:16px}.modal-section{display:grid;grid-gap:14px;gap:14px}.modal-section-heading{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#85929c;font-weight:700}.modal-section-divider{flex:1 1;height:1px;background:linear-gradient(90deg,rgb(191 204 224/22%),transparent)}.modal-section-content,.monthly-availability-picker{display:grid;grid-gap:14px;gap:14px}.monthly-availability-picker-calendar-card,.monthly-availability-picker-slots-card{border:1px solid rgb(184 197 217/32%);border-radius:18px;background:linear-gradient(180deg,#ffffff,#fbfdff);box-shadow:0 12px 24px rgb(18 38 63/6%),inset 0 1px 0 rgb(255 255 255/78%);padding:16px;display:grid;grid-gap:14px;gap:14px}.monthly-availability-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.monthly-availability-picker-eyebrow{margin:0 0 4px;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#7d8a95;font-weight:700}.monthly-availability-picker-title{margin:0;font-size:20px;line-height:1.15;letter-spacing:-.03em;text-transform:capitalize;color:#1d2c3b}.monthly-availability-picker-status{font-size:12px;line-height:1.4;color:#6c7a86;font-weight:600;text-align:right}.monthly-availability-picker .fc,.monthly-availability-picker-calendar-shell{min-width:0}.monthly-availability-picker .fc .fc-header-toolbar{margin-bottom:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.monthly-availability-picker .fc .fc-toolbar-chunk{display:inline-flex;align-items:center;gap:8px}.monthly-availability-picker .fc .fc-toolbar-chunk:nth-child(2){justify-self:center;min-width:0}.monthly-availability-picker .fc .fc-toolbar-title{margin:0;color:#1d2c3b;font-size:20px;line-height:1.15;letter-spacing:-.03em;text-align:center;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-availability-picker .fc .fc-button{min-height:38px;min-width:38px;border-radius:999px;border:1px solid rgb(184 197 217/36%);background:#f7fafc;color:#244051;box-shadow:none;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.monthly-availability-picker .fc .fc-button:focus-visible,.monthly-availability-picker .fc .fc-button:hover{background:#eef5f7;color:#18313f}.monthly-availability-picker .fc .fc-button-primary:not(:disabled).fc-button-active,.monthly-availability-picker .fc .fc-button-primary:not(:disabled):active{background:#e7f5f0;border-color:rgb(15 140 121/36%);color:var(--primary-strong)}.monthly-availability-picker .fc .fc-col-header-cell-cushion{padding:10px 0;color:#6e7f8b;font-size:12px;line-height:1.2;font-weight:700;text-transform:uppercase;text-decoration:none}.monthly-availability-picker .fc .fc-scrollgrid,.monthly-availability-picker .fc .fc-theme-standard td,.monthly-availability-picker .fc .fc-theme-standard th{border-color:rgb(191 204 224/26%)}.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;font-size:14px;line-height:1.2;font-weight:700;padding:4px 6px;border-radius:999px;text-decoration:none}.monthly-availability-picker .fc .monthly-availability-day-cell{background:linear-gradient(180deg,rgb(251 252 255/90%),rgb(248 251 253/92%));transition:background-color .18s ease,box-shadow .18s ease;cursor:pointer}.monthly-availability-picker .fc .monthly-availability-day-cell.has-availability{background:linear-gradient(180deg,rgb(236 250 245/95%),rgb(248 252 250/100%))}.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-bottom,.monthly-availability-picker .fc .monthly-availability-day-cell.is-unavailable .fc-daygrid-day-events{display:none;min-height:0;margin-top:0}.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 rgb(53 98 171/24%)}.monthly-availability-picker .fc .monthly-availability-day-cell.is-today .fc-daygrid-day-number{background:rgb(53 98 171/8%);color:#224c86}.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{border:0;background:transparent;margin-top:6px;min-height:8px}.monthly-availability-picker .fc .monthly-availability-calendar-event .fc-event-main{display:flex;align-items:center;justify-content:center;min-height:8px}.monthly-availability-picker .fc .monthly-availability-calendar-dot{width:8px;height:8px;border-radius:999px;background:#4f8de8;display:block}.monthly-availability-picker-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;background:#f4f8fa;padding:12px 14px}.monthly-availability-picker-feedback.is-error{background:#fff2f2;color:#7f2530}.monthly-availability-picker-feedback p,.monthly-availability-picker-loader p{margin:0}.monthly-availability-picker-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.monthly-availability-picker-slot-button{width:100%;border:1px solid rgb(184 197 217/36%);border-radius:16px;background:#ffffff;padding:14px 15px;display:grid;grid-gap:4px;gap:4px;text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.monthly-availability-picker-slot-button:active,.monthly-availability-picker-slot-button:focus-visible,.monthly-availability-picker-slot-button:hover{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;line-height:1.25;font-weight:700}.modal-alert{display:grid;grid-gap:12px;gap:12px;border-radius:16px;padding:16px}.modal-alert-info{background:linear-gradient(180deg,#eef5ff,#f7faff)}.modal-alert-warning{background:linear-gradient(180deg,#fff7ec,#fffaf3)}.modal-alert-danger{background:linear-gradient(180deg,#fff2f3,#fff8f8)}.modal-alert-success{background:linear-gradient(180deg,#edf8f3,#f7fcf9)}.modal-alert-head{display:flex;align-items:flex-start;gap:10px}.modal-alert-icon{width:22px;min-width:22px;color:#5f7181;display:inline-flex;align-items:center;justify-content:center}.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{display:grid;grid-gap:4px;gap:4px}.modal-alert-copy strong{font-size:14px;line-height:1.3;color:#223140}.modal-alert-body p,.modal-alert-copy p{margin:0;font-size:13px;line-height:1.5;color:#5f6d79}.modal-alert-body{display:grid;grid-gap:10px;gap:10px}.modal-alert-actions{display:flex;flex-wrap:wrap;gap:10px}.modal-danger-button,.modal-ghost-button,.modal-primary-button{width:auto;border:0;border-radius:14px;min-height:44px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;line-height:1.2;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.modal-primary-button{color:#fff;background:linear-gradient(90deg,#00685a,#088372);box-shadow:0 12px 20px rgb(0 104 90/18%)}.modal-primary-button:focus-visible,.modal-primary-button:hover{background:linear-gradient(90deg,#00685a,#088372);box-shadow:0 14px 24px rgb(0 104 90/24%)}.modal-danger-button{color:#fff;background:linear-gradient(180deg,#c32926,#a9191a);box-shadow:0 12px 20px rgb(169 25 26/16%)}.modal-danger-button:focus-visible,.modal-danger-button:hover{background:linear-gradient(180deg,#b72020,#971718);box-shadow:0 14px 24px rgb(169 25 26/22%)}.modal-ghost-button{color:#314252;background:rgb(255 255 255/72%)}.modal-ghost-button:focus-visible,.modal-ghost-button:hover{background:rgb(255 255 255/92%)}.appointment-manage-danger-link:disabled,.appointment-manage-inline-link:disabled,.modal-danger-button:disabled,.modal-ghost-button:disabled,.modal-primary-button: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;display:inline-flex;align-items:center;justify-content:flex-start;align-self:flex-start;justify-self:flex-start;border:0;background:transparent;padding:0;color:var(--primary-strong);font-size:13px;line-height:1.4;font-weight:700;text-align:left;cursor:pointer}.appointment-manage-inline-link:focus-visible,.appointment-manage-inline-link:hover{background:transparent;color:var(--primary-strong)}.appointment-manage-danger-link{width:auto;border:0;background:transparent;padding:8px 0;color:#ba1a1a;display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.3;font-weight:700;cursor:pointer}.appointment-manage-danger-link:focus-visible,.appointment-manage-danger-link:hover{color:#ba1a1a;background:transparent}.appointment-manage-danger-link svg,.modal-alert-icon svg,.modal-danger-button svg,.modal-ghost-button svg,.modal-primary-button svg{width:18px;height:18px}