@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--color-text-primary);background:var(--color-canvas);font-synthesis:none;color-scheme:light;--color-canvas: #f2f1e9;--color-surface: #faf9f4;--color-surface-elevated: #ffffff;--color-surface-subtle: #f5f4ee;--color-text-primary: #070a09;--color-text-secondary: #6a6e69;--color-text-muted: #6a6e69;--color-accent: #27bed0;--color-accent-hover: #079aaa;--color-accent-pressed: #067f8c;--color-accent-active-text: #075e68;--color-on-accent: #070a09;--color-on-accent-pressed: #ffffff;--color-on-accent-muted: rgb(7 10 9 / 72%);--color-on-pressed-muted: rgb(255 255 255 / 78%);--color-selected: #ddf6f7;--color-aqua-line: #9adfe5;--color-border: #d8dbd5;--color-border-strong: #b8bdb7;--color-focus-ring: #0795a4;--color-disabled-text: #858a84;--color-disabled-surface: #e7e8e2;--color-surface-translucent: rgb(255 255 255 / 76%);--color-surface-glass: rgb(255 255 255 / 82%);--color-surface-glass-border: rgb(255 255 255 / 80%);--color-navigation-glass: rgb(250 249 244 / 96%);--color-backdrop: rgb(7 10 9 / 42%);--color-danger: #b42318;--color-danger-surface: #fdecec;--color-danger-border: #f3b8b2;--color-success: #147a43;--color-success-surface: #e1f4e9;--color-success-border: #a9ddbe;--color-warning: #8a5a00;--color-warning-surface: #fff1c7;--color-warning-border: #e5c062;--color-info: #075e68;--color-info-surface: #ddf6f7;--color-info-border: #9adfe5;--radius: 20px;--shadow: 0 16px 46px rgb(7 10 9 / 8%);--shadow-elevated: 0 24px 70px rgb(7 10 9 / 18%);--glass: rgb(250 249 244 / 88%)}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;overflow-x:hidden}body{background:radial-gradient(circle at 78% 8%,var(--color-selected) 0,transparent 34%),var(--color-canvas);line-height:1.45}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{color:var(--color-text-primary);background:var(--color-surface-elevated)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent-hover)}input:disabled,select:disabled,textarea:disabled{color:var(--color-disabled-text);border-color:var(--color-border);background:var(--color-disabled-surface);cursor:not-allowed;opacity:1}button,a,input,select,textarea{outline-offset:3px}:focus-visible{outline:3px solid var(--color-focus-ring)}.icon{width:20px;height:20px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,p{margin-top:0}.app-shell{width:min(1640px,calc(100% - 48px));margin:auto;padding:26px 0 36px}.breadcrumbs{display:flex;gap:12px;margin:0 0 22px 8px;color:var(--color-text-muted);font-size:13px}.breadcrumbs a{color:var(--color-accent-active-text);text-decoration:none}.family-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:28px;align-items:start}.family-summary,.family-workspace,.content-card,.progress-card,.subscription-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow)}.family-summary{position:sticky;top:20px;border-radius:20px;overflow:hidden}.family-summary__hero{min-height:314px;padding:34px 26px 22px;text-align:center;color:var(--color-text-primary);background:linear-gradient(145deg,var(--color-accent) 0%,var(--color-aqua-line) 100%)}.avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:700;background:var(--color-selected);color:var(--color-accent-active-text)}.avatar--large{width:112px;height:112px;margin:0 auto 22px;border:3px solid var(--color-surface-translucent);background:var(--color-surface-elevated);color:var(--color-accent-active-text);font-size:38px}.avatar--small{width:40px;height:40px}.family-summary h2{margin:0 0 10px;font-size:23px}.family-number{display:grid;gap:3px;margin:0 0 24px;color:var(--color-on-accent-muted)}.family-number span{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.family-number strong{color:var(--color-on-accent);font-size:18px;letter-spacing:.03em;overflow-wrap:anywhere}.summary-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.chip,.priority-picker select{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:0;border-radius:999px;font-size:11px;font-weight:700}.chip--blue{color:var(--color-info);background:var(--color-info-surface)}.chip--green{color:var(--color-success);background:var(--color-success-surface)}.chip--pink,.chip--violet{color:var(--color-info);background:var(--color-info-surface)}.chip--yellow{color:var(--color-warning);background:var(--color-warning-surface)}.priority-picker select{appearance:none;color:var(--color-info);background:var(--color-info-surface);cursor:pointer}.save-state{display:block;min-height:16px;margin-top:5px;font-size:11px}.family-edit-form{display:grid;gap:12px;padding:20px 25px;color:var(--color-text-primary);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.family-edit-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.family-edit-form input{min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-elevated);color:var(--color-text-primary)}.family-edit-form input[readonly]{color:var(--color-text-secondary);background:var(--color-disabled-surface)}.family-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.summary-list{padding:24px 25px 6px}.summary-row{display:flex;align-items:center;gap:14px;min-height:78px;border-bottom:1px solid var(--color-border)}.summary-row__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--color-text-secondary);background:var(--color-surface-subtle)}.summary-row__icon .icon{width:18px}.summary-row>div{min-width:0}.summary-row span:not(.summary-row__icon),.financial-projection span{display:block;color:var(--color-text-muted);font-size:11px}.summary-row strong{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}.financial-projection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 25px 8px;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:linear-gradient(125deg,var(--color-selected),var(--color-surface-subtle))}.financial-projection strong{display:block;margin-top:4px;font-size:14px}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 25px 24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:11px;font-weight:700;text-decoration:none;cursor:pointer}.button--primary{color:var(--color-on-accent);background:var(--color-accent)}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--primary:active:not(:disabled){color:var(--color-on-accent-pressed);background:var(--color-accent-pressed)}.button--outline{color:var(--color-text-secondary);background:var(--color-surface-elevated);border-color:var(--color-border)}.button--ghost{color:var(--color-text-secondary);background:var(--color-surface-subtle)}.button--outline:hover:not(:disabled),.button--ghost:hover:not(:disabled),.icon-button:hover:not(:disabled){color:var(--color-accent-active-text);border-color:var(--color-aqua-line);background:var(--color-selected)}.button--outline:active:not(:disabled),.button--ghost:active:not(:disabled),.icon-button:active:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.button:disabled,.icon-button:disabled{color:var(--color-disabled-text);border-color:var(--color-border);background:var(--color-disabled-surface);opacity:1;cursor:not-allowed}.family-workspace{display:flex;flex-direction:column;min-width:0;min-height:calc(100vh - 84px);overflow:hidden;border-radius:20px}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:125px;padding:25px 36px}.workspace-header h1{margin:0 0 6px;font-size:27px}.workspace-header p{margin:0;color:var(--color-text-muted);font-size:13px}.page-actions{display:flex;gap:12px}.mobile-person-action{display:none}.icon-button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-primary);background:var(--color-surface-elevated)}.tabs{flex:0 0 auto;overflow-x:auto;border-bottom:1px solid var(--color-border);scrollbar-width:thin;background:var(--glass)}@supports (backdrop-filter: blur(14px)){.tabs,.composer,.filter-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.tabs [role=tablist]{display:flex;min-width:max-content;padding:0 28px}.tabs button{position:relative;min-height:57px;padding:0 13px;border:0;color:var(--color-text-muted);background:transparent;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.tabs button[aria-selected=true]{color:var(--color-accent-active-text);background:var(--color-selected)}.tabs button:hover:not([aria-selected=true]){color:var(--color-text-primary);background:var(--color-surface-subtle)}.tabs button[aria-selected=true]:after{content:"";position:absolute;right:10px;bottom:-1px;left:10px;height:2px;background:var(--color-accent-hover)}.tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:8px;background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:10px}.workspace-content{flex:1;min-height:0;padding:28px 32px 32px}.workspace-panel{animation:enter .16s ease-out}.eyebrow{margin:0 0 4px;color:var(--color-text-secondary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.section-heading,.module-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-heading h2,.module-heading h2,.content-card h2{margin:0;font-size:19px}.content-card,.progress-card,.subscription-card{padding:20px;border-radius:15px;box-shadow:none}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px;border:1px solid var(--color-border);border-radius:15px;overflow:hidden}.kpi{min-height:92px;padding:14px 16px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.kpi:nth-child(5n){border-right:0}.kpi:nth-last-child(-n+5){border-bottom:0}.kpi span,.kpi small,.progress-top span,.balance-hero span{display:block;color:var(--color-text-muted);font-size:10px}.kpi strong{display:block;margin:6px 0 2px;font-size:16px}.kpi small{line-height:1.3}.overview-grid,.billing-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.journey{display:grid;grid-template-columns:repeat(6,1fr);padding:18px 0 0;margin:0;list-style:none}.journey li{position:relative;text-align:center}.journey li:before{content:"";position:absolute;top:7px;left:0;width:100%;height:2px;background:var(--color-border)}.journey li:first-child:before{left:50%;width:50%}.journey li:last-child:before{width:50%}.journey li>span{position:relative;z-index:1;display:block;width:15px;height:15px;margin:0 auto 10px;border:3px solid var(--color-surface-elevated);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 2px var(--color-aqua-line)}.journey strong,.journey small{display:block;padding:0 5px}.journey strong{font-size:11px}.journey small{margin-top:4px;color:var(--color-text-muted);font-size:9px}.interest{padding:12px 0;border-top:1px solid var(--color-border)}.interest>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.interest small{color:var(--color-text-muted);font-size:10px}.demand-indicator{display:block;margin-top:10px;padding:13px;border:1px solid var(--color-warning-border);border-radius:12px;color:var(--color-warning);background:var(--color-warning-surface);text-decoration:none}.demand-indicator strong,.demand-indicator span{display:block}.demand-indicator span{margin-top:3px;font-size:10px}.pinned-note{display:flex;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--color-warning-border);border-radius:13px;background:var(--color-warning-surface)}.pinned-note p{margin:3px 0 0}.student-progress-grid,.subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.progress-card header,.subscription-card header{display:flex;align-items:center;gap:12px}.progress-card header>div:nth-child(2),.subscription-card header>div:first-child{flex:1}.progress-card h3,.subscription-card h3{margin:0;font-size:16px}.progress-card header p,.subscription-card header p{margin:2px 0 0;color:var(--color-text-muted);font-size:11px}.progress-top{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;padding:13px;border-radius:12px;background:var(--color-surface-subtle)}.progress-top strong{display:block;margin-top:3px;font-size:12px}.progress-card dl,.subscription-card dl,.history-timeline dl{margin:0}.progress-card dl>div,.subscription-card dl>div{display:grid;grid-template-columns:145px 1fr;padding:8px 0;border-top:1px solid var(--color-border);font-size:12px}.progress-card dt,.subscription-card dt,.history-timeline dt{color:var(--color-text-muted)}dd{margin:0}.progress-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.progress-card footer small{color:var(--color-text-muted)}.text-button{min-height:44px;border:0;color:var(--color-accent-active-text);background:transparent;cursor:pointer}.lesson-meter{height:6px;margin:18px 0;border-radius:6px;background:var(--color-disabled-surface);overflow:hidden}.lesson-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover))}.subscription-card .button{width:100%;margin-top:12px}.balance-hero{display:grid;grid-template-columns:1.2fr 1fr 1fr;margin-bottom:18px;border:1px solid var(--color-border);border-radius:15px;overflow:hidden;background:var(--color-selected)}.balance-hero>div{padding:18px;border-right:1px solid var(--color-border)}.balance-hero>div:last-child{border:0}.balance-hero strong{display:block;margin-top:5px;font-size:16px}.balance-hero>div:first-child strong{color:var(--color-accent-active-text);font-size:26px}.balance-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--color-border)}.balance-row small{display:block;color:var(--color-text-muted)}.transfer-history{margin-top:18px}.transfer-history article{padding:13px 0;border-top:1px solid var(--color-border)}.transfer-history header{display:flex;justify-content:space-between;gap:12px}.transfer-history p{margin:5px 0}.transfer-history small{color:var(--color-text-muted)}.fixture-caption,.privacy-note{color:var(--color-text-muted);font-size:11px}.unavailable-banner,.unavailable-inline{padding:15px;border:1px solid var(--color-warning-border);border-radius:12px;background:var(--color-warning-surface);color:var(--color-warning)}.unavailable-banner p{margin:4px 0 0}.filter-bar{display:flex;gap:6px;overflow-x:auto}.filter-bar button{min-height:36px;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);background:var(--color-surface-translucent);white-space:nowrap}.filter-bar button[aria-pressed=true]{color:var(--color-accent-active-text);background:var(--color-selected);border-color:var(--color-aqua-line)}.history-timeline{padding:8px 0 0 20px;margin:0;list-style:none}.history-timeline li{position:relative;padding:0 0 18px 28px;border-left:2px solid var(--color-border)}.history-dot{position:absolute;top:6px;left:-7px;width:12px;height:12px;border:3px solid var(--color-surface-elevated);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-aqua-line)}.history-timeline article{padding:16px;border:1px solid var(--color-border);border-radius:14px}.history-timeline header{display:flex;justify-content:space-between;gap:14px}.history-timeline header span{margin-left:8px;color:var(--color-accent-active-text);font-size:10px}.history-timeline time{color:var(--color-text-muted);font-size:11px}.history-timeline p{margin:7px 0 10px}.history-timeline dl{display:flex;gap:22px}.history-timeline dl>div{display:flex;gap:5px;font-size:11px}.workspace-panel--inbox{height:calc(100vh - 270px);min-height:540px;margin:-28px -32px -32px}.inbox-layout{display:grid;grid-template-columns:minmax(300px,31%) minmax(0,69%);height:100%}.conversation-list{overflow:auto;border-right:1px solid var(--color-border)}.conversation-list>header{display:flex;justify-content:space-between;align-items:center;padding:17px 18px}.conversation-list h2{margin:2px 0 0;font-size:17px}.conversation-list .icon-button{border:0}.inbox-search{display:flex;align-items:center;gap:8px;margin:0 14px 9px;padding:9px 11px;border-radius:10px;background:var(--color-surface-subtle)}.inbox-search .icon{width:15px;color:var(--color-text-muted)}.inbox-search input{width:100%;border:0;outline:0;background:transparent}.inbox-filters{padding:0 14px 10px}.inbox-filters button{min-height:30px;padding:4px 10px;font-size:10px}.conversation{display:flex;align-items:center;width:100%;gap:11px;padding:15px 14px;border:0;border-top:1px solid var(--color-border);color:inherit;background:var(--color-surface-elevated);text-align:left}.conversation--active{background:var(--color-selected);box-shadow:inset 3px 0 var(--color-accent-hover)}.conversation__body{min-width:0;flex:1}.conversation__body strong,.conversation__body small,.conversation__body>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation__body small{color:var(--color-text-muted);font-size:9px}.conversation__body>span{margin-top:6px;color:var(--color-text-secondary);font-size:11px}.conversation__meta{align-self:flex-start;color:var(--color-text-muted);font-size:9px;text-align:right}.conversation__meta time{display:block}.conversation__meta b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-top:8px;border-radius:50%;color:var(--color-on-accent);background:var(--color-accent)}.chat-view{display:grid;min-width:0;grid-template-rows:auto auto 1fr auto}.chat-header{display:flex;align-items:center;gap:11px;min-height:79px;padding:14px 20px;border-bottom:1px solid var(--color-border)}.chat-header>div{flex:1}.chat-header h2{margin:0;font-size:15px}.chat-header p{margin:2px 0 0;color:var(--color-text-muted);font-size:10px}.chat-back{display:none}.permission-strip{display:flex;justify-content:space-between;align-items:center;min-height:37px;padding:6px 20px;color:var(--color-success);background:var(--color-success-surface);font-size:10px}.permission-strip .text-button{min-height:30px;color:var(--color-success);text-decoration:underline}.messages{overflow:auto;padding:24px;background:var(--color-surface)}.thread-label{display:table;margin:0 auto 20px;padding:5px 11px;border-radius:999px;color:var(--color-text-muted);background:var(--color-border);font-size:9px}.message{width:max-content;max-width:72%;margin:0 0 12px;padding:11px 13px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-elevated);box-shadow:0 3px 10px #070a090f}.message--outgoing{margin-left:auto;color:var(--color-surface-elevated);background:var(--color-accent-pressed);border-color:var(--color-accent-pressed)}.message p{margin:0}.message time{display:block;margin-top:5px;color:var(--color-text-muted);font-size:8px;text-align:right}.message--outgoing time{color:var(--color-on-pressed-muted)}.composer{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--glass)}.composer textarea{flex:1;min-width:0;resize:none;padding:10px 14px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface-subtle)}.composer button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;color:var(--color-on-accent);background:var(--color-accent)}.composer button:disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface);opacity:1}.composer button:first-child{color:var(--color-text-secondary);background:var(--color-surface-subtle)}.drawer-backdrop{position:fixed;z-index:var(--shell-layer-modal, 100);inset:0;isolation:isolate;overscroll-behavior:contain;background:var(--color-backdrop);pointer-events:auto}[hidden]{display:none!important}.transfer-drawer{position:absolute;top:0;right:0;width:min(500px,100%);height:100%;padding:24px;overflow:auto;background:var(--color-surface-elevated);box-shadow:-20px 0 60px #070a0933}.add-person-drawer{position:relative;z-index:1;display:flex;flex-direction:column;margin-left:auto;width:min(740px,100vw);height:100%;height:100dvh;max-width:100vw;max-height:100%;overflow:hidden;background:var(--color-surface-elevated);box-sizing:border-box;box-shadow:-20px 0 60px #070a0933}.add-person-drawer>header{flex:0 0 auto;padding:max(clamp(1rem,3vw,2rem),env(safe-area-inset-top)) max(clamp(1rem,3vw,2rem),env(safe-area-inset-right)) clamp(1rem,3vw,2rem) max(clamp(1rem,3vw,2rem),env(safe-area-inset-left));border-bottom:1px solid var(--color-border)}.add-person-drawer>header,.add-person-drawer footer,.add-person-drawer .section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.add-person-drawer form{--person-drawer-gutter: clamp(1rem, 3vw, 2rem);display:grid;flex:1 1 auto;min-height:0;gap:1.25rem;padding:var(--person-drawer-gutter);padding-bottom:0;overflow:auto;overflow-x:hidden;overscroll-behavior:contain}.add-person-drawer section{display:grid;gap:1rem}.add-person-drawer footer{position:sticky;z-index:1;bottom:0;margin:0 calc(-1 * var(--person-drawer-gutter));padding:1rem max(var(--person-drawer-gutter),env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(var(--person-drawer-gutter),env(safe-area-inset-left));border-top:1px solid var(--color-border);background:var(--color-surface-elevated);box-shadow:0 -8px 20px #070a090f}.add-person-drawer label{display:grid;gap:.4rem;min-width:0}.person-type{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;border:0;padding:0}.person-type legend{width:100%;font-weight:700}.person-type label{display:flex;align-items:center}.person-student-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;border:0}.person-student-status legend{grid-column:1 / -1;margin-bottom:.15rem;font-weight:700}.person-student-status label{display:flex;align-items:flex-start;gap:.65rem;min-height:72px;padding:.85rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-subtle);cursor:pointer}.person-student-status label:has(input:checked){border-color:var(--color-border-strong);background:var(--color-selected)}.person-student-status input{margin-top:.2rem}.person-student-status span{display:grid;gap:.2rem}.person-student-status small,.person-student-status-note{color:var(--color-text-muted);font-size:.8rem;line-height:1.4}.person-student-status-note{margin:0;padding:.8rem 1rem;border-radius:10px;background:var(--color-surface-subtle)}.person-contact-card,.person-relationship-card{display:grid;min-width:0;gap:.9rem;padding:1rem;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.person-relationship-group{display:grid;gap:.75rem;min-width:0}.person-add-relationship{justify-self:start}.person-contact-card{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.person-contact-field{display:grid;min-width:0;gap:.4rem}.person-contact-field label span,.person-fields label span,.field-hint{color:var(--color-text-muted);font-size:.78rem;font-weight:400}.person-primary-toggle,.person-child-toggle{display:flex!important;align-items:center;gap:.65rem!important;min-height:44px}.person-primary-toggle{align-self:end;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle)}.person-primary-toggle span,.person-child-toggle span{min-width:0;overflow-wrap:anywhere}.person-primary-toggle input,.person-child-toggle input{flex:0 0 auto;width:20px;height:20px}.person-remove-button{justify-self:end;min-height:44px}.person-contact-card .person-remove-button{grid-column:1 / -1}.person-relationship-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;align-items:end}.person-relationship-field{display:grid;min-width:0;gap:.4rem}.add-person-drawer input,.add-person-drawer select{width:100%;min-height:44px;min-width:0;max-width:100%;box-sizing:border-box}.person-search-result{display:grid;width:100%;min-width:0;text-align:left;overflow-wrap:anywhere}.person-role-badge{display:inline-flex;margin-bottom:.35rem;padding:.3rem .65rem;border-radius:999px;color:var(--color-info);background:var(--color-selected);font-size:.75rem;font-weight:700}.person-scope-warning,.selected-person-summary{padding:.9rem 1rem;border:1px solid var(--color-warning-border);border-radius:12px;background:var(--color-warning-surface)}.selected-person-summary{display:grid;gap:.25rem}.person-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem}[data-field-error]{color:var(--color-danger)}@media(max-width:700px){.add-person-drawer{width:100%}.person-relationship-card{grid-template-columns:repeat(2,minmax(0,1fr))}.person-relationship-card .person-remove-button{grid-column:1 / -1}.add-person-drawer footer{flex-wrap:wrap}.add-person-drawer footer .button{flex:1 1 8rem;min-height:44px}}@media(max-width:480px){.contact-row,.relationship-row,.form-grid{grid-template-columns:1fr}.person-contact-card .person-remove-button,.person-relationship-card .person-remove-button{grid-column:auto}.person-remove-button{justify-self:stretch}.person-card-actions{justify-content:flex-start}}.transfer-drawer>header{display:flex;justify-content:space-between}.transfer-drawer form{display:grid;gap:13px;margin-top:18px}.transfer-drawer label{display:grid;gap:5px;font-size:12px;font-weight:600}.transfer-drawer input,.transfer-drawer select,.transfer-drawer textarea{width:100%;min-height:44px;padding:10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated)}.transfer-result{padding:13px;border-radius:11px;background:var(--color-info-surface)}.transfer-result span,.transfer-result strong{display:block}.transfer-result span{color:var(--color-text-muted);font-size:10px}.check-control{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check-control input{width:20px!important}.mutation-error{display:flex;justify-content:space-between;align-items:center;margin:14px 28px 0;padding:10px 13px;border:1px solid var(--color-danger-border);border-radius:10px;color:var(--color-danger);background:var(--color-danger-surface)}.mutation-error button{border:0;background:none}.empty-state{text-align:center;color:var(--color-text-muted);padding:42px}.content-grid,.alert-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.contact-point-card{display:grid;min-width:0;gap:6px;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.contact-point-card__type{color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.contact-point-card__value{min-width:0;overflow-wrap:anywhere;font-size:.95rem;line-height:1.4}.contact-point-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;color:var(--color-text-secondary);font-size:.82rem}.contact-point-card__meta>span{min-width:0;overflow-wrap:anywhere}.contact-point-card__label{padding:2px 7px;border-radius:999px;background:var(--color-selected);font-size:.75rem;font-weight:600}.detail-card,.note-form,.note-card,.marketing-banner,.route-card,.consent-row{padding:18px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface)}.stack,.notes-list,.route-list{display:grid;gap:13px}.note-form textarea,.note-card textarea{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:10px}.note-compose,.inline-actions,.note-card header,.note-card footer,.route-card,.consent-row{display:flex;gap:12px;justify-content:space-between;align-items:center}.route-card>div{min-width:0}.route-card h3,.route-card p{overflow-wrap:anywhere}.note-options{display:flex;gap:16px}.state-page,.route-error{display:grid;place-items:center;min-height:100vh;padding:24px}.state-card{max-width:520px;padding:36px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);text-align:center}.client-list-page{width:min(1120px,calc(100% - 48px));min-width:0;margin:0 auto;padding:48px 0 72px}.client-list-header{display:grid;gap:28px;margin-bottom:30px}.client-list-header h1{margin:3px 0 7px;font-size:clamp(32px,5vw,48px)}.client-list-header p{margin:0;color:var(--color-text-muted)}.client-list-search{margin-bottom:24px;padding:18px 20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.client-list-search form,.client-list-search label{display:grid;gap:8px}.client-list-search label{font-weight:700}.client-list-search__controls{display:flex;gap:10px}.client-list-search input{flex:1 1 280px;min-width:0;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated);font:inherit}.client-list-search p{margin:0;color:var(--color-text-muted);font-size:.82rem}.client-list-search .client-list-search__error{min-height:1.2em;color:var(--color-danger)}.client-list-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.client-list{display:grid;gap:12px;min-width:0;margin:0;padding:0;list-style:none}.client-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;min-height:84px;padding:18px 22px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:inherit;text-decoration:none}.client-list-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated);box-shadow:0 10px 28px #070a0914}.client-list-card strong,.client-list-card small{display:block;overflow-wrap:anywhere}.client-list-card small,.client-list-status{margin-top:5px;color:var(--color-text-muted)}.client-list-arrow{font-size:22px}.client-list-loading,.client-list-empty,.client-list-error{min-width:0;padding:36px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);text-align:center}.client-list-empty h2,.client-list-error h2{margin-top:0}.loading-page{display:grid;grid-template-columns:350px 1fr;gap:28px;width:min(1640px,calc(100% - 48px));margin:auto;padding:70px 0}.skeleton{border-radius:20px;background:var(--color-disabled-surface)}.skeleton--side{height:700px}.skeleton-stack{display:grid;grid-template-rows:125px 57px 520px;gap:16px}@keyframes enter{0%{opacity:0;transform:translateY(3px)}}@media(max-width:1100px){.app-shell{width:calc(100% - 32px);padding-top:18px}.family-layout{grid-template-columns:1fr;gap:18px}.family-summary{position:static;display:grid;grid-template-columns:270px 1fr auto}.family-summary__hero{min-height:0;padding:22px}.avatar--large{width:72px;height:72px;margin-bottom:10px;font-size:25px}.family-summary__hero h2{font-size:19px}.family-number{margin-bottom:12px}.summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 20px}.summary-row{min-height:65px}.financial-projection{align-self:center;width:250px;margin:14px 18px}.summary-actions{grid-column:2/4;padding:0 18px 16px;justify-self:end;grid-template-columns:140px 140px}.family-workspace{min-height:800px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(n){border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.kpi:nth-child(3n){border-right:0}.journey{grid-template-columns:repeat(3,1fr);row-gap:20px}.journey li:nth-child(3):before,.journey li:nth-child(6):before{width:50%}.loading-page{grid-template-columns:1fr}}@media(max-width:650px){.client-list-page{width:100%;padding:24px 14px 48px;overflow-x:hidden}.client-list-header{gap:22px;margin-bottom:22px}.client-list-card{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;padding:16px}.client-list-status{grid-column:1}.client-list-arrow{grid-column:2;grid-row:1 / 3}.client-list-loading,.client-list-empty,.client-list-error{padding:28px 18px}.app-shell{width:100%;padding:0}.breadcrumbs{padding:12px 14px;margin:0;font-size:11px}.family-layout{gap:10px}.family-summary,.family-workspace{border-right:0;border-left:0;border-radius:0}.family-summary{display:block}.family-summary__hero{display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto auto auto;column-gap:14px;text-align:left;padding:16px}.avatar--large{grid-row:1/4;width:62px;height:62px;margin:0}.family-summary__hero h2{margin:3px 0 0}.family-number{margin:0}.summary-badges{justify-content:flex-start;gap:6px}.summary-badges .chip,.priority-picker select{min-height:25px;padding:3px 8px;font-size:9px}.summary-list{display:grid;grid-template-columns:1fr 1fr;padding:6px 14px}.summary-row{min-height:55px;gap:8px}.summary-row__icon{width:32px;height:32px}.summary-row:nth-child(n+3){display:none}.financial-projection{width:auto;margin:8px 14px}.summary-actions{display:none}.family-workspace{min-height:720px}.workspace-header{min-height:78px;padding:15px}.workspace-header h1{font-size:21px}.page-actions{display:none}.mobile-person-action{display:inline-flex;width:calc(100% - 30px);margin:0 15px 12px}.tabs [role=tablist]{padding:0 6px}.tabs button{min-height:50px;padding:0 10px}.workspace-content{padding:14px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(n){border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.kpi:nth-child(2n){border-right:0}.kpi{min-height:78px;padding:11px}.overview-grid,.billing-grid,.student-progress-grid,.subscription-grid{grid-template-columns:1fr}.journey{grid-template-columns:1fr;padding-left:4px}.journey li{display:flex;gap:12px;text-align:left;padding-bottom:15px}.journey li:before{top:7px;left:7px!important;width:2px!important;height:100%}.journey li>span{margin:0}.journey strong,.journey small{padding:0}.progress-card dl>div,.subscription-card dl>div{grid-template-columns:1fr}.balance-hero{grid-template-columns:1fr}.balance-hero>div{border-right:0;border-bottom:1px solid var(--color-border)}.history-timeline{padding-left:9px}.history-timeline header{display:block}.history-timeline time{display:block;margin-top:4px}.history-timeline dl{display:block}.workspace-panel--inbox{height:calc(100dvh - 129px);min-height:600px;margin:-14px}.inbox-layout{display:block}.conversation-list{height:100%;border:0}.chat-view{display:none;height:100%;grid-template-rows:auto auto 1fr auto}.inbox-layout.chat-open .conversation-list{display:none}.inbox-layout.chat-open .chat-view{display:grid}.chat-back{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-elevated)}.chat-header{padding:10px}.chat-header .chip{display:none}.permission-strip{padding:5px 12px}.messages{padding:14px}.message{max-width:88%}.composer{position:sticky;bottom:0;padding:8px}.composer textarea{font-size:13px}.transfer-drawer{padding:18px}.content-grid,.alert-grid,.contact-grid{grid-template-columns:1fr}.loading-page{width:100%;padding:12px}.skeleton--side{height:260px}}.client-list-nav,.branch-directory-header,.branch-directory-card header,.branch-card-actions,.branch-form-actions{display:flex;gap:16px;align-items:center;justify-content:space-between}.client-list-nav>a:last-child,.branch-directory-header a{color:var(--color-accent-active-text);font-weight:700;text-decoration:none}.branch-directory-page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 56px}.branch-directory-header{align-items:end;margin-bottom:18px}.branch-directory-header h1{margin-bottom:6px}.branch-directory-header p{color:var(--color-text-muted)}.branch-page-status,.branch-form-error{min-height:24px;color:var(--color-danger)}.branch-directory-list{display:grid;gap:16px;padding:0;list-style:none}.branch-directory-card,.branch-form-panel,.branch-directory-empty{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow)}.branch-directory-card h2{margin-bottom:4px}.branch-directory-card header p,.branch-directory-card dl{color:var(--color-text-muted)}.branch-directory-card dl{display:flex;gap:36px}.branch-directory-card dt{font-size:12px;font-weight:700;text-transform:uppercase}.branch-directory-card dd{margin:4px 0 0;color:var(--color-text-primary)}.branch-status{padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}.branch-status--active{color:var(--color-success);background:var(--color-success-surface)}.branch-status--archived{color:var(--color-text-secondary);background:var(--color-disabled-surface)}.branch-form-panel{max-width:720px;margin:0 0 22px}.branch-form-panel form,.branch-form-panel label{display:grid;gap:8px}.branch-form-panel form{gap:16px}.branch-form-panel label{font-weight:700}.branch-form-panel label span{color:var(--color-text-muted);font-size:12px}.branch-form-panel input{min-width:0;padding:11px 13px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated)}.branch-form-grid{display:grid;grid-template-columns:1fr 180px;gap:14px}.branch-archive-warning{margin-top:18px;padding:16px;border:1px solid var(--color-warning-border);border-radius:12px;background:var(--color-warning-surface)}.branch-archive-warning p{margin:6px 0 14px}@media(max-width:650px){.branch-directory-header,.branch-directory-card header,.branch-card-actions,.branch-form-actions{align-items:stretch;flex-direction:column}.branch-form-grid,.branch-directory-card dl{display:grid;grid-template-columns:1fr;gap:12px}.branch-directory-header .button,.branch-card-actions .button,.branch-form-actions .button{width:100%}}@supports not (backdrop-filter: blur(14px)){.tabs,.composer,.filter-bar{background:var(--color-surface-elevated)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 5%,var(--color-selected),transparent 40%),linear-gradient(145deg,var(--color-canvas),var(--color-surface-subtle))}.auth-card{width:min(100%,440px);padding:38px;border:1px solid var(--color-surface-glass-border);border-radius:24px;background:var(--color-surface-glass);box-shadow:0 24px 70px #070a0924;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.auth-brand{display:inline-flex;gap:7px;margin-bottom:30px;color:var(--color-text-primary);font-weight:800;text-decoration:none}.auth-brand span{color:var(--color-accent-active-text)}.auth-card h1{font-size:28px;margin-bottom:8px}.auth-subtitle{color:var(--color-text-muted);margin-bottom:28px}.auth-form,.auth-field{display:grid;gap:9px}.auth-form{gap:20px}.auth-field span{font-size:13px;font-weight:600}.auth-field input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-elevated)}.auth-form button,.auth-organizations button{min-height:48px;border:0;border-radius:12px;background:var(--color-accent);color:var(--color-on-accent);font-weight:700;cursor:pointer}.auth-form button:hover:not(:disabled),.auth-organizations button:hover:not(:disabled){background:var(--color-accent-hover)}.auth-form button:active:not(:disabled),.auth-organizations button:active:not(:disabled){color:var(--color-on-accent-pressed);background:var(--color-accent-pressed)}.auth-form button:disabled,.auth-organizations button:disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface);cursor:not-allowed}.auth-form a{color:var(--color-accent-active-text);text-align:center}.auth-status{min-height:24px;margin:0;color:var(--color-text-secondary);font-size:14px}.auth-organizations{display:grid;gap:12px}@supports not (backdrop-filter: blur(1px)){.auth-card{background:var(--color-surface-elevated)}}@media(max-width:480px){.auth-page{padding:12px}.auth-card{padding:26px 20px;border-radius:18px}.auth-card h1{font-size:24px}}@media(prefers-reduced-motion:reduce){.auth-card *{scroll-behavior:auto!important;transition:none!important}}.client-list-heading{display:flex;gap:24px;align-items:end;justify-content:space-between}.client-list-heading>div{min-width:0}.new-family-panel{max-width:620px;margin-bottom:24px;padding:24px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.new-family-panel h2{margin:3px 0 6px}.new-family-number-hint{margin:0 0 20px;color:var(--color-text-muted)}.new-family-panel form{display:grid;gap:16px}.new-family-panel label{display:grid;gap:7px;color:var(--color-text-primary);font-weight:700}.new-family-panel input,.new-family-panel select{width:100%;min-width:0;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated);font:inherit}.new-family-error{min-height:1.4em;margin:0;color:var(--color-danger)}.new-family-actions{display:flex;gap:10px;justify-content:flex-end}.client-list-empty__action{margin-top:12px}@media(max-width:650px){.client-list-search{padding:16px}.client-list-search__controls{align-items:stretch;flex-direction:column}.client-list-search input{flex-basis:auto;width:100%}.client-list-search__controls .button{width:100%}.client-list-heading{align-items:stretch;flex-direction:column}.client-list-heading>.button{width:100%}.new-family-panel{padding:20px 16px}.new-family-actions{align-items:stretch;flex-direction:column-reverse}.new-family-actions .button{width:100%}.person-student-status{grid-template-columns:1fr}}:root{--shell-accent: var(--color-accent);--shell-accent-hover: var(--color-accent-hover);--shell-accent-pressed: var(--color-accent-pressed);--shell-accent-strong: var(--color-accent-active-text);--shell-accent-soft: var(--color-selected);--shell-aqua-line: var(--color-aqua-line);--shell-background: var(--color-canvas);--shell-sidebar: var(--color-surface);--shell-surface: var(--color-surface-elevated);--shell-surface-subtle: var(--color-surface-subtle);--shell-text: var(--color-text-primary);--shell-secondary: var(--color-text-secondary);--shell-muted: var(--color-text-muted);--shell-border: var(--color-border);--shell-border-strong: var(--color-border-strong);--shell-sidebar-expanded: 280px;--shell-sidebar-collapsed: 80px;--shell-mobile-navigation: 72px;--shell-layer-sidebar: 30;--shell-layer-mobile-navigation: 70;--shell-layer-modal: 100;--shell-radius-small: 12px;--shell-radius-medium: 18px;--shell-radius-large: 24px;--shell-shadow: 0 18px 48px rgb(7 10 9 / 8%)}body.has-app-shell{overflow:hidden;color:var(--shell-text);background:var(--shell-background)}.arthome-shell{isolation:isolate;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--shell-background)}.shell-skip-link{position:fixed;z-index:120;top:12px;left:16px;padding:10px 14px;border-radius:10px;color:var(--color-surface-elevated);background:var(--shell-accent-strong);text-decoration:none;transform:translateY(-160%)}.shell-skip-link:focus{transform:translateY(0)}.desktop-sidebar{position:fixed;z-index:var(--shell-layer-sidebar);inset:0 auto 0 0;display:flex;width:var(--shell-sidebar-expanded);min-width:0;flex-direction:column;border-right:1px solid var(--shell-border);background:var(--shell-sidebar);transition:width .18s ease}.desktop-sidebar--collapsed,.arthome-shell--collapsed .desktop-sidebar{width:var(--shell-sidebar-collapsed)}.desktop-sidebar__header{position:relative;display:flex;min-height:86px;flex:0 0 auto;align-items:center;padding:18px 22px}.shell-brand{display:flex;min-width:0;align-items:center;gap:11px;color:var(--shell-accent-hover);text-decoration:none}.shell-brand__mark{width:40px;height:40px;flex:0 0 auto}.shell-brand__wordmark{display:grid;color:var(--shell-text);line-height:1.05}.shell-brand__wordmark strong{font-size:18px;letter-spacing:-.025em}.shell-brand__wordmark small{margin-top:4px;color:var(--shell-muted);font-size:10px;font-weight:700;letter-spacing:.12em}.desktop-sidebar__collapse{position:absolute;top:28px;right:-15px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:1px solid var(--shell-border);border-radius:50%;color:var(--shell-muted);background:var(--shell-surface);box-shadow:0 5px 16px #070a091a;cursor:pointer}.desktop-sidebar__collapse:hover{color:var(--shell-accent-strong);border-color:var(--color-aqua-line);background:var(--shell-accent-soft)}.desktop-sidebar__collapse .shell-icon{width:16px;transition:transform .18s ease}.desktop-sidebar--collapsed .desktop-sidebar__collapse .shell-icon{transform:rotate(180deg)}.desktop-sidebar__scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 20px;scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin}.desktop-sidebar__group{display:grid;gap:4px}.desktop-sidebar__group--management{margin-top:20px;padding-top:18px;border-top:1px solid var(--shell-border)}.desktop-sidebar__group-label{margin:0 12px 6px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.desktop-sidebar__footer{flex:0 0 auto;padding:12px 14px 18px;border-top:1px solid var(--shell-border);background:var(--shell-sidebar)}.shell-navigation-item{position:relative;display:grid;min-width:0;min-height:46px;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:0 12px;border-radius:var(--shell-radius-small);color:var(--color-text-secondary);font-size:13px;font-weight:650;text-decoration:none}a.shell-navigation-item:hover{color:var(--shell-text);background:var(--shell-surface)}.shell-navigation-item--active,a.shell-navigation-item--active:hover{color:var(--shell-accent-strong);background:var(--shell-accent-soft);box-shadow:inset 3px 0 var(--shell-aqua-line)}.shell-navigation-item--disabled{color:var(--color-disabled-text);cursor:not-allowed}.shell-navigation-item__icon{display:grid;width:24px;height:24px;place-items:center}.shell-icon{display:block;width:21px;height:21px}.shell-navigation-item__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-navigation-item__badge{display:inline-grid;min-width:21px;height:21px;place-items:center;padding:0 6px;border-radius:999px;color:var(--color-on-accent);background:var(--shell-accent);font-size:10px;font-weight:800}.shell-navigation-item__soon{color:var(--color-disabled-text);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.desktop-sidebar--collapsed .desktop-sidebar__header{justify-content:center;padding-inline:18px}.desktop-sidebar--collapsed .shell-brand__wordmark,.desktop-sidebar--collapsed .shell-navigation-item__label,.desktop-sidebar--collapsed .shell-navigation-item__soon,.desktop-sidebar--collapsed .desktop-sidebar__group-label{display:none}.desktop-sidebar--collapsed .shell-navigation-item{display:grid;grid-template-columns:1fr;place-items:center;padding:0}.desktop-sidebar--collapsed .shell-navigation-item__badge{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding-inline:4px}.desktop-sidebar--collapsed .desktop-sidebar__group--management{margin-top:12px;padding-top:12px}.arthome-shell__main-scroll{width:auto;min-width:0;height:100vh;height:100dvh;margin-left:var(--shell-sidebar-expanded);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--shell-background);transition:margin-left .18s ease}.arthome-shell--collapsed .arthome-shell__main-scroll{margin-left:var(--shell-sidebar-collapsed)}.arthome-shell__outlet{min-width:0;min-height:100%;overflow-x:clip}.shell-page{width:min(1120px,calc(100% - 64px));min-width:0;min-height:100%;margin:0 auto;padding:42px 0 64px}.shell-page--wide{width:calc(100% - 64px);max-width:1500px}.shell-page-header{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.shell-page-header__copy{max-width:680px;min-width:0}.shell-page-header h1{margin:0 0 7px;color:var(--shell-text);font-size:clamp(30px,3.2vw,42px);line-height:1.1;letter-spacing:-.035em}.shell-page-header__copy>p:last-child{margin:0;color:var(--shell-muted);font-size:14px}.shell-page-header__eyebrow{margin:0 0 6px;color:var(--shell-accent-strong);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.shell-empty-state{display:grid;min-height:420px;place-items:center;align-content:center;padding:48px;border:1px solid var(--shell-border);border-radius:var(--shell-radius-large);background:var(--color-surface);box-shadow:var(--shell-shadow);text-align:center}.shell-empty-state h2{margin:18px 0 8px;font-size:22px}.shell-empty-state p{max-width:570px;margin:0;color:var(--shell-muted)}.shell-empty-state__mark{width:54px;height:54px;border:10px solid var(--shell-accent-soft);border-radius:18px;background:var(--shell-accent);box-shadow:inset 0 0 0 2px var(--color-surface-elevated);transform:rotate(8deg)}.shell-empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.shell-empty-state__actions a{min-height:42px;padding:10px 15px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-accent-strong);background:var(--color-surface-elevated);font-weight:700;text-decoration:none}.shell-empty-state__actions a:first-child{color:var(--color-on-accent);border-color:var(--shell-accent);background:var(--shell-accent)}.shell-empty-state__actions a:hover{border-color:var(--shell-aqua-line);background:var(--shell-accent-soft)}.shell-empty-state__actions a:first-child:hover{border-color:var(--shell-accent-hover);background:var(--shell-accent-hover)}.shell-empty-state__actions a:first-child:active{color:var(--color-on-accent-pressed);border-color:var(--shell-accent-pressed);background:var(--shell-accent-pressed)}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:12px}.calendar-control{display:grid;gap:6px;color:var(--shell-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-control select,.calendar-view-selector>div{min-height:42px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--shell-surface)}.calendar-control select{max-width:210px;padding:0 34px 0 12px}.calendar-control select:disabled{color:var(--color-disabled-text);opacity:1}.calendar-view-selector>div{display:flex;padding:3px}.calendar-view-selector button{min-width:70px;padding:0 12px;border:0;border-radius:8px;color:var(--shell-muted);background:transparent;cursor:pointer}.calendar-view-selector button[aria-pressed=true]{color:var(--shell-accent-strong);background:var(--shell-accent-soft);font-weight:800}.calendar-view-selector button:hover:not([aria-pressed=true]){color:var(--shell-text);background:var(--shell-surface-subtle)}.calendar-toolbar__actions:empty{display:none}.calendar-surface{display:grid;min-height:max(500px,calc(100dvh - 190px));border:1px solid var(--shell-border);border-radius:var(--shell-radius-large);overflow:hidden;background:var(--color-surface);box-shadow:var(--shell-shadow)}.calendar-empty-state{display:grid;place-items:center;align-content:center;padding:48px;text-align:center}.calendar-empty-state__icon{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.calendar-empty-state__icon .shell-icon{width:27px;height:27px}.calendar-empty-state h2{margin:18px 0 8px;font-size:21px}.calendar-empty-state p{max-width:490px;margin:0;color:var(--shell-muted)}.arthome-shell .client-list-nav .auth-brand{display:none}.arthome-shell .client-list-nav{justify-content:flex-end}.arthome-shell__outlet>.client-list-page{padding-top:36px}.arthome-shell__outlet>.app-shell{max-width:1540px}.shell-route-error{min-height:100%}.mobile-navigation-root{display:none}@media(min-width:768px)and (max-width:1100px){.desktop-sidebar{width:var(--shell-sidebar-collapsed)}.arthome-shell__main-scroll{margin-left:var(--shell-sidebar-collapsed)}.desktop-sidebar__header{justify-content:center;padding-inline:18px}.desktop-sidebar__collapse,.shell-brand__wordmark,.desktop-sidebar .shell-navigation-item__label,.desktop-sidebar .shell-navigation-item__soon,.desktop-sidebar__group-label{display:none}.desktop-sidebar .shell-navigation-item{grid-template-columns:1fr;place-items:center;padding:0}.desktop-sidebar .shell-navigation-item__badge{position:absolute;top:3px;right:3px;min-width:17px;height:17px}.desktop-sidebar__group--management{margin-top:12px;padding-top:12px}.shell-page-header{align-items:flex-start;flex-direction:column}}@media(max-width:767px){body.has-app-shell{min-width:320px}.desktop-sidebar{display:none}.arthome-shell__main-scroll,.arthome-shell--collapsed .arthome-shell__main-scroll{height:100vh;height:100dvh;margin-left:0}.arthome-shell__outlet{min-height:calc(100% - var(--shell-mobile-navigation));padding-bottom:calc(var(--shell-mobile-navigation) + env(safe-area-inset-bottom))}.mobile-navigation-root{display:block}.mobile-navigation{position:fixed;z-index:var(--shell-layer-mobile-navigation);right:0;bottom:0;left:0;display:grid;min-height:var(--shell-mobile-navigation);grid-template-columns:repeat(5,minmax(0,1fr));padding:6px max(4px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));border-top:1px solid var(--shell-border);background:var(--color-navigation-glass);box-shadow:0 -10px 30px #070a0914}.shell-navigation-item--mobile,.mobile-more-button{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:0;border-radius:11px;color:var(--color-text-muted);background:transparent;font-size:10px;font-weight:700;line-height:1.1;text-align:center;text-decoration:none}.shell-navigation-item--mobile.shell-navigation-item--active,.mobile-more-button--active{color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.shell-navigation-item--mobile.shell-navigation-item--disabled{color:var(--color-disabled-text)}.shell-navigation-item--mobile .shell-navigation-item__icon,.mobile-more-button .shell-navigation-item__icon{width:22px;height:22px}.shell-navigation-item--mobile .shell-navigation-item__label{max-width:100%}.shell-navigation-item--mobile .shell-navigation-item__badge{position:absolute;top:2px;left:calc(50% + 7px)}.mobile-more-button{cursor:pointer}.shell-navigation-item--mobile:hover:not(.shell-navigation-item--disabled),.mobile-more-button:hover{color:var(--shell-text);background:var(--shell-surface-subtle)}.shell-navigation-item--mobile.shell-navigation-item--active:hover,.mobile-more-button--active:hover{color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.mobile-more-overlay{position:fixed;z-index:var(--shell-layer-modal);inset:0;display:flex;align-items:flex-end;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));isolation:isolate;overflow:hidden;overscroll-behavior:contain;background:var(--color-backdrop);pointer-events:auto}.mobile-more-overlay[hidden]{display:none}.mobile-more-dialog{position:relative;z-index:1;width:100%;max-height:min(620px,calc(100dvh - 112px));padding:18px;border:1px solid var(--shell-aqua-line);border-radius:22px;overflow-y:auto;background:var(--shell-surface);box-shadow:0 24px 70px #070a0940}.mobile-more-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 2px 12px}.mobile-more-dialog h2{margin:0;font-size:20px}.mobile-more-dialog__close{width:42px;height:42px;border:1px solid var(--shell-border);border-radius:12px;color:var(--shell-text);background:var(--color-surface-elevated);font-size:24px;cursor:pointer}.mobile-more-dialog__close:hover{color:var(--shell-accent-strong);border-color:var(--shell-aqua-line);background:var(--shell-accent-soft)}.mobile-more-dialog nav{display:grid;gap:4px}.mobile-more-dialog .shell-navigation-item{min-height:50px;grid-template-columns:26px minmax(0,1fr) auto auto}.shell-page,.shell-page--wide{width:100%;padding:24px 16px 40px}.shell-page-header{align-items:stretch;flex-direction:column;gap:20px;margin-bottom:22px}.shell-page-header h1{font-size:32px}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}.calendar-control select{width:100%;max-width:none}.calendar-view-selector>div,.calendar-view-selector button{width:100%}.calendar-surface{min-height:58vh;border-radius:var(--shell-radius-medium)}.calendar-empty-state,.shell-empty-state{min-height:360px;padding:34px 20px}.arthome-shell__outlet>.client-list-page{padding-top:24px}}@media(prefers-reduced-motion:reduce){.desktop-sidebar,.desktop-sidebar__collapse .shell-icon,.arthome-shell__main-scroll,.shell-skip-link{transition-duration:.01ms}}.calendar-renderer-page{width:100%;max-width:1800px;margin:0 auto;padding:32px 32px 64px}.calendar-renderer-page .shell-page-header{display:grid;width:100%;grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:28px;margin-bottom:28px}.calendar-renderer-toolbar{display:grid;width:100%;grid-template-areas:"branch view date filters create refresh";grid-template-columns:minmax(260px,300px) max-content max-content max-content max-content 44px;gap:10px;align-items:end;padding:14px 16px;border:1px solid var(--shell-border);border-radius:var(--shell-radius-large);background:var(--color-surface-elevated);box-shadow:0 8px 24px #070a090f}.calendar-renderer-control--branch{width:clamp(260px,22vw,300px);max-width:100%;grid-area:branch}.calendar-renderer-control{display:grid;gap:4px;min-width:0;color:var(--shell-muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-renderer-control select,.calendar-renderer-control input,.calendar-date-navigation__button,.calendar-view-switch button,.calendar-filter-button,.calendar-refresh-button,.calendar-cancelled-filter{height:44px;min-height:44px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--shell-surface)}.calendar-renderer-control select,.calendar-renderer-control input{width:100%;height:44px;min-width:0;padding:0 12px;font:inherit;font-size:13px;font-weight:700;line-height:1}.calendar-renderer-control select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--shell-muted) 50%),linear-gradient(135deg,var(--shell-muted) 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px}.calendar-renderer-control select:disabled,.calendar-renderer-control input:disabled,.calendar-cancelled-filter:has(input:disabled){color:var(--color-disabled-text);background:var(--color-disabled-surface)}.calendar-date-navigation{display:grid;min-width:0;grid-area:date;grid-template-columns:44px minmax(138px,150px) auto 44px;gap:6px;align-items:end;justify-content:start}.calendar-renderer-control--date{height:44px}.calendar-date-navigation__button{align-self:end;padding:0 12px;cursor:pointer;font-weight:750}.calendar-date-navigation__button:hover,.calendar-date-navigation__button:focus-visible,.calendar-view-switch button:hover,.calendar-view-switch button:focus-visible,.calendar-filter-button:hover,.calendar-filter-button:focus-visible,.calendar-refresh-button:hover,.calendar-refresh-button:focus-visible{border-color:var(--shell-accent);color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.calendar-view-switch{display:grid;height:44px;grid-template-columns:repeat(2,1fr);grid-area:view;align-self:end;overflow:hidden;border:0;border-radius:11px;background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--shell-border)}.calendar-view-switch button{min-width:64px;min-height:44px;padding:0 10px;border:0;cursor:pointer;font-size:12px;font-weight:800}.calendar-view-switch button[aria-pressed=true]{color:var(--color-on-accent);background:var(--shell-accent);box-shadow:0 3px 9px #070a0929}.calendar-refresh-button{display:grid;width:44px;grid-area:refresh;place-items:center;align-self:end;padding:0;cursor:pointer}.calendar-create-button{min-height:44px;grid-area:create;align-self:end;padding-inline:16px;white-space:nowrap}.calendar-refresh-icon{width:19px;height:19px}.calendar-date-navigation__button:disabled,.calendar-view-switch button:disabled,.calendar-filter-button:disabled,.calendar-refresh-button:disabled{cursor:wait;opacity:.58}.calendar-create-button:disabled{cursor:wait;opacity:.58}.calendar-filters{position:relative;min-width:0;grid-area:filters;align-self:end}.calendar-filter-button{display:flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.calendar-filter-button[data-active=true]:after{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--shell-accent);content:""}.calendar-filters-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:230px;padding:10px;border:1px solid var(--shell-border);border-radius:12px;background:var(--color-surface-elevated);box-shadow:0 14px 34px #070a0929}.calendar-filters-popover[hidden]{display:none}.calendar-cancelled-filter{display:flex;align-items:center;gap:8px;padding:0 10px;border-color:transparent;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.calendar-cancelled-filter input{width:17px;height:17px;accent-color:var(--shell-accent)}.calendar-renderer-surface{display:block;min-width:0;min-height:max(520px,calc(100dvh - 210px))}.calendar-renderer-state{display:grid;min-height:max(500px,calc(100dvh - 212px));place-items:center;align-content:center;padding:48px;text-align:center}.calendar-renderer-state__icon{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;color:var(--shell-accent);background:var(--shell-accent-soft)}.calendar-renderer-state__icon .shell-icon{width:27px;height:27px}.calendar-renderer-state h2{margin:18px 0 8px;font-size:22px}.calendar-renderer-state p{max-width:520px;margin:0;color:var(--shell-muted)}.calendar-loading-bar{width:140px;height:4px;margin-top:24px;overflow:hidden;border-radius:999px;background:var(--color-aqua-line)}.calendar-loading-bar:after{display:block;width:55%;height:100%;border-radius:inherit;background:var(--shell-accent);animation:calendar-loading 1.2s ease-in-out infinite alternate;content:""}.calendar-retry-button{display:inline-grid;place-items:center;min-height:42px;margin-top:22px;padding:8px 18px;border:0;border-radius:11px;color:var(--color-on-accent);background:var(--shell-accent);cursor:pointer;font-weight:800;text-decoration:none}.calendar-error-correlation{margin-top:14px;color:var(--shell-muted);font-size:11px}.calendar-day-view{min-width:0}.calendar-day-heading{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:22px;padding:16px 20px;border-bottom:1px solid var(--shell-border)}.calendar-day-heading h2{margin:0;font-size:20px;line-height:1.2;text-transform:capitalize}.calendar-day-heading p{margin:5px 0 0;color:var(--shell-muted);font-size:12px}.calendar-derived-summary{display:flex;gap:8px;margin:0}.calendar-derived-summary div{display:grid;min-width:74px;padding:7px 11px;border:1px solid var(--shell-border);border-radius:10px;background:var(--color-surface-subtle)}.calendar-derived-summary dt{color:var(--shell-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.calendar-derived-summary dd{margin:1px 0 0;font-size:16px;font-weight:800}.calendar-room-note,.calendar-inline-empty{margin:12px 16px 0;border-radius:10px}.calendar-room-note{padding:10px 12px;color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:12px}.calendar-inline-empty{display:flex;gap:8px;align-items:baseline;padding:11px 13px;color:var(--color-text-secondary);background:var(--color-selected);font-size:12px}.calendar-grid-scroll{--calendar-room-header-height: 72px;--calendar-timeline-inset: 18px;width:100%;max-width:100%;max-height:max(520px,calc(100dvh - 300px));margin-top:12px;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.calendar-grid-scroll:focus-visible{outline-offset:-4px}.calendar-grid{display:grid;width:max(100%,calc(88px + var(--calendar-room-count) * 270px));min-width:100%;grid-template-columns:88px repeat(var(--calendar-room-count),minmax(270px,1fr));align-items:start;background:var(--color-surface-elevated)}.calendar-time-axis{position:sticky;left:0;z-index:6;border-right:1px solid var(--shell-border);background:var(--color-surface-subtle)}.calendar-time-axis__corner,.calendar-room-column__header{position:sticky;top:0;z-index:5;height:var(--calendar-room-header-height);min-height:var(--calendar-room-header-height);border-bottom:1px solid var(--shell-border);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.calendar-time-axis__corner{z-index:8;display:grid;place-items:center;color:var(--shell-muted);background:var(--color-surface-subtle);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-time-axis__body,.calendar-room-column__body{position:relative;box-sizing:content-box;padding-block:var(--calendar-timeline-inset)}.calendar-time-axis__label{position:absolute;right:16px;margin-top:var(--calendar-timeline-inset);color:var(--color-text-muted);font-size:10px;font-variant-numeric:tabular-nums;transform:translateY(-50%)}.calendar-time-axis__now{position:absolute;right:5px;z-index:4;margin-top:var(--calendar-timeline-inset);padding:2px 5px;border-radius:999px;color:#fff;background:#d63c5a;font-size:9px;font-weight:800;white-space:nowrap;transform:translateY(-50%)}.calendar-room-column{min-width:0;border-right:1px solid var(--shell-border)}.calendar-room-column__header{display:grid;align-content:center;padding:12px 18px}.calendar-room-column__header h3{overflow:hidden;margin:0;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.calendar-room-column__header p{overflow:hidden;margin:3px 0 0;color:var(--shell-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.calendar-room-column__body{background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,var(--color-border) 30px,transparent 31px,transparent 59px,var(--color-border-strong) 60px),var(--color-surface);background-position:0 var(--calendar-timeline-inset),0 0}.calendar-current-time-line{position:absolute;right:0;left:0;z-index:3;margin-top:var(--calendar-timeline-inset);border-top:2px solid #d63c5a;pointer-events:none}.calendar-current-time-line:before{position:absolute;top:-5px;left:-4px;width:8px;height:8px;border-radius:50%;background:#d63c5a;content:""}.calendar-occurrence{display:grid;min-width:0;gap:2px;padding:9px 10px;overflow:hidden;border:1px solid var(--color-info-border);border-left:4px solid var(--color-accent-hover);border-radius:9px;color:var(--color-text-primary);background:var(--color-info-surface);box-shadow:0 4px 12px #070a0914;cursor:pointer;text-align:left}.calendar-occurrence:hover,.calendar-occurrence:focus-visible{z-index:5;border-color:var(--color-accent-hover);box-shadow:0 7px 18px #070a092e}.calendar-occurrence--positioned{position:absolute;top:calc(var(--calendar-top) + var(--calendar-timeline-inset));left:calc((100% / var(--calendar-lanes)) * var(--calendar-lane) + 6px);z-index:2;width:calc(100% / var(--calendar-lanes) - 12px);height:var(--calendar-height)}.calendar-occurrence--completed{border-color:#bad5c5;border-left-color:#198653;background:#eaf8f0}.calendar-occurrence--rescheduled{border-color:#d7c3f6;border-left-color:#8055c9;background:#f3edff}.calendar-occurrence--cancelled{border-color:#d5d8df;border-left-color:#717887;color:#626b7b;background:#f3f4f6;box-shadow:none;text-decoration-color:#9298a4}.calendar-occurrence[data-shared-occurrence=true]{border-right:4px double #8055c9}.calendar-occurrence[data-conflict],.calendar-occurrence[data-unavailable=true]{border-color:#d87544;border-left-color:#b94d1c;background:#fff1e8}.calendar-occurrence[data-data-warning=overlap]{outline:2px dashed #aa6300;outline-offset:-3px}.calendar-occurrence[data-clipped-start=true]:before,.calendar-occurrence[data-clipped-end=true]:after{color:var(--color-text-secondary);font-size:9px;font-weight:800}.calendar-occurrence[data-clipped-start=true]:before{content:"Початок раніше ↑"}.calendar-occurrence[data-clipped-end=true]:after{content:"Кінець пізніше ↓"}.calendar-occurrence__meta,.calendar-occurrence__room,.calendar-occurrence__teachers,.calendar-occurrence__markers,.calendar-occurrence__warning{overflow:hidden;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-occurrence__meta{color:var(--color-info);font-weight:850;font-variant-numeric:tabular-nums}.calendar-occurrence strong{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-occurrence__room,.calendar-occurrence__teachers{color:var(--color-text-secondary)}.calendar-occurrence__markers{color:var(--color-info);font-weight:750}.calendar-occurrence__warning{color:#803410;font-weight:800}.calendar-outside-list,.calendar-cancelled-list{padding:18px 20px;border-top:1px solid var(--shell-border)}.calendar-outside-list h3,.calendar-cancelled-list h3{margin:0 0 8px;font-size:14px}.calendar-cancelled-list>p{margin:-3px 0 10px;color:var(--shell-muted);font-size:11px}.calendar-outside-list>div,.calendar-cancelled-list>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.calendar-week-view{min-width:0}.calendar-week-heading{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--shell-border)}.calendar-week-heading h2{margin:0;font-size:19px;line-height:1.3;text-transform:capitalize}.calendar-week-heading p{margin:6px 0 0;color:var(--shell-muted);font-size:12px}.calendar-week-room-filter{display:grid;min-width:min(240px,100%);gap:6px;color:var(--shell-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-week-room-filter select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--color-surface-elevated)}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:14px}.calendar-week-day{min-width:0;overflow:hidden;border:1px solid var(--shell-border);border-radius:12px;background:var(--color-surface-subtle)}.calendar-week-day>header{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-bottom:1px solid var(--shell-border);background:var(--color-surface-elevated)}.calendar-week-day h3{margin:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.calendar-week-day>header span{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:999px;color:var(--shell-accent-strong);background:var(--shell-accent-soft);font-size:10px;font-weight:850}.calendar-week-day__list{display:grid;gap:7px;align-content:start;min-height:130px;padding:8px}.calendar-week-day__empty{margin:14px 4px;color:var(--shell-muted);font-size:11px;text-align:center}.calendar-week-occurrence{display:grid;min-width:0;gap:3px;padding:9px;border:1px solid var(--color-info-border);border-left:4px solid var(--color-accent-hover);border-radius:9px;color:var(--color-text-primary);background:var(--color-info-surface);cursor:pointer;text-align:left}.calendar-week-occurrence:hover,.calendar-week-occurrence:focus-visible{border-color:var(--shell-accent);box-shadow:0 5px 14px #070a0929}.calendar-week-occurrence>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-week-occurrence__time{color:var(--color-info);font-size:10px;font-weight:850;font-variant-numeric:tabular-nums}.calendar-week-occurrence strong{font-size:12px}.calendar-week-occurrence span:not(.calendar-week-occurrence__time){color:var(--color-text-secondary);font-size:10px}.calendar-week-occurrence--completed{border-color:#bad5c5;border-left-color:#198653;background:#eaf8f0}.calendar-week-occurrence--rescheduled{border-color:#d7c3f6;border-left-color:#8055c9;background:#f3edff}.calendar-week-occurrence--cancelled{border-color:#d5d8df;border-left-color:#717887;color:#626b7b;background:#f3f4f6}.calendar-detail-backdrop{position:fixed;inset:0;z-index:500;display:flex;justify-content:flex-end;isolation:isolate;background:var(--color-backdrop)}.calendar-detail-dialog{width:min(720px,100%);height:100%;padding:24px;overflow-y:auto;color:var(--shell-text);background:var(--color-surface-elevated);box-shadow:-20px 0 46px #070a0933}.calendar-detail-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--shell-border)}.calendar-detail-dialog__eyebrow{margin:0 0 6px;color:var(--shell-accent-strong);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.calendar-detail-dialog h2{margin:0;font-size:22px}.calendar-detail-dialog header p:last-child{margin:7px 0 0;color:var(--shell-muted);font-size:13px}.calendar-detail-dialog__close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--shell-border);border-radius:12px;color:var(--shell-text);background:var(--color-surface-elevated);cursor:pointer;font-size:25px}.calendar-detail-list{display:grid;gap:0;margin:12px 0 0}.calendar-detail-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--color-border)}.calendar-detail-list dt{color:var(--shell-muted);font-size:11px;font-weight:750}.calendar-detail-list dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:12px;font-weight:650}.calendar-detail-signal{margin-top:16px;padding:12px;border:1px solid #edb08f;border-radius:10px;color:#74320f;background:#fff2e9}.calendar-detail-signal p{margin:4px 0 0;font-size:12px}.calendar-detail-dialog__scope{margin-top:18px;padding:12px;border-radius:10px;color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:11px}.calendar-enrollment-host{margin-top:22px}.calendar-enrollment-section{padding-top:20px;border-top:1px solid var(--shell-border)}.calendar-enrollment-section>header,.calendar-enrollment-section>header>div,.calendar-enrollment-occupancy,.calendar-participant-summary,.calendar-participant-badges,.calendar-participant-actions,.calendar-participant-remove-confirmation,.calendar-enrollment-picker>header,.calendar-enrollment-picker>footer,.calendar-enrollment-notice{display:flex;align-items:center}.calendar-enrollment-section>header{justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-enrollment-section>header>div{gap:8px}.calendar-enrollment-section h3,.calendar-enrollment-section h4{margin:0}.calendar-enrollment-section h3{font-size:18px}.calendar-enrollment-count{display:inline-grid;min-width:28px;min-height:28px;place-items:center;border-radius:999px;color:var(--shell-accent-strong);background:var(--color-primary-soft);font-size:12px;font-weight:850}.calendar-enrollment-occupancy{gap:8px;padding:7px 10px;border:1px solid #b9d7c6;border-radius:10px;color:#14623c;background:#edf9f2;font-size:11px}.calendar-enrollment-occupancy strong{font-size:14px;font-variant-numeric:tabular-nums}.calendar-enrollment-occupancy[data-full=true]{border-color:#efb48e;color:#813c17;background:#fff2e9}.calendar-enrollment-state,.calendar-enrollment-results{margin:0;padding:14px;border-radius:12px;color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:12px}.calendar-enrollment-state strong{color:var(--shell-text)}.calendar-enrollment-state p{margin:5px 0 0}.calendar-enrollment-state--warning{border:1px solid #efc69f;color:#74401d;background:#fff8ed}.calendar-enrollment-notice{justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 12px;border:1px solid var(--color-border);border-radius:10px;font-size:12px}.calendar-enrollment-notice--success{border-color:#b9d7c6;color:#14623c;background:#edf9f2}.calendar-enrollment-notice--warning{border-color:#efc69f;color:#74401d;background:#fff8ed}.calendar-enrollment-notice--error{border-color:#e8b3b3;color:#802a2a;background:#fff1f1}.calendar-participant-list,.calendar-enrollment-results ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.calendar-participant-row{padding:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-elevated)}.calendar-participant-summary{justify-content:space-between;gap:16px}.calendar-participant-identity{display:grid;min-width:0;gap:3px}.calendar-participant-identity a{color:var(--shell-accent-strong);font-size:14px;font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}.calendar-participant-identity span{color:var(--shell-muted);font-size:11px}.calendar-participant-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px}.calendar-participant-badge{padding:5px 8px;border-radius:999px;color:#4b5566;background:#edf0f4;font-size:10px;font-weight:800}.calendar-participant-badge[data-state=confirmation-confirmed],.calendar-participant-badge[data-state=attendance-attended]{color:#14623c;background:#e5f6ec}.calendar-participant-badge[data-state=confirmation-pending],.calendar-participant-badge[data-state=attendance-unmarked]{color:#76511d;background:#fff4d9}.calendar-participant-badge[data-state=confirmation-declined],.calendar-participant-badge[data-state=attendance-no_show]{color:#802a2a;background:#fde8e8}.calendar-participant-actions{align-items:flex-end;flex-wrap:wrap;gap:10px;margin-top:12px}.calendar-participant-actions label,.calendar-enrollment-search label{display:grid;gap:5px;color:var(--shell-muted);font-size:10px;font-weight:750}.calendar-participant-actions select,.calendar-enrollment-search input{min-height:44px;border:1px solid var(--shell-border);border-radius:10px;color:var(--shell-text);background:var(--color-surface-elevated);font:inherit}.calendar-participant-actions select{min-width:150px;padding:0 34px 0 10px}.calendar-participant-actions .button,.calendar-participant-remove-confirmation .button,.calendar-enrollment-section>.button,.calendar-enrollment-picker .button,.calendar-enrollment-notice .button{min-height:44px}.calendar-participant-remove-confirmation{flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px;border-radius:10px;background:#fff5f5}.calendar-participant-remove-confirmation p{width:100%;margin:0;color:#752e2e;font-size:12px}.button--danger{border-color:#a53737;color:#fff;background:#a53737}.calendar-enrollment-add,.calendar-enrollment-more{margin-top:12px}.calendar-enrollment-capacity-warning{margin:8px 0 0;color:#74401d;font-size:11px}.calendar-enrollment-picker{margin-top:14px;padding:14px;border:1px solid var(--shell-border);border-radius:14px;background:var(--color-surface-subtle)}.calendar-enrollment-picker>header{justify-content:space-between;gap:12px}.calendar-enrollment-picker h4{font-size:14px}.calendar-enrollment-picker__close{width:44px;height:44px;border:1px solid var(--shell-border);border-radius:10px;color:var(--shell-text);background:var(--color-surface-elevated);cursor:pointer;font-size:22px}.calendar-enrollment-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px}.calendar-enrollment-search input{width:100%;padding:0 12px}.calendar-enrollment-results{margin-top:10px;padding:8px;background:var(--color-surface-elevated)}.calendar-enrollment-result{display:grid;width:100%;min-height:52px;gap:3px;padding:9px 10px;border:1px solid var(--color-border);border-radius:10px;color:var(--shell-text);background:var(--color-surface-elevated);cursor:pointer;text-align:left}.calendar-enrollment-result[aria-pressed=true]{border-color:var(--shell-accent);box-shadow:0 0 0 2px var(--color-primary-soft)}.calendar-enrollment-result span,.calendar-enrollment-result small{color:var(--shell-muted);font-size:11px}.calendar-enrollment-picker>footer{justify-content:space-between;gap:12px;margin-top:12px;padding:0;color:var(--shell-muted);background:transparent;font-size:11px}.calendar-create-backdrop{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:24px;overflow-y:auto;background:var(--color-backdrop)}.calendar-create-dialog{width:min(820px,100%);max-height:calc(100dvh - 48px);overflow:hidden auto;border:1px solid var(--shell-border);border-radius:20px;color:var(--shell-text);background:var(--color-surface-elevated);box-shadow:0 24px 64px #070a093d}.calendar-create-form{display:grid;gap:18px;padding:24px}.calendar-create-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--shell-border)}.calendar-create-header p,.calendar-create-header h2,.calendar-create-header span,.calendar-create-error,.calendar-create-status{margin:0}.calendar-create-header p{color:var(--shell-accent-strong);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.calendar-create-header h2{margin-top:4px;font-size:24px}.calendar-create-header span{display:block;margin-top:7px;color:var(--shell-muted);font-size:13px}.calendar-create-close{width:44px;height:44px;flex:0 0 auto;border:1px solid var(--shell-border);border-radius:12px;color:var(--shell-text);background:var(--shell-surface);cursor:pointer;font-size:25px}.calendar-create-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-create-mode label,.calendar-create-weekdays label{display:flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--shell-border);border-radius:12px;background:var(--shell-surface);cursor:pointer;font-size:13px;font-weight:750}.calendar-create-mode label:has(input:checked),.calendar-create-weekdays label:has(input:checked){border-color:var(--shell-accent);color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.calendar-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-create-grid>label{display:grid;min-width:0;gap:6px;color:var(--shell-muted);font-size:11px;font-weight:800}.calendar-create-grid input,.calendar-create-grid select{width:100%;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--shell-surface);font:inherit;font-size:14px}.calendar-create-grid input:disabled,.calendar-create-grid select:disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface)}.calendar-create-grid small{color:var(--shell-muted);font-size:10px;font-weight:600}.calendar-create-wide{grid-column:1 / -1}.calendar-create-recurrence{display:grid;gap:14px;margin:0;padding:16px;border:1px solid var(--shell-border);border-radius:14px}.calendar-create-recurrence[hidden],.calendar-create-recurrence [hidden]{display:none}.calendar-create-recurrence legend{padding:0 7px;font-size:12px;font-weight:850}.calendar-create-students{display:grid;min-width:0;gap:12px;margin:0;padding:16px;border:1px solid var(--shell-border);border-radius:14px}.calendar-create-students legend{padding:0 7px;font-size:12px;font-weight:850}.calendar-create-students__hint,.calendar-create-students__selection-status,.calendar-create-students__request-status,.calendar-create-students__error{margin:0;font-size:12px}.calendar-create-students__hint,.calendar-create-students__selection-status,.calendar-create-students__request-status{color:var(--shell-muted)}.calendar-create-students__error{padding:10px 12px;border:1px solid var(--color-danger-border);border-radius:10px;color:var(--color-danger);background:var(--color-danger-surface)}.calendar-create-students__error:empty,.calendar-create-students__request-status:empty,.calendar-create-students__selected:empty{display:none}.calendar-create-students__search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.calendar-create-students__search label{grid-column:1 / -1;color:var(--shell-muted);font-size:11px;font-weight:800}.calendar-create-students__search input{width:100%;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--shell-surface);font:inherit}.calendar-create-students__selected{display:flex;min-width:0;flex-wrap:wrap;gap:8px}.calendar-create-student-chip{display:flex;min-width:0;max-width:100%;align-items:center;gap:9px;padding:7px 7px 7px 10px;border:1px solid var(--shell-accent);border-radius:12px;color:var(--shell-accent-strong);background:var(--shell-accent-soft)}.calendar-create-student-chip>span{display:grid;min-width:0}.calendar-create-student-chip strong,.calendar-create-student-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-create-student-chip strong{font-size:12px}.calendar-create-student-chip small{font-size:10px}.calendar-create-student-chip button{width:30px;height:30px;flex:0 0 auto;border:0;border-radius:8px;color:inherit;background:#ffffff94;cursor:pointer;font-size:19px}.calendar-create-students__results{display:grid;min-width:0;gap:7px}.calendar-create-student-row{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--shell-border);border-radius:11px;color:var(--shell-text);background:var(--shell-surface);cursor:pointer;text-align:left}.calendar-create-student-row[aria-selected=true]{border-color:var(--shell-accent);background:var(--shell-accent-soft)}.calendar-create-student-row>span:first-child{display:grid;min-width:0;gap:3px}.calendar-create-student-row strong,.calendar-create-student-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-create-student-row strong{font-size:13px}.calendar-create-student-row small{color:var(--shell-muted);font-size:11px}.calendar-create-student-row__status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.calendar-create-student-row__status--prospect{color:var(--color-warning);background:var(--color-warning-surface)}.calendar-create-student-row__status--active{color:var(--color-success);background:var(--color-success-surface)}.calendar-create-weekdays{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:7px}.calendar-create-weekdays input{position:absolute;width:1px;height:1px;opacity:0}.calendar-create-error:empty,.calendar-create-status:empty{display:none}.calendar-create-error,.calendar-create-status{padding:12px 14px;border-radius:12px;font-size:13px}.calendar-create-error{border:1px solid var(--color-danger-border);color:var(--color-danger);background:var(--color-danger-surface)}.calendar-create-status{color:var(--shell-muted);background:var(--color-surface-subtle)}.calendar-create-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:4px}.calendar-create-actions .button{min-height:44px}.calendar-create-dialog :focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}@keyframes calendar-loading{0%{transform:translate(-90%)}to{transform:translate(170%)}}@media(max-width:1439px){.calendar-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:768px)and (max-width:1279px){.calendar-renderer-page{padding-right:24px;padding-left:24px}.calendar-renderer-toolbar{grid-template-areas:"branch view filters filters" "date date create refresh";grid-template-columns:minmax(260px,1fr) max-content max-content 44px}.calendar-grid-scroll{max-height:62vh}.calendar-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.calendar-renderer-page{padding:24px 16px 92px}.calendar-renderer-page .shell-page-header{gap:24px;margin-bottom:24px}.calendar-renderer-toolbar{grid-template-areas:"branch branch branch" "view filters refresh" "date date date" "create create create";grid-template-columns:max-content minmax(0,1fr) 44px;gap:10px;padding:12px;border-radius:var(--shell-radius-medium)}.calendar-renderer-control--branch{width:100%}.calendar-filter-button{width:100%;justify-content:center}.calendar-create-button{width:100%}.calendar-date-navigation{width:100%;grid-template-columns:44px minmax(0,1fr) auto 44px}.calendar-renderer-surface{min-height:480px;border-radius:14px}.calendar-renderer-state{min-height:430px;padding:34px 20px}.calendar-day-heading{align-items:flex-start;flex-direction:column;padding:15px 16px}.calendar-derived-summary{width:100%}.calendar-derived-summary div{min-width:0;flex:1}.calendar-inline-empty{align-items:flex-start;flex-direction:column}.calendar-outside-list,.calendar-cancelled-list{padding:16px}.calendar-detail-dialog{width:100%;padding:20px 16px 88px}.calendar-participant-summary,.calendar-enrollment-section>header,.calendar-enrollment-picker>footer,.calendar-enrollment-notice{align-items:flex-start;flex-direction:column}.calendar-participant-badges{justify-content:flex-start}.calendar-participant-actions,.calendar-participant-actions label,.calendar-participant-actions select,.calendar-participant-actions .button,.calendar-enrollment-add,.calendar-enrollment-picker>footer .button{width:100%}.calendar-enrollment-search,.calendar-create-students__search{grid-template-columns:minmax(0,1fr)}.calendar-create-students__search label{grid-column:auto}.calendar-create-students__search .button,.calendar-create-students>.button{width:100%}.calendar-create-backdrop{align-items:stretch;padding:0}.calendar-create-dialog{width:100%;max-height:100dvh;border:0;border-radius:0}.calendar-create-form{min-height:100dvh;align-content:start;padding:18px 16px 88px}.calendar-create-grid{grid-template-columns:minmax(0,1fr)}.calendar-create-wide{grid-column:auto}.calendar-create-weekdays{grid-template-columns:repeat(4,minmax(44px,1fr))}.calendar-create-actions{align-items:stretch;flex-direction:column-reverse}.calendar-create-actions .button{width:100%}.calendar-week-heading{min-height:auto;align-items:stretch;flex-direction:column;padding:15px 16px}.calendar-week-grid{grid-template-columns:minmax(0,1fr);padding:10px}}@media(max-width:390px){.calendar-derived-summary{gap:5px}.calendar-derived-summary div{padding:6px 8px}.calendar-detail-list div{grid-template-columns:88px minmax(0,1fr);gap:10px}.calendar-create-mode{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.calendar-loading-bar:after{animation-duration:.01ms;animation-iteration-count:1}.calendar-occurrence,.calendar-detail-dialog,.calendar-detail-backdrop,.calendar-create-dialog,.calendar-create-backdrop{scroll-behavior:auto;transition-duration:.01ms}}.summary-row small{display:block;margin-top:3px;color:var(--color-text-muted);font-size:10px}.family-summary .priority-picker select{min-height:44px}.client360-overview,.client360-people,.client360-overview-card,.client360-person-card,.client360-people-group,.client360-person-sections,.client360-person-sections section{min-width:0}.client360-section-heading{align-items:flex-start}.client360-section-heading p,.client360-acquisition-heading p,.client360-actions-card>p,.client360-people-group>header p,.client360-person-title p{margin:5px 0 0;color:var(--color-text-muted);font-size:13px}.client360-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client360-overview-card>header,.client360-person-card>header,.client360-people-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.client360-overview-card>header span{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.client360-overview-card h3,.client360-person-card h3,.client360-people-group h3,.client360-unavailable h3{margin:3px 0 0;font-size:17px}.client360-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:18px 0 0}.client360-fact{min-width:0;padding:0 14px;border-left:1px solid var(--color-border)}.client360-fact:first-child{padding-left:0;border-left:0}.client360-fact:last-child{padding-right:0}.client360-fact dt,.client360-detail-list span,.client360-contact-summary{color:var(--color-text-muted);font-size:11px}.client360-fact dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:14px;font-weight:700}.client360-fact small{display:block;margin-top:4px;color:var(--color-text-muted);font-size:10px}.client360-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.client360-action-grid .button,.client360-person-card .button,.client360-inline-state .button{min-height:44px}.client360-warning-section{margin-top:26px}.client360-warning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client360-warning,.client360-all-clear,.client360-unavailable,.client360-inline-state{border:1px solid var(--color-warning-border);border-radius:14px;background:var(--color-warning-surface)}.client360-warning,.client360-unavailable{display:flex;align-items:flex-start;gap:12px;padding:15px}.client360-warning>span,.client360-unavailable>span{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--color-warning);background:var(--color-surface-elevated);font-weight:800}.client360-warning p,.client360-all-clear p,.client360-unavailable p{margin:4px 0 0;color:var(--color-text-secondary);font-size:12px}.client360-all-clear{padding:18px;border-color:var(--color-success-border);background:var(--color-success-surface)}.client360-acquisition-heading{margin-top:28px}.client360-acquisition-heading h2{margin:0;font-size:19px}.client360-inline-state{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:12px 14px;border-color:var(--color-info-border);background:var(--color-info-surface);color:var(--color-info);font-size:13px}.client360-inline-state--warning{border-color:var(--color-warning-border);background:var(--color-warning-surface);color:var(--color-warning)}.client360-people-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.client360-person-card{padding:18px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface)}.client360-person-card>header{align-items:center}.client360-person-title{flex:1 1 auto;min-width:0}.client360-person-title h3{overflow-wrap:anywhere}.client360-person-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border)}.client360-person-sections section+section{padding-left:18px;border-left:1px solid var(--color-border)}.client360-person-sections h4{margin:0 0 10px;font-size:12px}.client360-detail-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.client360-detail-list li{display:grid;min-width:0;gap:2px}.client360-detail-list strong,.client360-detail-list span,.client360-route,.client360-empty-inline{overflow-wrap:anywhere}.client360-detail-list strong{font-size:13px}.client360-route,.client360-empty-inline,.client360-contact-summary{margin:10px 0 0;font-size:12px}.client360-empty-inline{color:var(--color-text-muted)}.client360-empty-inline--warning{color:var(--color-warning)}.client360-contact-summary{padding-top:12px;border-top:1px dashed var(--color-border)}.client360-people-group+.client360-people-group,.client360-unavailable{margin-top:24px}.client360-people-group>header{margin-bottom:14px}.client360-count{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:10px;color:var(--color-info);background:var(--color-info-surface);font-size:12px;font-weight:800}.client360-unavailable{border-color:var(--color-border);background:var(--color-surface-subtle)}.client360-lessons-filter{display:grid;min-width:220px;gap:6px;color:var(--color-text-muted);font-size:12px;font-weight:700}.client360-lessons-filter select{min-height:44px}.client360-lessons-loading{margin:20px 0;color:var(--color-text-muted)}.client360-lessons-period{margin-top:24px}.client360-lessons-period>h3{margin:0 0 16px;font-size:18px}.client360-lessons-student+.client360-lessons-student{margin-top:22px}.client360-lessons-student>h4{margin:0 0 10px;color:var(--color-text-secondary);font-size:14px}.client360-lessons-list{display:grid;gap:12px}.client360-lesson-card{padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.client360-lesson-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.client360-lesson-card h5,.client360-lesson-card p{margin:0}.client360-lesson-card h5{font-size:15px}.client360-lesson-card p,.client360-lesson-card footer{margin-top:5px;color:var(--color-text-muted);font-size:12px}.client360-lesson-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0}.client360-lesson-card dt{color:var(--color-text-muted);font-size:11px}.client360-lesson-card dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.client360-lesson-card footer{padding-top:12px;border-top:1px solid var(--color-border)}.client360-lessons-more{min-height:44px;margin-top:20px}@media(max-width:780px){.client360-lessons .client360-section-heading,.client360-lesson-card>header{display:grid}.client360-lessons-filter{width:100%;min-width:0}.client360-lesson-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.client360-lesson-card dl{grid-template-columns:minmax(0,1fr)}}.client360-unavailable>span{color:var(--color-text-muted)}@media(max-width:1500px){.client360-overview-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1280px){.client360-person-sections{grid-template-columns:minmax(0,1fr);gap:12px}.client360-person-sections section+section{padding-top:14px;padding-left:0;border-top:1px solid var(--color-border);border-left:0}}@media(max-width:780px){.client360-warning-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.client360-facts{grid-template-columns:minmax(0,1fr);gap:12px}.client360-fact,.client360-fact:first-child{padding:0 0 12px;border-bottom:1px solid var(--color-border);border-left:0}.client360-fact:last-child{padding-bottom:0;border-bottom:0}}@media(max-width:480px){.client360-overview-card,.client360-person-card{padding:16px}.client360-person-card>header{align-items:flex-start;flex-wrap:wrap}.client360-person-card>header .avatar{flex:0 0 40px}.client360-person-card .person-card-actions{width:100%}.client360-person-card .person-card-actions .button{flex:1 1 10rem}.client360-action-grid{grid-template-columns:minmax(0,1fr)}.client360-inline-state{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.client360-overview,.client360-people{animation:none}}.acquisition-card{margin-bottom:22px;border-radius:var(--radius);overflow:hidden}.acquisition-card__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--color-border)}.acquisition-card__header h2,.acquisition-drawer h2{margin:0;font-size:20px}.acquisition-card__header .eyebrow,.acquisition-drawer .eyebrow{margin-bottom:4px}.acquisition-loading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:24px}.acquisition-loading>span:not(.sr-only){height:72px;border-radius:12px;background:linear-gradient(100deg,var(--color-disabled-surface) 20%,var(--color-surface-elevated) 42%,var(--color-disabled-surface) 64%);background-size:220% 100%;animation:acquisition-loading 1.4s ease-in-out infinite}.acquisition-state{padding:28px 24px;text-align:center}.acquisition-state p{margin:7px auto 18px;color:var(--color-text-muted)}.acquisition-attribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 24px 0}.acquisition-touch-summary{display:grid;gap:4px;min-width:0;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-info-surface)}.acquisition-touch-summary span,.acquisition-touch-summary small,.acquisition-details dt,.acquisition-history small{color:var(--color-text-muted);font-size:12px}.acquisition-touch-summary strong{color:inherit;font-size:16px}.acquisition-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:22px 24px;border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.acquisition-details>div{min-width:0;padding:13px 15px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.acquisition-details>div:nth-child(3n){border-right:0}.acquisition-details dt{margin-bottom:4px}.acquisition-details dd{margin:0;overflow-wrap:anywhere;color:inherit;font-size:13px;font-weight:600}.acquisition-empty-value{color:var(--color-text-muted);font-weight:400}.acquisition-history{margin:0 24px 24px;border-top:1px solid var(--color-border)}.acquisition-history summary{min-height:44px;padding:15px 0;cursor:pointer;font-weight:700}.acquisition-history summary span{display:inline-grid;min-width:24px;min-height:24px;margin-left:6px;place-items:center;border-radius:999px;background:var(--color-info-surface);color:var(--color-info);font-size:11px}.acquisition-history ol{display:grid;gap:0;margin:0;padding:0 0 4px;list-style:none}.acquisition-history li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;padding:10px 0}.acquisition-history__marker{width:10px;height:10px;margin-top:5px;border:2px solid var(--color-info);border-radius:50%;background:var(--color-surface)}.acquisition-history li div{display:grid;gap:3px}.acquisition-history p{margin:0;color:var(--color-text-muted);font-size:13px}.acquisition-backdrop{z-index:90;align-items:stretch;justify-content:flex-end}.acquisition-drawer{width:min(720px,100%);height:100%;overflow:auto;overflow-x:hidden;background:var(--color-surface);box-shadow:-22px 0 60px #14203840}.acquisition-drawer>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.acquisition-drawer form{padding:24px}.acquisition-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.acquisition-form-grid label{display:grid;min-width:0;gap:7px;color:inherit;font-size:13px;font-weight:600}.acquisition-form-grid input,.acquisition-form-grid select,.acquisition-form-grid textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:inherit}.acquisition-form-grid textarea{resize:vertical}.acquisition-form-wide{grid-column:1 / -1}.acquisition-form-error{min-height:22px;margin:16px 0 0;color:var(--color-danger);font-size:13px;font-weight:600}.acquisition-form-note{margin:8px 0 18px;color:var(--color-text-muted);font-size:12px}.acquisition-drawer footer{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--color-border)}.acquisition-drawer button:disabled{cursor:not-allowed;opacity:.55}@keyframes acquisition-loading{to{background-position-x:-220%}}@media(max-width:768px){.acquisition-details{grid-template-columns:repeat(2,minmax(0,1fr))}.acquisition-details>div,.acquisition-details>div:nth-child(3n){border-right:1px solid var(--color-border)}.acquisition-details>div:nth-child(2n){border-right:0}}@media(max-width:520px){.acquisition-card__header{align-items:stretch;flex-direction:column;padding:18px}.acquisition-attribution-grid,.acquisition-form-grid,.acquisition-loading,.acquisition-details{grid-template-columns:minmax(0,1fr)}.acquisition-attribution-grid{padding:18px 18px 0}.acquisition-details,.acquisition-history{margin-right:18px;margin-left:18px}.acquisition-details>div,.acquisition-details>div:nth-child(2n),.acquisition-details>div:nth-child(3n){border-right:0}.acquisition-drawer>header,.acquisition-drawer form{padding:18px}.acquisition-form-wide{grid-column:auto}.acquisition-drawer footer{align-items:stretch;flex-direction:column-reverse}.acquisition-drawer footer .button{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.acquisition-loading>span:not(.sr-only){animation:none}}.payments-panel{min-width:0}.payments-heading,.payments-ledger__heading,.payments-entry__main,.payments-entry__meta,.payments-dialog>header,.payments-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.payments-heading h2,.payments-ledger h3,.payments-dialog h2{margin:0}.payments-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.payments-summary{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.payments-summary article{display:flex;min-width:0;min-height:8.5rem;padding:1.25rem;flex-direction:column;justify-content:center;gap:.35rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-elevated)}.payments-summary span,.payments-summary small,.payments-entry time,.payments-entry__meta,.payments-dialog label span{color:var(--color-text-secondary)}.payments-summary strong{overflow-wrap:anywhere;font-size:clamp(1.35rem,3vw,2rem);line-height:1.15}.payments-summary .payments-balance{border-color:var(--color-aqua-line);background:linear-gradient(135deg,var(--color-selected),var(--color-surface-elevated))}.payments-balance strong{font-size:clamp(2rem,5vw,3.2rem)}.payments-ledger{min-width:0;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-elevated)}.payments-entry-list{display:grid;margin:1rem 0 0;padding:0;gap:.75rem;list-style:none}.payments-entry{min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.payments-entry__main>div{display:grid;min-width:0;gap:.2rem}.payments-entry__main strong,.payments-entry__details li,.payments-entry__meta span{overflow-wrap:anywhere}.payments-entry__amount{flex:0 0 auto;font-size:1.2rem;white-space:nowrap}.payments-entry__amount--credit{color:var(--color-success)}.payments-entry__amount--debit{color:var(--color-danger)}.payments-entry__details{display:flex;margin:.75rem 0;padding:0;flex-wrap:wrap;gap:.4rem;list-style:none}.payments-entry__details li{padding:.25rem .55rem;border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:.85rem}.payments-entry__meta{align-items:flex-end;flex-wrap:wrap;font-size:.9rem}.payments-entry__meta .text-button{min-height:2.75rem;margin-left:auto}.payments-empty,.payments-state{display:grid;min-height:12rem;place-content:center;justify-items:center;padding:1.5rem;text-align:center}.payments-more{display:block;margin:1rem auto 0}.payments-feedback{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem 1rem;border:1px solid;border-radius:14px}.payments-feedback button{min-height:2.75rem}.payments-feedback--success{border-color:var(--color-success-border);background:var(--color-success-surface);color:var(--color-success)}.payments-feedback--warning{border-color:var(--color-warning-border);background:var(--color-warning-surface);color:var(--color-warning)}.payments-dialog{position:relative;display:flex;width:min(32rem,100vw);height:100%;height:100dvh;max-width:100vw;margin-left:auto;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) 1.25rem;overflow-y:auto;flex-direction:column;gap:1rem;background:var(--color-surface-elevated);box-shadow:-20px 0 60px #070a0933}.payments-dialog>header{align-items:flex-start}.payments-dialog form,.payments-dialog label{display:grid;gap:.4rem}.payments-dialog form{gap:1rem}.payments-dialog input,.payments-dialog select,.payments-dialog textarea{width:100%;min-height:2.75rem;padding:.75rem;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-elevated)}.payments-dialog textarea{min-height:6.5rem;resize:vertical}.payments-dialog input:disabled,.payments-dialog select:disabled,.payments-dialog textarea:disabled,.payments-dialog input[readonly]{opacity:1;color:var(--color-text-secondary);background:var(--color-disabled-surface)}.payments-dialog__original{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:12px;background:var(--color-surface-subtle)}.payments-dialog__error{margin:0;padding:.75rem;border:1px solid var(--color-danger-border);border-radius:12px;background:var(--color-danger-surface);color:var(--color-danger)}.payments-dialog__actions{margin-top:auto;padding-top:.5rem}@media(max-width:780px){.payments-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-balance{grid-column:1 / -1}}@media(max-width:540px){.payments-heading,.payments-entry__main,.payments-entry__meta,.payments-feedback,.payments-dialog__actions{align-items:stretch;flex-direction:column}.payments-actions,.payments-actions .button,.payments-dialog__actions .button,.payments-feedback button{width:100%}.payments-summary{grid-template-columns:minmax(0,1fr)}.payments-balance{grid-column:auto}.payments-entry__amount{align-self:flex-start}.payments-entry__meta .text-button{width:100%;margin-left:0}.payments-dialog{width:100vw}}@media(prefers-reduced-motion:reduce){.payments-dialog,.payments-entry{scroll-behavior:auto;transition:none}}.room-rules-page{width:100%;max-width:1500px;margin:0 auto;padding:28px 32px 64px;color:var(--color-text-primary)}.settings-section-nav{display:flex;gap:6px;width:fit-content;max-width:100%;margin-bottom:24px;padding:4px;overflow-x:auto;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-glass)}.settings-section-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:10px;color:var(--color-text-secondary);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.settings-section-nav a[aria-current=page]{color:var(--color-text-primary);background:var(--color-selected)}.room-rules-header{display:flex;justify-content:space-between;gap:24px;margin-bottom:22px}.room-rules-header h1{margin-bottom:6px;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.035em}.room-rules-header>div>p:last-child,.room-rules-eyebrow,.room-panel-heading p,.room-management-card__copy p,.room-rules-toolbar__timezone{color:var(--color-text-muted)}.room-rules-header>div>p:last-child{max-width:720px;margin-bottom:0}.room-rules-eyebrow,.room-dialog__eyebrow{margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.room-rules-toolbar{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr) 44px;gap:12px;align-items:end;margin-bottom:10px;padding:12px 14px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-glass);box-shadow:0 8px 24px #070a090d}.room-rules-toolbar label,.room-dialog label,.room-blocked-picker>span{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:750}.room-rules-toolbar select,.room-dialog input:not([type=checkbox]),.room-dialog select,.room-dialog textarea{width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--color-border-strong);border-radius:10px}.room-dialog textarea{resize:vertical}.room-rules-toolbar__timezone{align-self:center;margin-top:19px;font-size:13px}.room-refresh,.room-dialog__close{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-primary);background:var(--color-surface-elevated);cursor:pointer}.room-refresh{font-size:22px}.room-rules-notice{min-height:24px;margin:0 2px 8px;font-size:14px;font-weight:700}.room-rules-notice--success{color:var(--color-success)}.room-rules-notice--error{color:var(--color-danger)}.room-rules-workspace{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr);gap:18px;align-items:start}.room-management-panel,.room-rules-panel{min-width:0;padding:18px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow)}.room-panel-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:15px}.room-panel-heading h2{margin-bottom:2px;font-size:20px}.room-panel-heading p{margin-bottom:0;font-size:12px}.room-panel-add{flex:0 0 auto;min-height:44px;padding-inline:14px}.room-management-list,.room-rule-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.room-management-card,.room-rule-card{min-width:0;padding:14px;overflow-wrap:anywhere;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface-elevated)}.room-management-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.room-management-card h3,.room-rule-card h3{margin:6px 0 2px;font-size:16px}.room-management-card__copy p,.room-rule-card header p{margin-bottom:0;font-size:12px}.room-status{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800}.room-status--active{color:var(--color-success);background:var(--color-success-surface)}.room-status--archived,.room-status--inactive{color:var(--color-text-secondary);background:var(--color-disabled-surface)}.room-card-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.room-management-card .room-card-actions{flex-direction:column}.room-action{min-height:44px;padding:8px 11px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-accent-active-text);background:var(--color-surface-elevated);font-size:12px;font-weight:800;cursor:pointer}.room-action--quiet{color:var(--color-text-secondary)}.room-rule-card header{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1.2fr);gap:16px;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.room-rule-card header p{color:var(--color-text-secondary)}.room-rule-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:14px 0}.room-rule-facts__wide{grid-column:1 / -1}.room-rule-facts dt{color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.room-rule-facts dd{margin:3px 0 0;font-size:13px;font-weight:650}.room-rules-empty,.room-rules-state{padding:28px 20px;text-align:center;border:1px dashed var(--color-border-strong);border-radius:15px;background:var(--color-surface-subtle)}.room-rules-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;border-style:solid}.room-rules-state h2,.room-rules-state p,.room-rules-empty h3,.room-rules-empty p{margin-bottom:0}.room-rules-state p{max-width:590px;color:var(--color-text-secondary)}.room-rules-spinner{width:36px;height:36px;border:3px solid var(--color-aqua-line);border-top-color:var(--color-accent-hover);border-radius:50%;animation:room-rules-spin .8s linear infinite}@keyframes room-rules-spin{to{transform:rotate(360deg)}}.room-dialog-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;overflow-y:auto;background:var(--color-backdrop)}.room-dialog{width:min(680px,100%);max-height:calc(100dvh - 48px);padding:22px;overflow:auto;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface-elevated);box-shadow:var(--shadow-elevated)}.room-dialog__header{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.room-dialog__header h2{margin-bottom:0;font-size:23px}.room-dialog__close{flex:0 0 44px;font-size:24px;line-height:1}.room-dialog form,.room-dialog>div,.room-form-grid{display:grid;gap:15px}.room-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-form-grid__wide{grid-column:1 / -1}.room-dialog label>span,.room-dialog__hint,.room-blocked-picker p{color:var(--color-text-muted);font-size:12px;font-weight:500}.room-dialog__hint,.room-blocked-picker p{margin-bottom:0}.room-blocked-picker{display:grid;gap:8px}.room-blocked-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-blocked-picker>div label{display:flex;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;font-size:13px;font-weight:650}.room-blocked-picker input{flex:0 0 auto;width:20px;height:20px}.room-dialog__error{min-height:20px;margin-bottom:0;color:var(--color-danger);font-size:13px;font-weight:700}.room-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.room-dialog__actions .button{min-height:44px}.room-impact-summary,.room-impact-loading{padding:16px;border:1px solid var(--color-warning-border);border-radius:14px;background:var(--color-warning-surface)}.room-impact-summary p:last-child,.room-impact-loading p:last-child{margin-bottom:0}.room-impact-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.room-impact-stats>div{min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-subtle)}.room-impact-stats dt{color:var(--color-text-muted);font-size:11px;font-weight:700}.room-impact-stats dd{margin:4px 0 0;font-size:24px;font-weight:800}.room-impact-stats__danger{color:var(--color-danger);border-color:var(--color-danger-border)!important;background:var(--color-danger-surface)!important}@media(max-width:1100px){.room-rules-page{padding-inline:24px}.room-rules-workspace{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.room-rule-card header{grid-template-columns:1fr;gap:8px}}@media(max-width:900px){.room-rules-workspace{grid-template-columns:minmax(0,1fr)}.room-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.room-rules-page{padding:20px 16px 104px}.settings-section-nav{width:100%;margin-bottom:18px}.settings-section-nav a{flex:1 0 auto;justify-content:center}.room-rules-toolbar{grid-template-columns:minmax(0,1fr) 44px}.room-rules-toolbar label{grid-column:1 / -1}.room-rules-toolbar__timezone{margin-top:0}.room-management-list,.room-rule-facts{grid-template-columns:1fr}.room-rule-facts__wide{grid-column:auto}.room-dialog-backdrop{place-items:end center;padding:12px}.room-dialog{max-height:calc(100dvh - 24px);padding:18px;border-radius:18px}}@media(max-width:480px){.room-rules-page{padding-inline:12px}.room-panel-heading,.room-management-card,.room-dialog__actions{align-items:stretch;grid-template-columns:minmax(0,1fr);flex-direction:column}.room-panel-heading{display:flex}.room-panel-add,.room-dialog__actions .button{width:100%}.room-management-card .room-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-form-grid,.room-blocked-picker>div,.room-impact-stats{grid-template-columns:minmax(0,1fr)}.room-form-grid__wide{grid-column:auto}}@media(max-width:340px){.room-management-panel,.room-rules-panel,.room-dialog{padding:14px}.room-management-card .room-card-actions,.room-card-actions{display:grid;grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.room-rules-spinner{animation:none}}.access-page{--access-ink: #1e2a28;--access-muted: #66736f;--access-line: #dce3df;--access-surface: #fff;--access-soft: #f3f7f4;--access-accent: #226b55;color:var(--access-ink);display:grid;gap:20px;margin:0 auto;max-width:1440px;padding:28px clamp(16px,3vw,44px) 56px}.access-page__body{display:grid;gap:20px;min-width:0}.access-header,.access-role-editor>header,.access-person-card>header,.access-role-list>header{align-items:flex-start;display:flex;justify-content:space-between;gap:20px}.access-header h1,.access-role-editor h2,.access-person-card h2,.access-role-list h2{margin:0}.access-header>div>p:last-child,.access-role-editor header p,.access-person-card header p,.access-role-list header p{color:var(--access-muted);margin:6px 0 0}.access-eyebrow{color:var(--access-accent);font-size:.75rem;font-weight:800;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.access-tabs{border-bottom:1px solid var(--access-line);display:flex;gap:8px}.access-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--access-muted);cursor:pointer;font:inherit;font-weight:700;padding:12px 16px}.access-tabs button[aria-current=page]{border-color:var(--access-accent);color:var(--access-ink)}.access-tabs button:focus-visible,.access-role-card:focus-visible,.access-template-list summary:focus-visible,.access-invitation-dialog :focus-visible,.access-teacher-dialog :focus-visible,.working-hours-dialog :focus-visible{outline:3px solid #65a78f;outline-offset:3px}.access-notice,.access-form-error,[data-create-role-error],[data-membership-error]{color:#9b2c2c;margin:0;min-height:1.4em}.access-role-workspace{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(250px,.7fr) minmax(520px,2fr)}.access-role-list,.access-role-editor,.access-person-card,.access-state{background:var(--access-surface);border:1px solid var(--access-line);border-radius:18px;box-shadow:0 10px 28px #1d322b0f}.access-role-list,.access-role-editor,.access-person-card,.access-state{padding:22px}.access-role-list__items{display:grid;gap:8px;margin-top:18px}.access-role-card{align-items:flex-start;background:var(--access-soft);border:1px solid transparent;border-radius:12px;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:14px;text-align:left;width:100%}.access-role-card--active{background:#e7f3ed;border-color:#86b7a5}.access-role-card span,.access-role-card small{display:block}.access-role-card small,.access-role-card__metrics,.access-count,.access-membership-status{color:var(--access-muted);font-size:.78rem}.access-role-card .access-role-card__description{margin-top:7px;max-width:28ch}.access-role-card__metrics{line-height:1.55;text-align:right}.access-create-role{background:var(--access-soft);border-radius:12px;display:grid;gap:12px;margin-top:16px;padding:14px}.access-template-list{border-top:1px solid var(--access-line);color:var(--access-muted);margin-top:20px;padding-top:16px}.access-template-list summary{color:var(--access-ink);cursor:pointer;font-weight:700}.access-template-list ul{display:grid;gap:9px;list-style:none;padding:0}.access-template-list li span{display:block;font-size:.82rem}.access-create-role label,.access-role-name{display:grid;font-weight:700;gap:7px}.access-create-role input,.access-role-name input{border:1px solid #aebbb6;border-radius:9px;font:inherit;padding:10px 12px}.access-role-editor form{display:grid;gap:18px;margin-top:22px}.access-runtime-note,.access-delegation-note,.access-boundary-copy{background:var(--access-soft);border-left:3px solid #77a995;color:var(--access-muted);margin:0;padding:12px 14px}.access-runtime-note p{margin:4px 0 0}.access-permission-groups{display:grid;gap:22px}.access-permission-domain h3{margin:0 0 10px}.access-permission-list{display:grid;gap:8px}.access-permission{align-items:flex-start;border:1px solid var(--access-line);border-radius:12px;display:flex;gap:11px;padding:13px}.access-permission--allowed{background:#f0f8f4;border-color:#b4d1c6}.access-permission input{margin-top:4px}.access-permission__copy,.access-permission__metadata{display:flex}.access-permission__copy{flex-direction:column;gap:7px}.access-permission__metadata{color:var(--access-muted);flex-wrap:wrap;font-size:.78rem;gap:5px}.access-permission__metadata span{background:#e9efec;border-radius:999px;padding:3px 8px}.access-owner-panel{background:linear-gradient(145deg,#f7f1df,#fff);border-color:#d8c892}.access-owner-mark{color:#9b7821;font-size:1.5rem}.access-owner-panel dl{display:grid;gap:10px;margin:22px 0 0}.access-owner-panel dl div{display:grid;grid-template-columns:120px 1fr}.access-owner-panel dt{color:var(--access-muted)}.access-owner-panel dd{margin:0}.access-people{display:grid;gap:16px}.access-people-header{align-items:center;display:flex;gap:20px;justify-content:space-between}.access-people-header h2,.access-people-header p{margin:0}.access-people-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.access-people-actions .button{min-height:44px}.access-availability-scope{align-items:end;background:var(--access-soft);border:1px solid var(--access-line);border-radius:14px;display:grid;gap:14px 22px;grid-template-columns:minmax(0,1fr) minmax(210px,300px);padding:16px}.access-availability-scope h3,.access-availability-scope p{margin:0}.access-availability-scope p{color:var(--access-muted);margin-top:5px}.access-availability-scope label,.working-hours-rule-picker,.working-hours-validity label{display:grid;font-weight:750;gap:7px}.access-availability-scope select,.working-hours-dialog input,.working-hours-dialog select{background:#fff;border:1px solid #9faeaa;border-radius:10px;color:var(--access-ink);font:inherit;min-height:44px;padding:9px 11px;width:100%}.access-availability-status{grid-column:1 / -1;min-height:1.3em}.access-person-card__actions{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.access-person-card__actions .button{min-height:44px}.access-teacher-pending{background:#fff1c7;border:1px solid #e5c062;border-radius:999px;color:#704900;font-size:.78rem;font-weight:750;padding:5px 10px;text-align:center}.access-people-header p{color:var(--access-muted);margin-top:5px}.access-person-sections{display:grid;gap:24px;grid-template-columns:1fr 1.4fr;margin-top:20px}.access-person-sections h3{margin:0 0 8px}.access-person-sections ul{list-style:none;margin:14px 0;padding:0}.access-person-sections li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:5px 0}.access-person-sections li span{color:var(--access-muted)}.access-role-checkboxes{display:grid;gap:7px;margin:14px 0}.access-role-checkboxes label{align-items:center;display:flex;gap:8px}.access-state{padding:44px;text-align:center}.access-invitation-backdrop,.access-teacher-backdrop,.working-hours-backdrop{align-items:center;background:#121f1b94;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:120}.access-invitation-dialog,.access-teacher-dialog,.working-hours-dialog{background:var(--access-surface);border:1px solid var(--access-line);border-radius:20px;box-shadow:0 24px 72px #0a1e183d;max-height:calc(100dvh - 32px);max-width:100%;overflow:auto;overflow-wrap:anywhere;padding:clamp(20px,4vw,30px);width:min(520px,calc(100vw - 32px))}.working-hours-dialog{width:min(980px,calc(100vw - 32px))}.access-invitation-dialog>header,.access-teacher-dialog>header,.working-hours-dialog>header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.access-invitation-dialog h2,.access-invitation-dialog>header p,.access-invitation-dialog>p,.access-teacher-dialog h2,.access-teacher-dialog>header p,.access-teacher-dialog>p,.working-hours-dialog h2,.working-hours-dialog>header p,.working-hours-dialog>p{margin-top:0}.access-invitation-dialog>p,.access-teacher-dialog>p{color:var(--access-muted);line-height:1.55}.working-hours-dialog>p{color:var(--access-muted);line-height:1.55}.working-hours-dialog form{display:grid;gap:18px;margin-top:18px}.working-hours-rule-picker{margin-top:18px}.working-hours-validity{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.working-hours-validity label span{color:var(--access-muted);font-size:.78rem;font-weight:500}.working-hours-week{display:grid;gap:12px}.working-hours-day{border:1px solid var(--access-line);border-radius:13px;display:grid;gap:12px;margin:0;min-width:0;padding:14px}.working-hours-day--invalid{border-color:#b33131}.working-hours-day legend{font-weight:800;padding-inline:5px}.working-hours-day__toggle{align-items:center;display:flex;font-weight:700;gap:9px}.working-hours-day__toggle input{min-height:20px;width:20px}.working-hours-day__intervals{display:grid;gap:10px;min-width:0}.working-hours-interval{align-items:end;display:grid;gap:9px;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) auto;min-width:0}.working-hours-interval label{display:grid;gap:5px;min-width:0}.working-hours-interval label span{color:var(--access-muted);font-size:.78rem;font-weight:700}.working-hours-interval .button,.working-hours-add{min-height:44px}.working-hours-add{justify-self:start}.working-hours-status{color:#9b2c2c;min-height:1.4em}.working-hours-readonly{background:#f7f1df;border-left:3px solid #9b7821;margin-bottom:0;padding:12px 14px}.working-hours-dialog footer,.working-hours-dialog footer>div{display:flex;flex-wrap:wrap;gap:10px}.working-hours-dialog footer{justify-content:space-between}.working-hours-dialog footer .button{min-height:44px}.access-invitation-close,.access-teacher-close{align-items:center;background:var(--access-soft);border:0;border-radius:999px;color:var(--access-ink);cursor:pointer;display:inline-flex;flex:0 0 44px;font:inherit;font-size:1.5rem;height:44px;justify-content:center;width:44px}.access-invitation-dialog form,.access-teacher-dialog form{display:grid;gap:18px;margin-top:24px}.access-teacher-choice{display:grid;gap:12px;margin-top:24px}.access-teacher-choice button{align-items:flex-start;background:var(--access-soft);border:1px solid var(--access-line);border-radius:14px;color:var(--access-ink);cursor:pointer;display:grid;gap:5px;min-height:76px;padding:15px;text-align:left;width:100%}.access-teacher-choice button:hover{border-color:var(--access-accent)}.access-teacher-choice button span,.access-teacher-path-copy,.access-teacher-candidate-status,.access-teacher-operational-note{color:var(--access-muted);font-weight:400;margin:0}.access-teacher-candidate-status{margin-top:-8px}.access-teacher-success{text-align:center}.access-teacher-success dl{background:var(--access-soft);border-radius:14px;display:grid;gap:12px;margin:22px 0;padding:16px;text-align:left}.access-teacher-success dl div{display:grid;gap:3px}.access-teacher-success dt{color:var(--access-muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.access-teacher-success dd{margin:0}.access-teacher-success>.button{min-height:44px}.access-invitation-dialog form>label,.access-teacher-dialog form>label{display:grid;font-weight:750;gap:8px}.access-invitation-dialog input,.access-invitation-dialog select,.access-teacher-dialog input,.access-teacher-dialog select{background:#fff;border:1px solid #9faeaa;border-radius:10px;color:var(--access-ink);font:inherit;min-height:44px;padding:10px 12px;width:100%}.access-invitation-error,.access-invitation-warning,.access-teacher-error{color:#9b2c2c;margin:0;min-height:1.4em}.access-invitation-empty{background:var(--access-soft);color:var(--access-muted);font-weight:400;margin:0;padding:12px}.access-invitation-dialog footer,.access-teacher-dialog footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.access-invitation-dialog footer .button,.access-invitation-success>.button,.access-teacher-dialog footer .button,.access-teacher-branch-status .button{min-height:44px}.access-teacher-branch-status{color:var(--access-muted);margin:-8px 0 0}.access-teacher-branch-status p{margin:0}.access-teacher-branch-status--error{align-items:flex-start;color:#9b2c2c;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.access-invitation-success{text-align:center}.access-invitation-success__mark{align-items:center;background:#e7f3ed;border-radius:999px;color:var(--access-accent);display:inline-flex;font-size:1.7rem;height:54px;justify-content:center;margin-bottom:14px;width:54px}.access-invitation-success dl{background:var(--access-soft);border-radius:14px;display:grid;gap:12px;margin:22px 0;padding:16px;text-align:left}.access-invitation-success dl div{display:grid;gap:3px}.access-invitation-success dt{color:var(--access-muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.access-invitation-success dd{margin:0}@media(max-width:860px){.access-role-workspace,.access-person-sections,.access-availability-scope{grid-template-columns:1fr}.access-role-editor{order:-1}}@media(max-width:560px){.access-page{padding-inline:12px}.access-tabs,.access-header,.access-people-header,.access-role-list>header,.access-role-editor>header,.access-person-card>header{align-items:stretch;flex-direction:column}.access-tabs button{flex:1}.access-invitation-backdrop,.access-teacher-backdrop,.working-hours-backdrop{align-items:flex-end;padding:0}.access-invitation-dialog,.access-teacher-dialog,.working-hours-dialog{border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:100dvh;padding:20px 16px max(20px,env(safe-area-inset-bottom));width:100%}.working-hours-validity,.working-hours-interval{grid-template-columns:1fr}.working-hours-interval>span{display:none}.working-hours-dialog footer,.working-hours-dialog footer>div{display:grid}.access-invitation-dialog footer,.access-teacher-dialog footer,.working-hours-dialog footer .button,.access-people-actions{display:grid}.access-invitation-dialog footer .button,.access-invitation-success>.button,.access-teacher-success>.button,.access-teacher-dialog footer .button,.working-hours-dialog footer .button,.access-people-actions .button{width:100%}}@media(max-width:340px){.access-page{padding-inline:8px}.access-invitation-dialog,.access-teacher-dialog,.working-hours-dialog{border-radius:0;max-height:100dvh}}@media(prefers-reduced-motion:reduce){.access-invitation-backdrop,.access-invitation-dialog,.access-teacher-backdrop,.access-teacher-dialog,.working-hours-backdrop,.working-hours-dialog{scroll-behavior:auto}}.client-app{--ah-bg: #f4f2ee;--ah-surface: #ffffff;--ah-text: #272321;--ah-text-muted: #675f5a;--ah-primary: #7448a3;--ah-on-primary: #ffffff;--ah-primary-soft: #ece5f3;--ah-primary-soft-text: #3f2d50;--ah-muted: #ece9e5;--ah-peach: #e9b486;--ah-peach-soft: #f7e7d8;--ah-teal: #6c9f99;--ah-teal-soft: #e1efed;--ah-success: #43835c;--ah-warning: #d29a54;--ah-border: #ded9d3;--ah-danger: #b65353;--ah-shadow-color: rgb(39 35 33 / 8%);--ah-backdrop: rgb(39 35 33 / 42%);--ah-active: var(--ah-primary);--ah-active-soft: var(--ah-primary-soft);--ah-active-text: var(--ah-on-primary);--ah-active-soft-text: var(--ah-primary-soft-text);--ah-card-radius: 14px;--ah-control-radius: 10px;--ah-pill-radius: 999px;min-height:100dvh;color:var(--ah-text);background:var(--ah-bg);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.4}.client-app[data-accent=peach]{--ah-active: var(--ah-peach);--ah-active-soft: var(--ah-peach-soft);--ah-active-text: var(--ah-text);--ah-active-soft-text: var(--ah-text)}.client-app[data-accent=teal]{--ah-active: var(--ah-teal);--ah-active-soft: var(--ah-teal-soft);--ah-active-text: var(--ah-text);--ah-active-soft-text: var(--ah-text)}.client-app *,.client-app *:before,.client-app *:after{box-sizing:border-box}.client-app h1,.client-app h2,.client-app h3,.client-app p{margin:0}.client-app h1{font-size:22px;line-height:1.22}.client-app h2,.client-app h3{font-size:16px;line-height:1.3}.client-app h1,.client-app h2,.client-app h3,.client-app strong{font-weight:500}.client-app button,.client-app a,.client-app select{font:inherit}.client-app button,.client-app a{-webkit-tap-highlight-color:transparent}.client-app :focus-visible{outline:3px solid var(--ah-primary);outline-offset:3px}.client-stage{width:min(100%,420px);min-height:100dvh;margin:0 auto;padding:16px 16px calc(92px + env(safe-area-inset-bottom));overflow-x:clip}.client-header,.client-row-between,.client-profile-row,.client-meta,.client-inline-actions,.client-theme-choices,.client-back-heading{display:flex;align-items:center;gap:12px}.client-header,.client-row-between{justify-content:space-between}.client-header{min-height:48px;margin-bottom:12px}.client-brand,.client-header__actions{display:flex;align-items:center;gap:8px}.client-brand>div{display:grid;gap:1px}.client-brand>div span{color:var(--ah-text-muted);font-size:12px}.client-brand__mark,.client-avatar,.client-icon-bubble,.client-state-icon{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%}.client-brand__mark{width:38px;height:38px;color:var(--ah-primary-soft-text);background:var(--ah-primary-soft)}.client-brand__mark .client-icon{width:21px;height:21px}.client-avatar{width:38px;height:38px;color:var(--ah-primary-soft-text);background:var(--ah-primary-soft)}.client-avatar--small{width:30px;height:30px;font-size:12px}.client-avatar--large{width:54px;height:54px;font-size:18px}.client-avatar--peach{color:var(--ah-text);background:var(--ah-peach-soft)}.client-avatar--teal{color:var(--ah-text);background:var(--ah-teal-soft)}.client-avatar-button,.client-icon-button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;color:var(--ah-text);border:0;border-radius:var(--ah-control-radius);background:transparent;cursor:pointer}.client-avatar-button:hover,.client-icon-button:hover{background:var(--ah-muted)}.client-icon{display:block;width:20px;height:20px;flex:0 0 auto}.client-person-switcher{display:flex;align-items:center;gap:8px;margin-bottom:16px;overflow:visible}.client-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:9px 13px;color:var(--ah-text);text-decoration:none;border:1px solid transparent;border-radius:var(--ah-control-radius);background:transparent;cursor:pointer}.client-button:disabled{cursor:not-allowed;opacity:.62}.client-button--primary{color:var(--ah-active-text);border-color:var(--ah-active);background:var(--ah-active)}.client-button--primary:hover:not(:disabled){box-shadow:inset 0 0 0 99px var(--ah-shadow-color)}.client-button--outline{border-color:var(--ah-border);background:var(--ah-surface)}.client-button--outline:hover:not(:disabled),.client-button--ghost:hover:not(:disabled){background:var(--ah-muted)}.client-button--ghost{color:var(--ah-text)}.client-button--block{width:100%}.client-screen{display:grid;gap:16px;min-width:0}.client-welcome,.client-stack,.client-section,.client-content-card,.client-card-stack,.client-choice-list,.client-field{display:grid;gap:7px;min-width:0}.client-welcome{gap:4px}.client-card{min-width:0;padding:16px;border:1px solid var(--ah-border);border-radius:var(--ah-card-radius);background:var(--ah-surface);box-shadow:0 7px 22px var(--ah-shadow-color)}.client-feature-card{display:grid;gap:13px;background:color-mix(in srgb,var(--ah-active) 7%,var(--ah-surface))}.client-muted,.client-meta,.client-helper{color:var(--ah-text-muted)}.client-small,.client-helper{font-size:12px}.client-status{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:4px 9px;border-radius:var(--ah-pill-radius);font-size:12px;line-height:1.2;white-space:nowrap;background:var(--ah-muted)}.client-status--attention{color:var(--ah-text);background:var(--ah-peach-soft)}.client-status--success{color:var(--ah-success);background:var(--ah-teal-soft)}.client-status--danger{color:var(--ah-danger);background:color-mix(in srgb,var(--ah-danger) 12%,var(--ah-surface))}.client-lesson-lead{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:13px}.client-date-block{display:grid;place-items:center;gap:2px;min-height:62px;padding:7px;color:var(--ah-active-soft-text);border-radius:12px;background:color-mix(in srgb,var(--ah-active) 22%,var(--ah-surface))}.client-date-block span{font-size:11px}.client-date-block strong{font-size:19px}.client-meta{align-items:flex-start;gap:7px;font-size:12px}.client-meta .client-icon{width:16px;height:16px;margin-top:1px}.client-inline-actions{flex-wrap:wrap;gap:8px}.client-account-summary{display:grid;gap:13px}.client-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.client-account-cell{display:grid;gap:4px;min-width:0;padding:2px 12px;border-right:1px solid var(--ah-border)}.client-account-cell:first-child{padding-left:0}.client-account-cell:last-child{padding-right:0;border-right:0}.client-account-cell strong{font-size:18px}.client-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-quick-grid .client-button:first-child{grid-column:1 / -1}.client-section{gap:10px}.client-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;color:var(--ah-primary-soft-text);border-radius:var(--ah-pill-radius);background:var(--ah-primary-soft)}.client-list,.client-day-list,.client-history-list,.client-family-list{display:grid;min-width:0}.client-list-row,.client-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:11px 0;border-bottom:1px solid var(--ah-border)}.client-list-row:last-child,.client-history-row:last-child,.client-lesson-row:last-child{border-bottom:0}.client-icon-bubble{width:34px;height:34px;color:var(--ah-primary-soft-text);background:var(--ah-primary-soft)}.client-icon-bubble .client-icon{width:17px;height:17px}.client-empty{display:grid;gap:4px;padding:16px;color:var(--ah-text-muted);text-align:center;border:1px dashed var(--ah-border);border-radius:var(--ah-card-radius);background:color-mix(in srgb,var(--ah-muted) 35%,var(--ah-surface))}.client-empty strong{color:var(--ah-text)}.client-page-heading{align-items:flex-start}.client-date-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.client-day-button{display:grid;place-items:center;gap:1px;min-width:0;padding-inline:4px}.client-day-list{margin-inline:-1px}.client-lesson-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:12px;padding:13px 0;border-bottom:1px solid var(--ah-border)}.client-time-column{display:grid;gap:3px}.client-helper{line-height:1.45}.client-step-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.client-step{display:grid;gap:5px;color:var(--ah-text-muted);font-size:12px}.client-step>span{width:12px;height:12px;border-radius:50%;background:var(--ah-muted)}.client-step--current{color:var(--ah-text)}.client-step--current>span{background:var(--ah-active)}.client-content-card{gap:13px}.client-choice-list{gap:8px}.client-booking-person{justify-content:flex-start;width:100%;text-align:left}.client-field{gap:6px}.client-field>span{font-weight:500}.client-field select{width:100%;min-height:44px;padding:8px 36px 8px 11px;color:var(--ah-text);border:1px solid var(--ah-border);border-radius:var(--ah-control-radius);background:var(--ah-surface)}.client-card-stack{gap:10px}.client-progress{height:7px;overflow:hidden;border-radius:var(--ah-pill-radius);background:var(--ah-muted)}.client-progress>span{display:block;width:var(--client-progress);height:100%;border-radius:inherit;background:var(--ah-active)}.client-bonus-card{background:color-mix(in srgb,var(--ah-teal-soft) 42%,var(--ah-surface))}.client-profile-row{justify-content:flex-start}.client-family-list{gap:12px}.client-theme-choices{flex-wrap:wrap;gap:7px}.client-color-dot,.client-unread{display:inline-block;width:12px;height:12px;flex:0 0 auto;border-radius:50%}.client-color-dot--plum,.client-unread{background:var(--ah-primary)}.client-color-dot--peach{background:var(--ah-peach)}.client-color-dot--teal{background:var(--ah-teal)}.client-list-row--message{grid-template-columns:auto minmax(0,1fr) 12px;padding-inline:12px}.client-back-heading{align-items:flex-start}.client-security{padding-top:4px}.client-offline{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;color:var(--ah-text);border:1px solid var(--ah-warning);border-radius:var(--ah-control-radius);background:var(--ah-peach-soft)}.client-state-screen{place-items:center;align-content:center;min-height:50dvh;padding:28px 18px;text-align:center}.client-state-screen p{max-width:30ch;color:var(--ah-text-muted)}.client-state-icon{width:54px;height:54px;color:var(--ah-primary-soft-text);background:var(--ah-primary-soft)}.client-skeleton{color:transparent;background:linear-gradient(90deg,var(--ah-muted),var(--ah-primary-soft),var(--ah-muted));background-size:200% 100%;animation:client-skeleton 1.6s ease-in-out infinite}.client-skeleton--title,.client-skeleton--line{width:min(70%,240px);height:18px;border-radius:var(--ah-control-radius)}.client-skeleton--line{width:min(88%,300px);height:12px}.client-app-note{min-height:20px;margin-top:12px;color:var(--ah-text-muted);font-size:12px}.client-bottom-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,420px);min-height:calc(72px + env(safe-area-inset-bottom));margin:0 auto;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border:1px solid var(--ah-border);border-bottom:0;border-radius:var(--ah-card-radius) var(--ah-card-radius) 0 0;background:color-mix(in srgb,var(--ah-surface) 96%,transparent);box-shadow:0 -7px 22px var(--ah-shadow-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.client-bottom-nav__item{display:grid;place-items:center;align-content:center;gap:3px;min-width:0;min-height:54px;padding:4px 2px;color:var(--ah-text-muted);text-align:center;text-decoration:none;border-radius:var(--ah-control-radius);font-size:10px;line-height:1.1}.client-bottom-nav__item--active{color:var(--ah-active-soft-text);background:var(--ah-active-soft)}.client-bottom-nav__item:hover{color:var(--ah-text);background:var(--ah-muted)}@keyframes client-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:360px){.client-stage{padding-inline:12px}.client-person-switcher{flex-wrap:wrap}.client-person-switcher .client-button{flex:1 1 auto}.client-lesson-lead{grid-template-columns:1fr}.client-date-block{grid-template-columns:auto auto;justify-content:start;min-height:44px;padding:9px 11px}.client-account-cell{padding-inline:9px}.client-account-cell strong{font-size:17px}.client-bottom-nav{padding-inline:2px}.client-bottom-nav__item{font-size:9px}}@media(prefers-reduced-motion:reduce){.client-app *,.client-app *:before,.client-app *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
