@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:#171717;--primary-strong:#0d0d0d;--danger:#b42318;--danger-strong:#8e1a12;--border:#e4e4e4;--button-bg:#171717;--button-bg-hover:#0d0d0d;--button-text:#ffffff;--button-secondary-bg:#ffffff;--button-secondary-hover:#f2f2f2;--button-secondary-text:#171717;--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:#171717;--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}:root[data-theme=dark]{color-scheme:dark;--bg:#101010;--surface:#171717;--surface-soft:#212121;--surface-strong:#2b2b2b;--text:#f4f4f4;--muted:#b8b8b8;--primary:#f4f4f4;--primary-strong:#ffffff;--danger:#ff7b72;--danger-strong:#ff5f54;--border:#303030;--button-bg:#f4f4f4;--button-bg-hover:#ffffff;--button-text:#171717;--button-secondary-bg:#212121;--button-secondary-hover:#2b2b2b;--button-secondary-text:#f4f4f4;--shadow-soft:0 14px 34px rgb(0 0 0/34%);--overlay-backdrop:rgb(0 0 0/62%);--scrollbar-track:#232323;--scrollbar-thumb:#5f5f5f;--scrollbar-thumb-hover:#7a7a7a;--notification-unread-border:#6d3a42;--notification-unread-bg:#261a1d;--notification-unread-accent:#ff7b72;--danger-soft-border:#6d3a42;--danger-soft-bg:#2b1d20;--calendar-today-border-strong:#ffffff}@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{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}a{color:inherit}main{max-width:1080px;margin:0 auto;padding:21px}.auth-shell{max-width:none;width:100%;min-height:100dvh;margin:0;padding:24px;display:grid;place-items:center}.auth-split{width:min(100%,980px);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,420px);align-items:stretch}.auth-stack{width:min(100%,420px);display:grid;grid-gap:14px;gap:14px}.auth-single{width:min(100%,448px);display:grid}.auth-hero{border-radius:22px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);padding:28px;display:grid;grid-gap:12px;gap:12px;align-content:center}.auth-hero h1,.auth-hero h2,.auth-hero p{margin:0}.auth-hero-list{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.auth-card{width:100%;max-width:420px;justify-self:center;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft);display:grid;grid-gap:10px;gap:10px}.auth-card h1,.auth-card h2,.auth-card p{margin:0}.auth-form{gap:10px}.auth-form .field-group{display:grid;grid-gap:5px;gap:5px}.auth-form button,.auth-form input{min-height:50px;border-radius:12px;font-size:var(--fs-base)}.auth-form input{padding:10px 12px}.auth-form button{font-weight:700;width:100%;min-width:0}.auth-helper-row{margin:0}.auth-link{color:var(--primary-strong);text-decoration:underline;text-underline-offset:2px}.auth-role-switch{border-radius:12px;padding:10px}.auth-role-switch legend{font-size:var(--fs-sm)}.auth-role-switch-options{display:flex;gap:14px;flex-wrap:wrap}.auth-role-option{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500}.auth-role-option input{width:auto;min-height:auto}.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)}}.dashboard-shell{display:flex;min-height:100dvh}.dashboard-sidebar{position:relative;z-index:40;width:280px;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}.dashboard-sidebar-inner{position:-webkit-sticky;position:sticky;top:0;min-height:100dvh;padding:17px 12px;display:flex;flex-direction:column;gap:12px}.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;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;letter-spacing:-.01em}.brand-head{width:100%}.brand-head,.dashboard-mobile-brand{display:flex;align-items:center;gap:9px;min-width:0}.dashboard-mobile-brand{flex:1 1 auto}.dashboard-mobile-brand-copy{min-width:0;flex:1 1 auto}.dashboard-mobile-brand-title{margin:0;display:-webkit-box;-webkit-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)}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-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}button.sidebar-collapse-toggle{width:40px;min-width:40px;height:36px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.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-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;border-radius:999px;padding:0 6px;font-size:var(--fs-2xs);font-weight:700;background:#cf3651;color:#fff}.dashboard-link.active,.dashboard-link:hover{border-color:var(--primary);background:var(--surface-soft)}.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]: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-link:focus-visible .dashboard-menu-icon-notifications,.dashboard-link: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}.dashboard-content-inner{max-width:1200px;margin:0}.dashboard-content main{max-width:none;margin:0;padding:0}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:min(100%,calc(560px + 28px));justify-self:start}.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)}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}.muted{color:var(--muted)}.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}button.badge-button{width:auto;min-width:auto;padding:3px 9px;font-weight:500}.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}button.badge-button:hover{filter:brightness(.98)}button.badge-button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.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}.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}.page-header p{margin:0}.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-grid{display:grid;grid-gap:8px;gap:8px}.form-grid-2{grid-template-columns:repeat(2,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}input[type=date]{display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%}.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)}.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}.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)}.sessions-tab-bar,.tab-bar-scroll{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)}.tab-bar-scroll .tab-button{flex:0 0 auto;white-space:nowrap}.sessions-tab-button{min-width:0;text-align:center}.compact-table td,.compact-table th{padding:5px 7px;font-size:var(--fs-xs)}.clients-table-scroll,.sessions-table-scroll,.table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.calendar-table-scroll,.clients-table-scroll,.sessions-table-scroll,.table-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.calendar-table-scroll::-webkit-scrollbar,.clients-table-scroll::-webkit-scrollbar,.sessions-tab-bar::-webkit-scrollbar,.sessions-table-scroll::-webkit-scrollbar,.tab-bar-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,.tab-bar-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,.tab-bar-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,.tab-bar-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)}.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}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.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}.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)}.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)}.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:8px;gap:8px;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}.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}.modal-card-create-appointment{width:min(620px,100%)}@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}}@supports (height:100svh){.modal-card,.modal-card-wide{max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px)}}.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}.radio-row{display:flex;flex-wrap:wrap;gap:10px}.radio-row label{display:inline-flex;align-items:center;gap:5px;font-weight:500}.radio-row input{width:auto}.calendar{display:grid;grid-gap:10px;gap:10px}.calendar-header{display:flex;justify-content:center;align-items:center}.calendar-title-wrap{display:inline-flex;align-items:center;gap:6px;max-width:100%}.calendar-title{margin:0;min-width:0;padding:0 2px;text-align:center;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-arrow-button{width:30px;min-width:30px;height:30px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1}.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}.calendar-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-table td,.calendar-table th{border:1px solid var(--border);vertical-align:top}.calendar-table th{padding:7px;text-align:center;background:var(--surface)}.calendar-cell{min-height:120px;padding:7px}.calendar-cell.is-today{box-shadow:inset 0 0 0 2px var(--calendar-today-border-strong)}.calendar-empty{background:var(--surface-soft)}.calendar-day{font-size:var(--fs-2xs);color:var(--muted);margin-bottom:5px}.calendar-day.is-today{font-weight:700}.calendar-items{display:grid;grid-gap:3px;gap:3px}.calendar-item{border-radius:5px}.calendar-item,.calendar-item-button{font-size:var(--fs-2xs);border:1px solid var(--border);background:var(--surface-soft);padding:3px 4px}.calendar-item-button{width:100%;min-width:0;display:flex;align-items:center;gap:5px;text-align:left;color:var(--text);font-weight:500;overflow:hidden}.calendar-item-button:hover{background:var(--surface-soft);color:var(--text);border-color:var(--primary)}.calendar-item-button:focus-visible{background:var(--surface-soft);color:var(--text)}.calendar-item-button strong{flex:none;font-size:var(--fs-2xs)}.calendar-item-text{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item-empty{background:rgb(26 140 82/16%);border-color:rgb(26 140 82/42%);color:#1b6f42}.calendar-item-empty:hover{border-color:rgb(26 140 82/65%)}.calendar-item-out-of-office{display:flex;align-items:center;gap:5px;background:rgb(184 44 44/13%);border-color:rgb(184 44 44/35%);color:#8f2222;font-weight:600}.calendar-item-out-of-office:hover{border-color:rgb(184 44 44/60%);background:rgb(184 44 44/18%)}.slot-action-buttons{display:grid;grid-gap:8px;gap:8px}.working-interval-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:7px;gap:7px;align-items:end}.availability-panel{max-width:560px;width:min(100%,560px);margin:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.schedule-settings-stack{width:min(100%,560px);display:grid;grid-gap:10px;gap:10px}.schedule-inline-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end}.schedule-apply-scope{width:min(100%,560px)}.schedule-actions{display:flex}.schedule-actions button{width:auto;min-width:220px}.availability-day-list{display:grid;grid-gap:8px;gap:8px}.availability-day-row{display:grid;grid-template-columns:44px auto;grid-gap:6px;gap:6px;align-items:start}.availability-day-label{font-weight:700;padding-top:7px}.availability-day-body{display:grid;grid-gap:6px;gap:6px;width:-moz-fit-content;width:fit-content}.availability-empty-row{display:inline-flex;align-items:center;gap:6px}.availability-interval-row{display:grid;grid-template-columns:minmax(0,110px) auto minmax(0,110px) auto auto auto;grid-gap:6px;gap:6px;align-items:center}.availability-interval-row input{padding:7px 8px}.availability-dash{font-weight:700;text-align:center}.availability-icon-button{width:32px;min-width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);line-height:1;border-radius:999px}.availability-icon-button:hover{border-color:var(--primary);background:var(--surface-soft)}.planning-option{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:9px;padding:9px;background:var(--surface)}.planning-option-head{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.planning-option-label{display:inline-flex;align-items:flex-start;gap:7px;font-weight:600;margin:0}.planning-option-label input{width:auto;margin-top:2px}.planning-option-controls{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:-moz-fit-content;width:fit-content;flex-wrap:nowrap}.planning-option-controls-label{margin:0;font-weight:500;white-space:nowrap}.planning-option-controls select{width:auto;min-width:112px}.planning-option-controls input[type=number]{width:auto;min-width:72px;max-width:84px}.planning-option-controls span{font-size:var(--fs-xs)}.planning-option-stack{display:grid;grid-gap:8px;gap:8px}.planning-option-subtitle{margin:0;font-size:var(--fs-sm);font-weight:500}.planning-option-weekdays{display:grid;grid-gap:6px;gap:6px}.planning-option-weekday-list{display:flex;flex-wrap:wrap;gap:6px}.planning-option-weekday-button{width:34px;min-width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);color:var(--primary-strong);font-size:var(--fs-xs);font-weight:600;padding:0}.planning-option-weekday-button.active{border-color:var(--primary);background:var(--primary);color:#fff}.planning-option-monthly{display:grid;grid-gap:5px;gap:5px;max-width:440px}.planning-option-ends{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;width:min(100%,560px)}.planning-option-ends legend{font-size:var(--fs-sm);font-weight:600;padding:0 4px}.planning-option-end-row{display:grid;grid-template-columns:minmax(136px,220px) minmax(140px,300px) auto;align-items:center;grid-gap:8px;gap:8px}.planning-option-end-choice{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500}.planning-option-end-choice input[type=radio]{width:auto}.planning-option-end-row input[type=date],.planning-option-end-row input[type=number]{width:100%;min-width:0}.planning-option-end-suffix{white-space:nowrap;font-weight:600}@media (max-width:920px){.auth-split{grid-template-columns:minmax(0,1fr)}.auth-hero{padding:22px}.auth-card{max-width:448px}}@media (max-width:860px){.schedule-inline-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.schedule-inline-inputs{grid-template-columns:minmax(0,1fr)}.planning-option-controls{width:100%;flex-wrap:wrap}.planning-option-end-row{grid-template-columns:minmax(0,1fr)}.planning-option-end-suffix{margin-top:-4px}.consent-field-grid{grid-template-columns:minmax(0,1fr)}.consent-panel-title{padding-right:0}.consent-collapse-button{position:static;justify-self:end}.portal-link-output-row{grid-template-columns:minmax(0,1fr)}.auth-shell{padding:16px}.auth-card{padding:20px}}.recurring-editor-list{display:grid;grid-gap:8px;gap:8px}.recurring-editor-row{border:1px solid var(--border);border-radius:9px;padding:9px;background:var(--surface);display:grid;grid-gap:7px;gap:7px;grid-template-columns:minmax(88px,auto) minmax(0,1fr) minmax(0,1fr);align-items:end}.recurring-editor-row-meta{display:grid;grid-gap:5px;gap:5px;align-content:start}@media (max-width:720px){.recurring-editor-row{grid-template-columns:minmax(0,1fr)}}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-trigger{min-width:28px;border-radius:999px}.tooltip-content{position:absolute;top:calc(100% + 5px);right:0;width:-moz-fit-content;width:fit-content;max-width:min(420px,90vw);z-index:40;background:var(--surface-strong);color:var(--text);border-radius:9px;padding:7px 9px;font-size:var(--fs-2xs);line-height:1.4;white-space:normal;opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity .16s ease,transform .16s ease}.tooltip-wrap:focus-within .tooltip-content,.tooltip-wrap:hover .tooltip-content{opacity:1;visibility:visible;transform:translateY(0)}.form-compact label,.form-compact legend,.form-compact p{font-size:var(--fs-2xs)}.form-compact button,.form-compact input,.form-compact select,.form-compact textarea{font-size:var(--fs-2xs);padding:7px 8px}.form-compact textarea{min-height:72px}.form-compact fieldset{padding:9px}.fc .booking-available-slot .fc-event-main{font-size:var(--fs-2xs);font-weight:600}.public-booking-shell .fc .fc-header-toolbar{margin-bottom:10px;gap:8px}.public-booking-shell .fc .fc-toolbar-title{font-size:clamp(var(--fs-2xl),2vw,var(--fs-6xl));font-weight:700;color:var(--text)}.public-booking-shell .fc .fc-button{width:auto;min-width:0;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);padding:6px 12px;font-size:var(--fs-sm);font-weight:600;line-height:1;box-shadow:none}.public-booking-shell .fc .fc-button:focus-visible,.public-booking-shell .fc .fc-button:hover{background:var(--surface-strong);border-color:var(--border);color:var(--text)}.public-booking-shell .fc .fc-button-primary:not(:disabled).fc-button-active,.public-booking-shell .fc .fc-button-primary:not(:disabled):active{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}.public-booking-shell .fc .fc-button-group{display:inline-flex;gap:6px}.public-booking-shell .fc .fc-button-group>.fc-button{margin:0!important}.public-booking-shell .fc .fc-next-button,.public-booking-shell .fc .fc-prev-button{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.public-booking-shell .fc .fc-icon{font-family:fcicons!important;font-size:var(--fs-xl);line-height:1}.public-booking-shell .fc .fc-icon:before{font-family:fcicons!important}.public-booking-shell .fc .fc-col-header-cell-cushion{padding:6px 2px;font-size:var(--fs-lg);opacity:1}.public-booking-shell .fc .fc-col-header-cell-cushion,.public-booking-shell .fc .fc-timegrid-axis-cushion,.public-booking-shell .fc .fc-timegrid-slot-label-cushion{color:var(--text)!important}.public-booking-shell .fc .fc-timegrid-axis-cushion{font-size:var(--fs-sm);font-weight:600;opacity:1}.public-booking-shell .fc .fc-timegrid-slot-lane{background:var(--surface)}.public-booking-shell .fc .fc-col-header-cell,.public-booking-shell .fc .fc-timegrid-axis,.public-booking-shell .fc .fc-timegrid-col{background:var(--surface-soft)}.public-booking-shell .fc .fc-scrollgrid,.public-booking-shell .fc .fc-theme-standard td,.public-booking-shell .fc .fc-theme-standard th{border-color:var(--border)}.public-booking-shell .fc .fc-timegrid-col-frame,.public-booking-shell .fc .fc-timegrid-slot-label-frame{background:var(--surface)}.public-booking-shell .fc .booking-available-slot{transition:transform .15s ease,filter .15s ease}.public-booking-shell .fc .booking-available-slot,.public-booking-shell .fc .booking-available-slot .fc-event-main{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.public-booking-shell .fc .booking-available-slot:hover{filter:brightness(.96);transform:translateY(-1px)}.public-booking-shell .fc .booking-selected-slot{background:#0f7669!important;border-color:#0f7669!important}.public-booking-shell .fc .booking-selected-slot .fc-event-main{color:#fff!important}.public-booking-calendar-card,.public-booking-feedback{display:grid;grid-gap:8px;gap:8px}.public-booking-calendar-stage{position:relative}.public-booking-calendar-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;display:inline-grid;gap:3px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 16px);padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:0 4px 16px rgb(17 36 63/8%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;justify-items:center;text-align:center}.public-booking-calendar-overlay.is-loading{border-color:var(--border)}.public-booking-calendar-overlay-line{margin:0;font-size:var(--fs-sm);line-height:1.35;color:var(--text)}.public-booking-calendar-overlay-line.is-muted{color:var(--muted)}.public-booking-calendar-loader{display:grid;place-items:center;width:100%;min-height:100%;border:1px dashed var(--border);border-radius:10px;background:var(--surface-soft)}.public-booking-calendar-loader p{margin:0}.public-booking-calendar-meta{display:grid;grid-gap:4px;gap:4px}.public-booking-calendar-meta-line{margin:0;min-height:20px}.public-booking-feedback-status{min-height:20px}.public-booking-feedback-status .error,.public-booking-feedback-status .success{margin:0}.public-booking-modal{width:min(560px,100%);max-height:calc(100dvh - 20px);overflow:auto}.public-booking-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-booking-modal-head h2{margin:0}.public-booking-modal-head button{width:auto}.dashboard-theme-toggle{margin-bottom:4px}.dashboard-theme-toggle.is-collapsed{display:flex;justify-content:center}.theme-toggle{width:auto;min-width:auto}.theme-toggle-floating{position:fixed;right:14px;bottom:14px;z-index:1200;border:0;padding:0;background:transparent;box-shadow:none}.theme-toggle-floating:hover,.theme-toggle-inline{background:transparent}.theme-toggle-inline{border:0;padding:0;box-shadow:none}.theme-toggle-inline:hover{background:transparent}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle-switch{position:relative;width:70px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);display:flex;align-items:center;justify-content:space-between;padding:0 10px;overflow:hidden}.theme-toggle-icon{color:var(--muted);display:inline-flex;align-items:center;justify-content:center;z-index:1}.theme-toggle.is-dark .theme-toggle-icon-moon,.theme-toggle:not(.is-dark) .theme-toggle-icon-sun{color:var(--text)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .2s ease}.theme-toggle.is-dark .theme-toggle-switch{background:var(--surface-strong)}.theme-toggle.is-dark .theme-toggle-thumb{transform:translateX(34px)}.fc,.fc .fc-col-header-cell-cushion,.fc .fc-event-main,.fc .fc-list-event-time,.fc .fc-list-event-title,.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion,.fc .fc-toolbar-title{font-family:Satoshi,Segoe UI,Noto Sans,Helvetica Neue,sans-serif!important}.link-list{display:grid;grid-gap:7px;gap:7px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap}.toolbar a{text-decoration:none;color:var(--primary-strong);font-weight:600}.toolbar-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toolbar-actions a{text-decoration:none;color:var(--primary-strong);font-weight:600}.client-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.client-detail-header h1{min-width:0;margin:0}.client-detail-header .toolbar-actions{margin-left:auto;flex-wrap:nowrap}.client-detail-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 2px}.client-detail-breadcrumb a{text-decoration:none;color:var(--primary-strong);font-weight:600}.client-session-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-session-metric-card{padding:10px 12px}.client-session-metric-card h2{margin:0;font-size:var(--fs-sm);line-height:1.3}.client-session-metric-value{margin:6px 0 0;font-size:var(--fs-4xl);font-weight:700;line-height:1.2}.client-portal-link-trigger{width:auto;min-width:180px}.portal-link-output{display:grid;grid-gap:6px;gap:6px}.portal-link-output-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px;gap:6px;align-items:center}.portal-link-output-row button{width:auto;min-width:auto}.stat-card h2{margin:0;font-size:var(--fs-lg)}.stat-value{margin:10px 0 0;font-size:var(--fs-8xl);font-weight:700}.sessions-next-countdown{margin:0;font-size:13px;line-height:1.45}.sessions-next-countdown-value{font-size:16px;font-weight:700;color:var(--text)}.filter-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.filter-grid-constrained{--filter-constrained-width:min(100%,560px)}.filter-grid-constrained>.filter-row-constrained{width:var(--filter-constrained-width);max-width:100%;justify-self:start}.sessions-filter-grid{grid-template-columns:minmax(0,1fr);gap:10px}.sessions-filter-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:start}.sessions-filter-date-row>.sessions-filter-field{width:100%;min-width:0}.sessions-filter-client-row{display:grid}.sessions-filter-field{min-width:0}.sessions-filter-field input,.sessions-filter-field select{width:100%;min-width:0}.sessions-filter-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sessions-filter-actions-row .filter-reset,.sessions-filter-actions-row button{width:auto;min-width:160px}.filter-actions{display:grid;align-content:end;grid-gap:7px;gap:7px}.filter-actions-row{grid-column:1/-1;display:flex;align-items:center;gap:8px}.filter-actions-row .filter-reset,.filter-actions-row button{width:auto;min-width:160px}.clients-filter-grid{grid-template-columns:minmax(0,560px)}.clients-filter-field{width:100%}.clients-filter-actions{grid-column:auto;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;grid-gap:8px;gap:8px}.clients-filter-actions .filter-reset,.clients-filter-actions button{width:100%;min-width:0}.clients-filter-actions .filter-reset{display:inline-flex;align-items:center;justify-content:center}.clients-table-scroll{--table-scroll-min-width:0}.integration-panel-shell{min-width:0}.integration-panel{min-width:0;width:100%}.integration-tab-bar{gap:8px}.integration-tab-button{min-width:0}.integration-domain-row input{width:100%}.integration-domain-list{gap:8px}.integration-domain-item{align-items:flex-start}.integration-domain-item>span{min-width:0}.integration-domain-item .btn-sm,.integration-domain-item .button-sm{flex-shrink:0}.integration-source-text{margin:0}.integration-source-code{display:inline;white-space:normal}.integration-textarea{width:100%;min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.integration-link-textarea{min-height:72px}.integration-code-textarea{min-height:168px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.4}.filter-reset{text-align:center;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:var(--surface);text-decoration:none}.list-clean{list-style:none;margin:0;padding:0;display:grid;grid-gap:7px;gap:7px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid var(--border);border-radius:7px;padding:7px 9px;background:var(--surface)}.notification-header-actions{display:flex;align-items:center;gap:6px}.notification-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.notification-status-text{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-icon-action{width:42px!important;min-width:42px!important;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;position:relative}.notification-icon-action:disabled{opacity:.55}.notification-action-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);background:var(--surface-strong);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:3px 8px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.notification-icon-action:focus-visible .notification-action-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}@media (hover:hover){.notification-icon-action:hover .notification-action-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}}.notification-list{display:grid;grid-gap:8px;gap:8px}.notification-item{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:10px;display:grid;grid-gap:6px;gap:6px}.notification-item.unread{border-color:var(--notification-unread-border);background:var(--notification-unread-bg);box-shadow:inset 3px 0 0 var(--notification-unread-accent)}.notification-item-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.notification-item-head-actions{position:relative;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.notification-item-time{font-size:12px;line-height:1.3;white-space:nowrap}.notification-item-menu-trigger{width:30px!important;min-width:30px!important;height:30px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.notification-item-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:196px;padding:6px;display:grid;grid-gap:2px;gap:2px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-soft)}.notification-item-menu.is-single-action{min-width:0;width:auto}.notification-item-menu-action{width:100%;min-width:0;border:0;border-radius:8px;padding:8px 9px;background:transparent;color:var(--text);text-align:left;font-size:var(--fs-sm);font-weight:500;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px}.notification-item-menu.is-single-action .notification-item-menu-action{width:auto}.notification-item-menu-action:hover{background:var(--surface-soft)}.notification-item-menu-action:disabled{opacity:.6}.notification-item-menu-action-icon{flex-shrink:0}.notification-item-menu-action-delete{color:var(--danger)}.notification-item-meta{margin:0}.notification-client-link{text-decoration:underline;text-underline-offset:2px;font-weight:600}.notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-empty-state{min-height:340px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;justify-items:center;align-content:center;text-align:center;grid-gap:10px;gap:10px;padding:24px 16px}.notification-empty-illustration{display:grid;place-items:center;width:min(100%,320px);line-height:0;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.notification-empty-asset{display:block;width:184px;max-width:100%;height:auto}.notification-empty-title{margin:0;font-size:var(--fs-8xl);font-weight:700;line-height:1.1;letter-spacing:-.01em}.notification-empty-copy{margin:0;max-width:460px;font-size:var(--fs-2xl);line-height:1.45}@media (max-width:640px){.client-detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.client-detail-header .toolbar-actions{width:auto;margin-left:auto;justify-content:flex-end}.client-session-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-portal-link-trigger{min-width:0}.action-row-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row-inline>.filter-reset,.action-row-inline>button{width:100%;min-width:0}.notification-header-actions{width:auto;margin-left:0;justify-content:flex-end;flex-shrink:0}.notification-icon-action{width:38px!important;min-width:38px!important;height:38px}.notification-item-menu-trigger{width:28px!important;min-width:28px!important;height:28px}.notification-item-menu{min-width:172px}.notification-empty-state{min-height:280px;padding:18px 12px;gap:8px}.notification-empty-asset{width:136px}.notification-empty-title{font-size:var(--fs-5xl)}.notification-empty-copy{font-size:var(--fs-lg)}}.checkbox-line{display:flex;align-items:flex-start;gap:7px;font-weight:500}.checkbox-line input{width:auto;margin-top:3px}.subaccount-permissions{display:grid;grid-gap:4px;gap:4px}.subaccount-permissions-title{margin:0;font-weight:700;font-size:var(--fs-sm)}.subaccount-permission-line{margin-bottom:0;gap:4px;font-weight:500}.subaccount-permission-line input{margin-top:2px}.embed-booking{gap:10px}.public-booking-shell.is-embedded{background:transparent}.embed-booking .card{border-radius:9px;padding:10px}.public-booking-shell.is-embedded .card{background:transparent;border-color:rgb(216 227 242/55%)}.public-booking-shell.is-embedded .fc .fc-timegrid-slot-lane{background:rgb(255 255 255/48%)}@media (max-width:768px){.table-card-mobile-fluid{width:100%;min-width:0;justify-self:stretch}.form-actions,.form-grid-2{grid-template-columns:minmax(0,1fr)}.form-actions{display:grid}.button-row button,.form-actions>*,a.btn.btn-mobile-full,button.btn.btn-mobile-full{width:100%;min-width:0}.btn-group{display:grid;grid-template-columns:minmax(0,1fr)}.btn-group>*{width:100%;min-width:0}.dashboard-shell{--dashboard-mobile-topbar-offset:calc(env(safe-area-inset-top) + 64px);--dashboard-mobile-menu-gap:12px}.theme-toggle-floating{right:10px;bottom:10px}.public-booking-shell{gap:10px}.public-booking-shell .card{padding:10px;border-radius:10px}.public-booking-shell .fc .fc-header-toolbar{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:8px;grid-row-gap:8px;row-gap:8px}.public-booking-shell .fc .fc-toolbar-title{font-size:var(--fs-4xl)}.public-booking-shell .fc .fc-toolbar-chunk{min-width:0}.public-booking-shell .fc .fc-toolbar-chunk:last-child{width:100%;display:flex;gap:8px;align-items:center;min-width:0}.public-booking-shell .fc .fc-toolbar-chunk:last-child .fc-today-button{flex:1 1;width:auto;min-width:0;margin:0;height:40px}.public-booking-shell .fc .fc-toolbar-chunk:last-child .fc-button-group{flex:1 1;display:flex;gap:8px;min-width:0}.public-booking-shell .fc .fc-toolbar-chunk:last-child .fc-button-group .fc-button{flex:1 1;width:auto;min-width:0;height:40px;margin:0!important}.public-booking-shell .fc .fc-col-header-cell-cushion{font-size:var(--fs-sm)}.public-booking-shell .fc .fc-timegrid-axis-cushion{font-size:var(--fs-xs)}.public-booking-shell .fc .fc-button{padding:6px 10px}.public-booking-calendar-overlay{padding:7px 9px;max-width:calc(100% - 12px)}.public-booking-modal{max-height:calc(100dvh - 12px)}.sessions-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sessions-summary-grid .stat-card{min-width:0;padding:10px 8px}.sessions-summary-grid .stat-card h2{font-size:var(--fs-xs);line-height:1.25}.sessions-summary-grid .stat-value{margin-top:6px;font-size:var(--fs-3xl);line-height:1.05;letter-spacing:-.01em}.sessions-tab-bar{gap:6px;padding:5px}.sessions-tab-bar .sessions-tab-button{flex:1 1;justify-content:center;padding:7px 5px;min-height:44px;font-size:var(--fs-tab);line-height:1.2;white-space:normal}.sessions-filter-date-row{gap:6px}.clients-filter-actions,.sessions-filter-actions-row{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:6px;gap:6px}.clients-filter-actions .filter-reset,.clients-filter-actions button,.sessions-filter-actions-row .filter-reset,.sessions-filter-actions-row button{width:100%;min-width:0}.calendar-table{min-width:760px}.calendar-cell{min-height:106px;padding:6px}.calendar-item,.calendar-item-button{font-size:var(--fs-3xs);padding:2px 3px}.calendar-item-button strong{font-size:var(--fs-3xs)}.dashboard-shell{flex-direction:column}.dashboard-sidebar,.dashboard-sidebar.collapsed{width:100%;border-right:0;border-bottom:0;background:transparent}.dashboard-sidebar-inner{display:none}.dashboard-mobile-topbar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;z-index:1302;min-height:var(--dashboard-mobile-topbar-offset);padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;background:var(--surface);border-bottom:1px solid var(--border);transition:transform .2s ease,opacity .2s ease;will-change:transform}.dashboard-mobile-topbar.is-hidden{transform:translateY(calc(-100% - 2px));opacity:0;pointer-events:none}.dashboard-mobile-brand-logo{flex-shrink:0}.dashboard-mobile-menu{top:calc(var(--dashboard-mobile-topbar-offset) + var(--dashboard-mobile-menu-gap));left:8px;right:8px;border:1px solid var(--border);border-radius:14px;transform:translateY(calc(-100% - var(--dashboard-mobile-topbar-offset) - var(--dashboard-mobile-menu-gap) - 12px))}.dashboard-mobile-menu.open{transform:translateY(0)}.dashboard-mobile-menu,.dashboard-mobile-menu-backdrop{display:block}.dashboard-mobile-menu-backdrop{top:var(--dashboard-mobile-topbar-offset);border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dashboard-nav-mobile .dashboard-link{min-height:48px;border-radius:11px;padding:11px 12px}.dashboard-nav-mobile .dashboard-link-short{width:28px;min-width:28px;height:28px}.dashboard-nav-mobile .dashboard-menu-icon{width:22px;height:22px}.dashboard-mobile-menu .dashboard-sidebar-foot .button,.dashboard-mobile-menu .dashboard-sidebar-foot button{min-height:44px}.dashboard-content{padding:calc(var(--dashboard-mobile-topbar-offset) + 12px) 12px 12px}main{padding:12px}.availability-day-row{grid-template-columns:1fr}.availability-day-label,.availability-empty-row{padding-top:0}.availability-interval-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto auto auto}}