@import "https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Newsreader:opsz,wght@6..72,300..700&display=swap";.desktop-home-add,.desktop-today-date,.home-attention-heading,.home-attention-empty,.home-billing-snapshot,.home-week-preview,.assistant-compact-context,.session-compact-meta{display:none}.home-desktop-rail{display:contents}.home-attention-count,.home-attention-copy small{display:none}.home-attention-copy b{font:inherit}.home-attention-arrow{margin-left:var(--space-1)}@media (width>=900px){.home-layout{column-gap:calc(var(--space-10) + var(--space-2));min-height:calc(100vh - (var(--space-10) * 2));grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);align-items:start;display:grid}.home-layout>.intro{display:contents}.home-layout .intro-head{grid-area:1/1}.home-layout .intro-head .activity-shortcut{display:none}.home-layout .stats{margin:var(--space-3) 0 var(--space-8);grid-area:2/1}.home-layout .notice{grid-area:3/1/auto/-1}.desktop-home-add{z-index:var(--z-raised);grid-area:1/2/3;place-self:center end;margin:0;display:block;position:relative}.desktop-home-add .add-menu-trigger{gap:var(--space-3);width:auto;height:auto;min-height:44px;padding:var(--space-5) var(--space-9);border-radius:var(--radius-pill);background:var(--brand);color:#fff;font-size:var(--text-md);font-weight:650}.desktop-home-add .add-menu-label{color:inherit}.mobile-home-add{display:none}.home-layout .today{min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:4/1;align-self:start;margin:0;padding:0;display:block}.home-layout .today .section-title{margin:0 0 var(--space-4)}.home-layout .today .section-title h2,.home-attention-heading,.home-week-head h2{color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.desktop-today-date{color:var(--muted);font-size:var(--text-sm);margin-left:auto;display:inline}.home-layout .today .section-hint,.home-layout .today .home-panel-foot{display:none}.home-layout .today .home-panel-body{gap:var(--space-3);scrollbar-gutter:auto;flex:none;max-height:none;display:grid;overflow:visible}.home-layout .swipe-row{border-radius:var(--radius-inner);margin:0}.home-layout .session{gap:0 var(--space-5);min-height:68px;padding:var(--space-5) var(--space-7);border-radius:var(--radius-inner);background:var(--card);border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:70px 40px minmax(0,1fr) auto;display:grid}.home-layout .session.needs-answer{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.home-layout .session-stripe{display:none}.home-layout .session-avatar{width:38px;height:38px;font-size:var(--text-md);grid-area:1/2/3;align-self:center}.home-layout .session-person{display:contents}.home-layout .session-time{color:var(--muted);font-size:var(--text-md);grid-area:1/1/3;align-self:center}.home-layout .session-compact-duration{display:none}.home-layout .session-person strong{font-size:var(--text-xl);grid-area:1/3;align-self:end;margin:0;line-height:1.05}.home-layout .session-compact-meta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);grid-area:2/3;align-self:start;display:block}.home-layout .session-tag,.home-layout .session-more,.home-layout .session-attention-label{grid-area:1/4/3;place-self:center end}.home-layout .session-attention-label{min-width:118px;padding:var(--space-4) var(--space-7);border-radius:var(--radius-pill);background:var(--brand);color:#fff;font-size:var(--text-sm);text-align:center;font-weight:700}.home-layout .session-check{width:30px;height:30px}.home-layout .personal-block{gap:var(--space-5);min-height:46px;padding:var(--space-4) var(--space-7);border-radius:var(--radius-inner);background:color-mix(in srgb, var(--card) 62%, transparent);color:var(--muted);border:0;grid-template-columns:70px 1fr auto;margin:0;display:grid}.home-layout .personal-block b{color:var(--ink);font-size:var(--text-md)}.home-desktop-rail{gap:var(--space-7);flex-direction:column;grid-area:4/2;min-width:0;display:flex}.home-desktop-rail .home-attention{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block}.home-attention-heading{margin:0 0 var(--space-4);display:block}.home-desktop-rail .home-attention-icon,.home-desktop-rail .home-attention-body>strong{display:none}.home-desktop-rail .home-attention-body{display:block}.home-desktop-rail .home-attention-items{gap:var(--space-3);display:grid}.home-desktop-rail .home-attention-items button{gap:var(--space-4);width:100%;min-height:62px;padding:var(--space-5) var(--space-6);border-radius:var(--radius-inner);background:var(--sea-glass);color:#2c5265;text-align:left;border:1px solid #0000;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;display:grid}.home-desktop-rail .home-attention-items button[data-tone=urgent]{border-color:var(--danger);background:color-mix(in srgb, var(--card) 92%, var(--danger));color:var(--danger)}.home-attention-count{color:#fff;width:24px;height:24px;font-size:var(--text-sm);background:#35627a;border-radius:50%;place-items:center;font-weight:700;display:grid}button[data-tone=urgent] .home-attention-count{width:10px;height:10px;color:var(--danger);font-size:var(--text-2xl);background:0 0}.home-attention-copy{gap:var(--space-1);display:grid}.home-attention-copy b{color:currentColor;font-size:var(--text-md);font-weight:700}.home-attention-copy small{color:color-mix(in srgb, currentColor 78%, var(--muted));font-size:var(--text-sm);display:block}.home-attention-arrow{font-size:var(--text-lg);margin:0}.home-attention-empty{padding:var(--space-6);border-radius:var(--radius-inner);background:color-mix(in srgb, var(--card) 65%, transparent);color:var(--muted);font-size:var(--text-md);margin:0;display:block}.home-billing-snapshot{width:100%;padding:var(--space-7);border-radius:var(--radius-inner);color:#e6efe8;text-align:left;background:#1f4337;border:0;display:grid;position:relative}.home-billing-kicker{color:#b9cec2;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.home-billing-days{top:var(--space-7);right:var(--space-7);color:#c9d8d0;font-size:var(--text-xs);position:absolute}.home-billing-snapshot>strong{margin-top:var(--space-1);font-family:var(--font-display);font-size:calc(var(--text-4xl) + var(--space-2));font-weight:400;line-height:1}.home-billing-meta{margin-top:var(--space-3);color:#c4d4cb;font-size:var(--text-sm)}.home-billing-progress{height:4px;margin-top:var(--space-6);border-radius:var(--radius-pill);background:#ffffff30;overflow:hidden}.home-billing-progress i{border-radius:inherit;background:#91c2a7;height:100%;display:block}.home-billing-note{margin-top:var(--space-5);padding-top:var(--space-5);color:#d4e0d9;font-size:var(--text-sm);border-top:1px solid #ffffff20}.home-week-preview{display:block}.home-week-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.home-week-head h2{margin:0}.home-week-head button,.home-week-row button{color:var(--brand);font:inherit;background:0 0;border:0}.home-week-head button{color:#9b5a27;font-size:var(--text-sm);font-weight:650}.home-week-rows{border-radius:var(--radius-inner);background:color-mix(in srgb, var(--card) 82%, transparent);overflow:hidden}.home-week-row{min-height:42px;padding:0 var(--space-5);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);grid-template-columns:54px minmax(50px,1fr) auto;align-items:center;display:grid}.home-week-row:last-child{border-bottom:0}.home-week-day{text-align:left;padding:0;color:var(--muted)!important}.home-week-colors{gap:var(--space-1);display:flex}.home-week-colors i{border-radius:var(--radius-pill);width:4px;height:16px}.home-week-summary,.home-week-add{padding:var(--space-3) 0 var(--space-3) var(--space-4);text-align:right;color:var(--muted)!important;font-size:var(--text-sm)!important}.home-week-empty{color:var(--muted)}.home-week-add{color:var(--brand)!important;font-weight:650!important}.home-layout>.assistant-compact{z-index:var(--z-dock);bottom:var(--space-6);width:100%;height:auto;min-height:0;max-height:none;margin:var(--space-8) 0 0;background:0 0;border:0;grid-area:5/1;align-self:end;padding:0;display:block;position:sticky;overflow:visible;box-shadow:0 10px 26px #1b2a2210}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-title-row,.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-thread{display:none}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-composer{background:0 0;border:0;padding:0;position:relative}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .chat textarea{height:50px;min-height:50px;padding:var(--space-6) calc(var(--space-11) * 4) var(--space-6) calc(var(--space-11) + var(--space-9));border-radius:var(--radius-pill);background:var(--card);box-shadow:none;font-size:var(--text-md);resize:none;border:0;line-height:1.3;overflow:hidden}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .chat button{display:none}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-icon{top:50%;left:var(--space-6);z-index:var(--z-raised);color:var(--brand);pointer-events:none;display:grid;position:absolute;transform:translateY(-50%)}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-icon svg{width:18px;height:18px}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-context{top:50%;right:var(--space-7);color:var(--muted);font-size:var(--text-xs);pointer-events:none;display:block;position:absolute;transform:translateY(-50%)}.home-layout>.assistant-compact.has-content,.home-layout>.assistant-compact:focus-within{right:var(--space-8);bottom:var(--space-8);width:min(520px, calc(100vw - (var(--space-8) * 2)));height:min(660px, calc(100dvh - (var(--space-8) * 2)));min-height:420px;max-height:calc(100dvh - (var(--space-8) * 2));padding:var(--space-8);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--lift-high);margin:0;display:flex;position:fixed;left:auto;overflow:hidden}.home-layout>.assistant-compact.has-content .assistant-compact-context,.home-layout>.assistant-compact:focus-within .assistant-compact-context{display:none}}.editor.session-editor{width:min(100%, calc(var(--space-11) * 27));max-height:calc(100dvh - (var(--space-4) * 2));padding:calc(var(--space-11) + var(--space-6));border:var(--space-px) solid var(--line);background:var(--card)}.session-editor .editor-head{margin-bottom:var(--space-10)}.session-editor .editor-head h2{align-items:center;gap:var(--space-7);margin-top:var(--space-3);font-family:var(--font-display);font-size:calc(var(--text-4xl) + var(--space-6));font-weight:450;line-height:1;display:flex}.session-editor-client-dot{width:var(--space-9);height:var(--space-9);border-radius:50%;flex:none}.session-editor-subtitle{margin-top:var(--space-6);color:var(--muted);font-size:var(--text-2xl);display:block}.session-editor .editor-head button{width:calc(var(--space-11) * 2);height:calc(var(--space-11) * 2);background:var(--paper);font-family:var(--font-body);font-size:var(--text-4xl);border-radius:50%;font-weight:300}.session-editor-fields{gap:var(--space-10);display:grid}.session-editor .session-editor-student,.session-editor .session-editor-core label{margin:0}.editor.session-editor input,.editor.session-editor select{min-height:calc(var(--space-11) * 2);padding:var(--space-8) var(--space-10);border-color:color-mix(in srgb, var(--sage) 50%, var(--line));border-radius:var(--radius-inner);font-size:var(--text-2xl);background:#fff}.session-editor .session-editor-core{gap:var(--space-8);grid-template-columns:1.35fr 1fr .7fr}.session-editor .session-summary{justify-content:space-between;align-items:center;gap:var(--space-8);margin:var(--space-10) 0 0;padding:var(--space-7) var(--space-10);border-radius:var(--radius-inner);font-size:var(--text-xl);display:flex}.session-editor .session-summary.has-conflict{background:var(--danger-mist);color:var(--danger)}.session-editor-section{margin-top:calc(var(--space-11) + var(--space-6))}.session-editor .edit-scope,.session-editor-status{border:0;margin:0;padding:0;display:block}.session-editor .edit-scope legend,.session-editor-status legend{margin-bottom:var(--space-8);color:var(--muted);font-size:var(--text-lg);letter-spacing:.07em;text-transform:uppercase;padding:0;font-weight:700}.session-editor-segmented,.session-editor-status-options{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-pill);background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.session-editor .session-editor-segmented label,.session-editor .session-editor-status-options label{min-width:0;min-height:0;color:var(--muted);font-size:var(--text-xl);letter-spacing:0;text-align:center;text-transform:none;cursor:pointer;margin:0;font-weight:650;display:block}.session-editor .session-editor-segmented span,.session-editor .session-editor-status-options span{min-height:calc(var(--space-11) * 2);padding:var(--space-5) var(--space-8);border:var(--space-px) solid transparent;border-radius:var(--radius-pill);place-content:center;display:grid}.session-editor .session-editor-segmented input:checked+span{background:var(--deep-ink);color:#fff}.session-editor .session-editor-status-options input:checked+span{border-color:var(--brand);background:var(--sage-mist);color:var(--deep-ink)}.session-editor .session-editor-segmented label:focus-within span,.session-editor .session-editor-status-options label:focus-within span{outline:calc(var(--space-px) * 2) solid var(--brand);outline-offset:var(--space-1)}.session-editor .visually-hidden{width:var(--space-px);height:var(--space-px);min-height:0;margin:calc(var(--space-px) * -1);white-space:nowrap;clip-path:inset(50%);border:0;padding:0;position:absolute;overflow:hidden}.session-editor-help{margin:var(--space-7) 0 0;color:var(--muted);font-size:var(--text-xl);line-height:1.45}.session-editor .conflict-warning,.session-editor .form-error,.session-editor .editor-note{margin-top:var(--space-8)}.session-editor-footer{margin:calc(var(--space-11) + var(--space-6)) calc((var(--space-11) + var(--space-6)) * -1) calc((var(--space-11) + var(--space-6)) * -1);padding:var(--space-11) calc(var(--space-11) + var(--space-6));border-top:var(--space-px) solid var(--line)}.session-editor-footer .save-session{min-height:calc(var(--space-11) * 3);border-radius:var(--radius-pill);background:var(--brand);font-size:var(--text-2xl);margin:0}.session-editor-secondary-actions{justify-content:space-between;align-items:center;gap:var(--space-8);margin-top:var(--space-9);display:flex}.session-editor-secondary-actions .recurring-add,.session-editor-secondary-actions .cancel-session{width:auto;min-height:calc(var(--space-11) + var(--space-6));padding:var(--space-4) 0;font-size:var(--text-xl);text-align:left;background:0 0;border:0;border-radius:0;margin:0}.session-editor-secondary-actions .cancel-session{color:var(--danger);text-align:right}@media (width>=700px){.editor-backdrop:has(.session-editor){align-items:center}}@media (width<=559px){.editor-backdrop:has(.session-editor){padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,var(--space-0)))}.editor.session-editor{max-height:calc(100dvh - var(--space-2));padding:var(--space-10);border-radius:var(--radius-card) var(--radius-card) var(--space-0) var(--space-0)}.session-editor .editor-head{margin-bottom:var(--space-9)}.session-editor .editor-head h2{font-size:var(--text-4xl)}.session-editor-client-dot{width:var(--space-7);height:var(--space-7)}.session-editor-subtitle{margin-top:var(--space-4);font-size:var(--text-xl)}.session-editor .editor-head button{width:calc(var(--space-11) + var(--space-8));height:calc(var(--space-11) + var(--space-8))}.session-editor .session-editor-core{grid-template-columns:minmax(0,1fr) minmax(0,.65fr)}.session-editor .session-editor-core label:first-child{grid-column:1/-1}.editor.session-editor input,.editor.session-editor select{min-height:calc(var(--space-11) + var(--space-10));padding:var(--space-6) var(--space-8);font-size:var(--text-xl)}.session-editor .session-summary{padding:var(--space-7) var(--space-8);font-size:var(--text-lg);align-items:flex-start}.session-editor-section{margin-top:var(--space-11)}.session-editor .session-editor-segmented label,.session-editor .session-editor-status-options label{font-size:var(--text-lg)}.session-editor .session-editor-segmented span,.session-editor .session-editor-status-options span{min-height:calc(var(--space-11) + var(--space-10));padding:var(--space-4) var(--space-5)}.session-editor-help{font-size:var(--text-lg)}.session-editor-footer{margin:var(--space-11) calc(var(--space-10) * -1) calc(var(--space-10) * -1);padding:var(--space-9) var(--space-10) calc(var(--space-9) + env(safe-area-inset-bottom,var(--space-0)))}.session-editor-footer .save-session{min-height:calc(var(--space-11) * 2)}.session-editor-secondary-actions{align-items:flex-start}.session-editor-secondary-actions .recurring-add,.session-editor-secondary-actions .cancel-session{font-size:var(--text-lg)}}.assistant-source-note,.assistant-error{margin:var(--space-5) 0 0;font-size:var(--text-sm);line-height:1.4}.assistant-source-note{color:var(--muted)}.assistant-error{color:var(--danger)}.assistant-proposal{margin-top:var(--space-6);padding:var(--space-6);border-radius:var(--radius-field);background:var(--card);border:1px solid #b8c9b8}.assistant-proposal>span,.assistant-proposal>strong,.assistant-proposal>small{display:block}.assistant-proposal>span{color:var(--brand);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.assistant-proposal>strong{margin-top:var(--space-2);font-size:var(--text-lg);line-height:1.45}.assistant-proposal>small{margin-top:var(--space-3)}.assistant-affected{max-height:150px;margin:var(--space-4) 0 0;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-10);border-radius:var(--radius-field);background:var(--soft);color:var(--ink);font-size:var(--text-sm);line-height:1.5;overflow:auto}.assistant-proposal>div{gap:var(--space-4);margin-top:var(--space-5);display:flex}.assistant-proposal button{border-radius:var(--radius-field);min-height:38px;padding:var(--space-4) var(--space-5);font-size:var(--text-md);border:0;font-weight:600}.assistant-confirm{background:var(--brand-fill);color:#fff}.assistant-dismiss{background:var(--soft);color:var(--brand)}.assistant button:disabled{opacity:var(--disabled-opacity)}.notice button{float:right;margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) calc(var(--space-2) * -1) var(--space-5);border-radius:var(--radius-field);padding:var(--space-2) var(--space-4);background:var(--card);color:#29434a;border:0;font-weight:600}.personal-block{color:#29434a;text-align:left;width:100%}.check-label{align-items:center;gap:var(--space-4);color:var(--ink)!important;font-size:var(--text-lg)!important;letter-spacing:0!important;text-transform:none!important;display:flex!important}.conflict-warning{margin-top:var(--space-6);padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner);background:var(--soft);color:var(--brand);font-size:var(--text-md)}.conflict-warning p{margin:0 0 var(--space-5);line-height:1.45}.conflict-warning button{border-radius:var(--radius-pill);padding:var(--space-4) var(--space-7);background:var(--brand-fill);color:#fff;font-size:var(--text-md);border:0;font-weight:500}.archive-block{width:100%;margin-top:var(--space-4);padding:var(--space-5);border-radius:var(--radius-field);background:var(--card);color:var(--danger);border:1px solid #dfb4aa;font-weight:600}.client-form-card{padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.client-form-card fieldset{margin:var(--space-8) 0 0;padding:0 var(--space-6) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field)}.client-form-card legend{float:left;width:100%;margin-bottom:var(--space-5);color:var(--brand);font-size:var(--text-sm);padding:0;font-weight:600;line-height:1.3}.client-form-card fieldset{padding-top:var(--space-6)}.client-form-card label{margin-top:var(--space-6);color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:block}.client-form-card input{box-sizing:border-box;width:100%;margin-top:var(--space-2);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);font-size:var(--text-xl);display:block}.form-actions,.client-toolbar{align-items:center;gap:var(--space-5);margin-top:var(--space-8);display:flex}.form-actions button,.client-toolbar button{min-height:44px;padding:var(--space-5) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);font-weight:600}.form-actions .save-session,.client-toolbar .save-session{border-color:var(--brand);background:var(--brand);color:#fff}.client-toolbar{margin-top:var(--space-2);margin-bottom:var(--space-8);justify-content:flex-start}.client-toolbar label{color:var(--muted);font-size:var(--text-md)}.client-contact{gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-field);background:var(--soft);font-size:var(--text-lg);display:grid}.client-contact span{color:var(--muted);font-size:var(--text-md)}.colour-picker .swatches{gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.colour-picker .swatch{cursor:pointer;width:44px;height:44px;font-size:var(--text-2xl);border-radius:50%;justify-content:center;align-items:center;margin:0;font-weight:600;line-height:1;display:flex}.colour-picker .swatch input{width:1px;height:1px;margin:calc(var(--space-px) * -1);white-space:nowrap;clip-path:inset(50%);border:0;padding:0;position:absolute;overflow:hidden}.colour-picker .swatch.selected{box-shadow:0 0 0 2px #fffdf8,0 0 0 4px}.colour-picker .swatch:focus-within{outline:3px solid var(--brand);outline-offset:3px}.visually-hidden{width:1px;height:1px;margin:calc(var(--space-px) * -1);white-space:nowrap;clip-path:inset(50%);border:0;padding:0;position:absolute;overflow:hidden}.archive-button{color:var(--danger)!important}.cancel-session{width:100%;margin-top:var(--space-4);padding:var(--space-6);border-radius:var(--radius-pill);background:var(--soft);color:var(--danger);font-size:var(--text-lg);border:0;font-weight:500}.form-error{color:var(--danger);line-height:1.45}.cancelled-history{margin-top:var(--space-8);padding-top:var(--space-7);border-top:1px solid var(--line)}.cancelled-history h3{margin:0 0 var(--space-4);color:var(--muted);font-size:var(--text-md);text-transform:uppercase;letter-spacing:.06em}.cancelled-session{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-field);background:var(--danger-mist);color:var(--danger);font-size:var(--text-md);display:flex}.cancelled-session+.cancelled-session{margin-top:var(--space-3)}.cancelled-session button{border-radius:var(--radius-field);padding:var(--space-3) var(--space-4);background:var(--card);color:var(--danger);border:0;font-weight:600}.recurrence-panel{margin-top:var(--space-8);padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);background:var(--card)}.recurrence-panel-head{margin-bottom:var(--space-6);justify-content:space-between;align-items:end;display:flex}.recurrence-panel-head p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.recurrence-panel-head h2{margin:0;font:600 19px Cormorant Garamond,Georgia,serif}.recurrence-panel-head>span{color:var(--muted);font-size:var(--text-sm)}.recurrence-rule{padding:var(--space-6) 0;border-top:1px solid var(--line)}.recurrence-rule strong,.recurrence-rule span,.recurrence-rule small{display:block}.recurrence-rule span,.recurrence-rule small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.recurrence-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.recurrence-actions button,.recurrence-exceptions button{border-radius:var(--radius-field);padding:var(--space-3) var(--space-4);background:var(--soft);color:var(--brand);font-size:var(--text-sm);border:0;font-weight:600}.recurrence-actions .danger-link{background:var(--danger-mist);color:var(--danger)}.recurrence-exceptions{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.recurrence-exceptions h3{margin:0 0 var(--space-4);font-size:var(--text-md)}.recurrence-exceptions div{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.activity-page{padding-bottom:var(--space-10)}.activity-readonly{gap:var(--space-2);margin-bottom:var(--space-8);padding:var(--space-6) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--soft);display:grid}.activity-readonly b{color:var(--brand);font-size:var(--text-md)}.activity-readonly span{color:var(--muted);font-size:var(--text-md);line-height:1.45}.activity-filters{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.activity-filters label{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600;display:grid}.activity-filters select,.activity-filters input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-field);width:100%;min-width:0;padding:var(--space-4) var(--space-5);background:var(--card);color:var(--ink);font-size:var(--text-lg);letter-spacing:0;text-transform:none}.activity-search{grid-column:1/-1}.activity-filters>button,.activity-load-error button{border-radius:var(--radius-field);padding:var(--space-4) var(--space-5);background:var(--brand);color:#fff;font-size:var(--text-md);border:0;grid-column:1/-1;font-weight:600}.activity-filters>button:disabled{cursor:wait;opacity:var(--disabled-opacity)}.activity-count{margin:0 0 var(--space-4);color:var(--muted);font-size:var(--text-sm);font-weight:500}.activity-timeline{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.activity-entry{gap:var(--space-5);grid-template-columns:12px 1fr;align-items:start;display:grid}.activity-marker{width:9px;height:9px;margin-top:var(--space-8);border:2px solid var(--card);background:var(--area-other);box-shadow:0 0 0 1px var(--area-other);border-radius:50%}.activity-schedule .activity-marker{background:var(--area-schedule);box-shadow:0 0 0 1px var(--area-schedule)}.activity-ai .activity-marker{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}.activity-clients .activity-marker{background:var(--area-clients);box-shadow:0 0 0 1px var(--area-clients)}.activity-billing .activity-marker{background:var(--area-billing);box-shadow:0 0 0 1px var(--area-billing)}.activity-entry article{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card)}.activity-entry-head{gap:var(--space-5);justify-content:space-between;align-items:start;display:flex}.activity-entry-head strong{color:var(--ink);font-size:var(--text-lg);line-height:1.35}.activity-entry-head span{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);background:var(--soft);color:var(--brand);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;flex:none;font-weight:600}.activity-entry p{margin:var(--space-3) 0;color:var(--muted);font-size:var(--text-md);line-height:1.45}.activity-entry small{color:var(--brand);font-size:var(--text-xs)}.activity-empty,.activity-load-error{padding:var(--space-8);border:1px dashed var(--sage);border-radius:var(--radius-field);background:var(--paper);color:var(--muted);font-size:var(--text-lg);line-height:1.45}.activity-load-error p{margin:0 0 var(--space-5);color:var(--danger)}@media (width<=380px){.activity-filters{grid-template-columns:1fr}.activity-search,.activity-filters>button{grid-column:1}.activity-entry-head{display:grid}.activity-entry-head span{justify-self:start}}.reports-page{padding-bottom:var(--space-11)}.reports-scope-note{gap:var(--space-2);margin-bottom:var(--space-7);padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);background:var(--card);display:grid}.reports-scope-note b{color:var(--brand);font-size:var(--text-lg)}.reports-scope-note span{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.reports-presets{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.reports-presets button,.reports-range button,.reports-toolbar button,.reports-error button{border:1px solid var(--line);border-radius:var(--radius-field);padding:var(--space-4) var(--space-5);background:var(--card);color:var(--brand);font-size:var(--text-sm);font-weight:600}.reports-presets button.selected{border-color:var(--brand);background:var(--brand);color:var(--card)}.reports-range{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);grid-template-columns:1fr 1fr;display:grid}.reports-range label{gap:var(--space-2);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:grid}.reports-range input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-field);width:100%;min-width:0;padding:var(--space-4);background:var(--card);color:var(--ink);font-size:var(--text-md)}.reports-range button{background:var(--brand);color:var(--card);border:0;grid-column:1/-1}.reports-client-filter{gap:var(--space-4);margin:var(--space-5) 0 0;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);display:grid}.reports-client-filter legend{padding:0 var(--space-2);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.reports-client-filter>button{border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);background:var(--card);color:var(--brand);font-size:var(--text-xs);justify-self:start;font-weight:600}.reports-client-filter>button.selected{border-color:var(--brand);background:var(--brand);color:var(--card)}.reports-client-filter>div{gap:var(--space-3);grid-template-columns:1fr 1fr;max-height:170px;display:grid;overflow-y:auto}.reports-client-filter label{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-4);border-radius:var(--radius-field);background:var(--soft);color:var(--ink);font-size:var(--text-sm);display:flex}.reports-client-filter label input{flex:none;margin:0}.reports-client-filter label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reports-client-filter label small{color:var(--muted);font-size:var(--text-2xs);text-transform:uppercase;margin-left:auto}.reports-client-filter>p{color:var(--muted);font-size:var(--text-sm);margin:0}.reports-client-selection{color:var(--muted);font-size:var(--text-2xs)}.reports-toolbar{justify-content:space-between;align-items:center;gap:var(--space-5);margin:var(--space-6) 0;display:flex}.reports-toolbar>span{color:var(--muted);font-size:var(--text-xs);font-weight:500}.reports-toolbar>div{gap:var(--space-3);display:flex}.reports-toolbar button{padding:var(--space-3) var(--space-4);font-size:var(--text-xs)}.reports-toolbar button:last-child{background:var(--brand);color:var(--card);border:0}.reports-toolbar button:disabled{cursor:wait;opacity:var(--disabled-opacity)}.reports-section{margin-top:var(--space-6);padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);background:var(--card)}.reports-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.reports-section-head h2{margin:0;font:600 17px Cormorant Garamond,Georgia,serif}.reports-section-head span{color:var(--muted);font-size:var(--text-2xs)}.reports-client-list article{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--line);display:flex}.reports-client-list article>div{gap:var(--space-1);min-width:0;display:grid}.reports-client-list b{color:var(--brand);font-size:var(--text-md);flex:none}.reports-table-wrap{overflow-x:auto}.reports-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);white-space:nowrap}.reports-table th{padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-align:left;text-transform:uppercase}.reports-table td{padding:var(--space-4) var(--space-3);color:var(--ink);border-bottom:1px solid #efedf4}.reports-table th:last-child,.reports-table td:last-child{text-align:right}.reports-empty,.reports-error{padding:var(--space-8);border-radius:var(--radius-field);background:var(--paper);color:var(--muted);font-size:var(--text-md);border:1px dashed #b8c9b8;line-height:1.45}.reports-error p{margin:0 0 var(--space-4);color:var(--danger)}@media (width<=420px){.reports-client-filter>div{grid-template-columns:1fr}.reports-toolbar{display:grid}.reports-toolbar>div{grid-template-columns:1fr 1fr;display:grid}.reports-summary{grid-template-columns:1fr 1fr}}.booking-admin{padding-bottom:var(--space-11)}.google-calendar-panel{margin-bottom:var(--space-8);padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);background:var(--card)}.google-calendar-panel>div:first-child p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:600}.google-calendar-panel>div:first-child h2{margin:0;font:600 18px Cormorant Garamond,Georgia,serif}.google-calendar-copy,.google-calendar-message,.google-calendar-setup,.google-calendar-queued,.google-calendar-notice,.google-calendar-error{margin:var(--space-5) 0 0;font-size:var(--text-sm);line-height:1.5}.google-calendar-copy,.google-calendar-message{color:var(--muted)}.google-calendar-setup,.google-calendar-queued{padding:var(--space-4) var(--space-5);border-radius:var(--radius-field);background:var(--soft);color:var(--brand)}.google-calendar-notice{color:#29434a}.google-calendar-error{color:var(--danger)}.google-calendar-connected{align-items:center;gap:var(--space-4);margin-top:var(--space-6);display:flex}.google-calendar-connected>span{color:#29434a;background:#d6e4de;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-weight:900;display:grid}.google-calendar-connected>div{gap:var(--space-1);display:grid}.google-calendar-connected strong{color:var(--ink);font-size:var(--text-md)}.google-calendar-connected small{color:var(--muted);font-size:var(--text-xs)}.google-calendar-actions{gap:var(--space-4);margin-top:var(--space-6);display:flex}.google-calendar-connect,.google-calendar-actions button{margin-top:var(--space-6);border-radius:var(--radius-pill);padding:var(--space-5) var(--space-8);background:var(--brand-fill);color:#fff;font-size:var(--text-sm);border:0;font-weight:600}.google-calendar-actions button{margin-top:0}.google-calendar-actions .google-calendar-disconnect{background:var(--danger-mist);color:var(--danger)}.google-calendar-connect:disabled,.google-calendar-actions button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}input[type=checkbox],input[type=radio]{accent-color:var(--brand-fill)}.booking-safety-note{gap:var(--space-2);margin-bottom:var(--space-7);padding:var(--space-8);border-radius:var(--radius-card);background:var(--card);display:grid}.booking-safety-note b{color:var(--brand);font-size:var(--text-lg)}.booking-safety-note span{color:var(--muted);font-size:var(--text-md);line-height:1.45}.booking-safety-note a{margin-top:var(--space-2);color:var(--brand);font-size:var(--text-sm);justify-self:start;font-weight:600}.booking-notice{padding:var(--space-5) var(--space-7);border-radius:var(--radius-inner);background:var(--sage-mist);color:var(--sage-deep);font-size:var(--text-md)}.booking-card>h2{font:600 var(--text-2xl) var(--font-display);margin:0}.booking-card>p{margin:var(--space-2) 0 var(--space-6);color:var(--muted);font-size:var(--text-md);line-height:1.5}.booking-type-row{gap:var(--space-4);padding:var(--space-6) 0;border-top:1px solid var(--line);grid-template-columns:1fr 74px;align-items:end;display:grid}.booking-type-row>div{gap:var(--space-2);display:grid}.booking-type-row strong{color:var(--ink);font-size:var(--text-lg)}.booking-type-row small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.booking-type-row label,.availability-form label{gap:var(--space-2);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:grid}.booking-type-row input,.availability-form input,.availability-form select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;padding:var(--space-4) var(--space-7);background:var(--card);color:var(--ink);font-size:var(--text-md)}.booking-type-row .booking-toggle{color:var(--ink);font-size:var(--text-sm);letter-spacing:0;text-transform:none;align-self:center}.booking-type-row button,.availability-form button,.availability-list button,.booking-request-actions button{padding:var(--space-4) var(--space-7);background:var(--brand-fill);color:#fff;font-size:var(--text-sm);border:0;font-weight:500}.booking-type-row button{align-self:center}.availability-form .availability-choices{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.availability-form .availability-choices legend{color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;padding:0;font-weight:600}.availability-form .choice-row{gap:var(--space-3) var(--space-6);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.availability-form .choice-row label{gap:var(--space-3);min-height:44px;color:var(--ink);font-size:var(--text-sm);letter-spacing:0;text-transform:none;align-items:center;font-weight:400;display:flex}.availability-form .choice-row input{width:auto;min-width:0;padding:0}.availability-form{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.availability-form button{padding:var(--space-5);grid-column:1/-1}.booking-card button:disabled{cursor:wait;opacity:var(--disabled-opacity)}.availability-list{margin-top:var(--space-5)}.availability-list>div{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--line);display:flex}.availability-list span{gap:var(--space-1);color:var(--muted);font-size:var(--text-sm);display:grid}.availability-list strong{color:var(--ink);font-size:var(--text-md)}.availability-list button{background:var(--danger-mist);color:var(--danger);flex:none}.booking-empty{padding:var(--space-7);border-radius:var(--radius-inner);background:var(--soft);color:var(--muted);font-size:var(--text-md);text-align:center;margin:var(--space-5) 0 0!important}.booking-request-list{display:grid}.booking-request-list article{gap:var(--space-4);grid-template-columns:1fr auto;display:grid}.booking-request-list article>div:first-child{gap:var(--space-1);min-width:0;display:grid}.booking-request-list strong{color:var(--ink);font-size:var(--text-lg)}.booking-request-list span,.booking-request-list a,.booking-request-list small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.booking-request-list a{color:var(--brand)}.booking-status{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);background:var(--card);text-transform:capitalize;align-self:start;font-weight:500}.booking-status-confirmed{background:var(--sage-mist);color:var(--sage-deep)!important}.booking-status-cancelled{background:var(--danger-mist);color:var(--danger)!important}.booking-request-actions{gap:var(--space-3);grid-column:1/-1;display:flex}.booking-request-actions .booking-decline{background:var(--danger-mist);color:var(--danger)}@media (width>=560px){.booking-type-row{grid-template-columns:1fr 75px 80px 64px}.availability-form{grid-template-columns:1.2fr 1fr 1fr 1fr}.availability-form label:nth-of-type(3),.availability-form label:nth-of-type(4){grid-column:span 2}}.edit-scope{gap:var(--space-4);margin:var(--space-6) 0 0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);grid-template-columns:1fr 1fr;display:grid}.edit-scope legend{color:var(--muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.edit-scope label{align-items:center;gap:var(--space-3);color:var(--ink);font-size:var(--text-md);letter-spacing:0;text-transform:none;margin:0;display:flex}.edit-scope input{width:auto;margin:0}:root{--deep-ink:#1b2a22;--ink:#1b2a22;--paper:#edf1e9;--card:#fbfdf8;--brand:#2f5d4a;--brand-fill:#447a63;--accent:#8fbfa4;--sage:#a9bda8;--sea-glass:#e4edf0;--soft:#e2e9dd;--line:#dbe5d8;--muted:#4e5d52;--danger:#a8422d;--danger-mist:#f7e4de;--sage-mist:#e2ecdf;--sage-deep:#3f5a48;--area-schedule:#326a88;--area-clients:#2e7d5b;--area-billing:#a9741f;--area-other:#7c7890;--radius-card:20px;--radius-inner:18px;--radius-pill:999px;--radius-field:12px;--space-0:0;--space-px:1px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:20px;--space-10:24px;--space-11:32px;--text-2xs:9px;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-lg:13px;--text-xl:15px;--text-2xl:20px;--text-3xl:25px;--text-4xl:32px;--font-body:"Figtree", system-ui, sans-serif;--font-display:"Newsreader", Georgia, serif;--lift:0 1px 2px #1b2a2210, 0 8px 22px #1b2a220c;--lift-high:0 16px 34px #1b2a2220;--dock-size:54px;--dock-inset:24px;--disabled-opacity:.5;--scrim:#1d2e2b73;--z-raised:1;--z-sticky:5;--z-dropdown:10;--z-tab-bar:20;--z-dock:30;--z-modal:40}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer}button:disabled,button[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:not-allowed}.app-root{background:var(--paper);min-height:100vh;color:var(--ink);font-family:Jost,system-ui,sans-serif}.app{width:100%;max-width:620px;padding:var(--space-10) var(--space-8) 52px;margin:auto}.app.has-dock{padding-bottom:calc(var(--dock-inset) + var(--dock-size) + 16px + env(safe-area-inset-bottom,0px))}header{margin-bottom:var(--space-5);justify-content:flex-end;align-items:flex-start;display:flex}.menu-wrap{position:relative}.hamburger{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-field);background:0 0;border:0;display:grid}.hamburger:hover{background:#0000000b}.hamburger i{background:var(--ink);border-radius:2px;width:20px;height:2px;display:block}.menu{z-index:var(--z-dropdown);width:220px;padding:var(--space-3);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-field);position:absolute;top:38px;right:0;box-shadow:0 12px 30px #37444022}.menu button{text-align:left;width:100%;padding:var(--space-5) var(--space-5);border-radius:var(--radius-field);color:var(--deep-ink);background:0 0;border:0;font-weight:500;display:block}.menu button.selected{background:var(--soft);color:var(--brand)}.menu-rule{background:var(--line);height:1px;margin:var(--space-2)}.intro p,.page-title p{margin:0 0 var(--space-2);color:var(--brand);font-size:var(--text-md);letter-spacing:.09em;text-transform:uppercase;font-weight:500}.intro h1,.page-title h1{color:var(--deep-ink);letter-spacing:.004em;margin:0;font:600 32px Cormorant Garamond,Georgia,serif}.intro-sub{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-lg);display:block}.stats{gap:var(--space-5);margin:var(--space-9) 0 var(--space-10);grid-template-columns:minmax(0,1fr);display:grid}.home-stat{align-items:center;gap:var(--space-7);width:100%;padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .14s,box-shadow .14s;display:flex}.home-stat:hover{border-color:var(--sage);box-shadow:var(--lift)}.home-stat-icon{background:var(--sea-glass);width:46px;height:46px;color:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.home-stat-body{gap:var(--space-1);flex:1;min-width:0;display:grid}.home-stat-label{color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:500}.home-stat-value{color:var(--deep-ink);font:600 30px Cormorant Garamond,Georgia,serif}.home-stat-note{color:var(--muted);font-size:var(--text-md)}.home-stat-chevron{color:var(--muted);flex:none}.assistant{height:min(640px,100vh - 140px);min-height:480px;padding:var(--space-8);border-radius:var(--radius-card);background:var(--sage-mist);margin-bottom:var(--space-10);flex-direction:column;display:flex;overflow:hidden}.ai-title{color:var(--deep-ink);font-size:var(--text-2xl);letter-spacing:-.01em;margin:0;font-weight:650}.assistant-title-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent);flex:none;display:flex}.assistant-identity{align-items:center;gap:var(--space-4);min-width:0;display:flex}.assistant-identity>div{min-width:0}.assistant-identity p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-title-icon{background:var(--sage-mist);width:38px;height:38px;color:var(--sage-deep);border-radius:50%;flex:none;place-items:center;display:grid}.assistant-suggestions{align-items:flex-start;gap:var(--space-3);margin:var(--space-6) 0 0 calc(var(--space-10) * 2);flex-direction:column;display:flex}.assistant-suggestions button{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--paper) 90%, white);color:var(--ink);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);text-align:left}.assistant-suggestions button:hover{border-color:color-mix(in srgb, var(--brand-fill) 48%, transparent);background:color-mix(in srgb, var(--brand-fill) 8%, white)}.assistant-new-conversation{align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-radius:var(--radius-pill);min-height:38px;padding:0 var(--space-5);background:color-mix(in srgb, var(--card) 88%, transparent);color:var(--ink);font-size:var(--text-sm);font-weight:550;display:inline-flex}.assistant-thread{gap:var(--space-7);min-height:0;max-height:none;padding:var(--space-7) var(--space-2) var(--space-8);scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column;flex:auto;margin:0;display:flex;overflow-y:auto}.assistant-empty-state{margin-block:auto}.assistant-turn{align-items:start;gap:var(--space-3);grid-template-columns:36px minmax(0,1fr);width:min(100%,720px);display:grid}.assistant-avatar{border:1px solid color-mix(in srgb, var(--sage-deep) 16%, transparent);background:var(--sage-mist);width:34px;height:34px;color:var(--sage-deep);border-radius:50%;place-items:center;display:grid}.assistant-avatar svg{width:18px;height:18px}.assistant-turn-body{min-width:0;padding-top:var(--space-2)}.assistant-bubble{font-size:var(--text-md);white-space:pre-wrap;margin:0;line-height:1.55}.assistant-message-content{white-space:normal}.assistant-message-content p,.assistant-message-content h4,.assistant-message-content ul{margin:0}.assistant-message-content p+p,.assistant-message-content p+ul,.assistant-message-content ul+p,.assistant-message-content h4+p,.assistant-message-content h4+ul{margin-top:var(--space-4)}.assistant-message-content h4{color:var(--ink);font-size:inherit}.assistant-message-content ul{padding-left:var(--space-6)}.assistant-message-content li+li,.assistant-message-content li>ul{margin-top:var(--space-3)}.assistant-message-content strong{color:var(--deep-ink);font-weight:650}.assistant-bubble-user{max-width:min(82%,640px);padding:var(--space-4) var(--space-6);border-radius:var(--radius-inner) var(--radius-inner) var(--space-2) var(--radius-inner);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-fill) 90%, #fff), var(--brand-fill));color:#fff;align-self:flex-end;box-shadow:0 5px 15px #2367771f}.assistant-bubble-assistant{max-width:100%;color:var(--ink);background:0 0;border:0;padding:0}.assistant-action-card{margin-top:var(--space-5);border-radius:var(--radius-inner)}.assistant-action-pending{padding:var(--space-6);border:1px solid color-mix(in srgb, var(--sage-deep) 26%, var(--line));background:color-mix(in srgb, var(--card) 96%, var(--sage-mist));box-shadow:0 8px 24px #2541440d}.assistant-action-heading{align-items:center;gap:var(--space-4);display:flex}.assistant-action-heading>div{gap:var(--space-1);display:grid}.assistant-action-heading strong{color:var(--deep-ink);font-size:var(--text-lg)}.assistant-action-icon{background:var(--sage-mist);width:36px;height:36px;color:var(--sage-deep);font-size:var(--text-xl);border-radius:50%;place-items:center;font-weight:700;display:grid}.assistant-action-eyebrow{color:var(--sage-deep);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.assistant-action-summary{margin:var(--space-5) 0 0;color:var(--ink);font-size:var(--text-md);line-height:1.5}.assistant-context-note,.assistant-confirmation-note{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.assistant-confirmation-note{font-weight:600}.assistant-action-buttons{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line);display:flex}.assistant-action-buttons button,.assistant-undo{border-radius:var(--radius-field);min-height:40px;padding:0 var(--space-5);font-size:var(--text-sm);font-weight:650}.assistant-confirm{background:var(--brand-fill);color:#fff;border:0}.assistant-dismiss{color:var(--ink);background:0 0;border:0}.assistant-action-completed,.assistant-action-undone{align-items:center;gap:var(--space-4);padding:var(--space-5);border:1px solid color-mix(in srgb, var(--sage-deep) 24%, var(--line));background:color-mix(in srgb, var(--sage-mist) 55%, var(--card));grid-template-columns:auto minmax(0,1fr) auto;margin-top:0;display:grid}.assistant-action-undone{border-color:var(--line);background:var(--soft)}.assistant-complete-icon{border:2px solid var(--sage-deep);width:34px;height:34px;color:var(--sage-deep);font-size:var(--text-lg);border-radius:50%;place-items:center;font-weight:700;display:grid}.assistant-complete-copy{gap:var(--space-1);min-width:0;display:grid}.assistant-complete-copy strong{color:var(--deep-ink);font-size:var(--text-md)}.assistant-complete-copy span{color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;line-height:1.4;overflow:hidden}.assistant-undo{border:1px solid color-mix(in srgb, var(--sage-deep) 28%, var(--line));background:var(--card);color:var(--sage-deep)}.assistant-typing{gap:var(--space-2);padding:var(--space-2) 0;display:inline-flex}.assistant-typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite assistant-pulse}.assistant-typing i:nth-child(2){animation-delay:.12s}.assistant-typing i:nth-child(3){animation-delay:.24s}@keyframes assistant-pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.assistant-composer{padding-top:var(--space-5);border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:inherit;flex:none}.chat{position:relative}.chat textarea{resize:none;border:1px solid var(--line);border-radius:var(--radius-inner);width:100%;padding:var(--space-5) calc(var(--space-11) * 3 + var(--space-8)) var(--space-5) var(--space-6);background:var(--card);color:var(--ink);min-height:72px;line-height:1.45;display:block}.chat button{right:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--brand-fill);color:#fff;height:42px;padding:0 var(--space-6);border:0;font-weight:650;display:inline-flex;position:absolute}.chat button:hover:not(:disabled){background:var(--deep-ink)}.notice{margin:0 0 var(--space-8);padding:var(--space-6) var(--space-8);border:1px solid var(--sage);border-radius:var(--radius-inner);color:var(--deep-ink);background:var(--sea-glass);font-size:var(--text-lg);line-height:1.35}.home-attention{gap:var(--space-6);margin:0 0 var(--space-8);border:1px solid color-mix(in srgb, var(--area-billing) 40%, var(--line));border-radius:var(--radius-inner);padding:var(--space-6) var(--space-8);background:color-mix(in srgb, var(--area-billing) 8%, var(--card));color:var(--deep-ink);align-items:flex-start;display:flex}.home-attention.is-urgent{border-color:color-mix(in srgb, var(--danger) 42%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--card))}.home-attention-icon{background:var(--area-billing);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.home-attention.is-urgent .home-attention-icon{background:var(--danger)}.home-attention-body{gap:var(--space-3);flex:1;min-width:0;display:grid}.home-attention-items{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.home-attention-items button,.home-attention-items>span{color:var(--ink);font-size:var(--text-sm);text-align:left;background:0 0;border:0;padding:0}.home-attention-items button{color:var(--brand);font-weight:600}.home-attention.is-urgent .home-attention-items button{color:var(--danger)}.section-title{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.section-title h2,.day-list h2{margin:0;font:600 19px Cormorant Garamond,Georgia,serif}.section-title span{color:var(--muted);font-size:var(--text-sm)}.swipe-row{border-radius:var(--radius-card);margin-bottom:var(--space-5);position:relative;overflow:hidden}.delete{background:var(--danger);color:#fff;border:0;width:90px;font-weight:500;position:absolute;inset:0 0 0 auto}.session{z-index:var(--z-raised);align-items:center;gap:var(--space-5);padding:var(--space-7) var(--space-8) var(--space-7) var(--space-6);background:var(--card);border-radius:var(--radius-card);border:1px solid #0000;transition:transform .18s;display:flex;position:relative}.session.shift{transform:translate(-88px)}@media (hover:hover){.swipe-row .delete{inset:50% var(--space-6) auto auto;width:auto;min-height:34px;padding:0 var(--space-6);border-radius:var(--radius-pill);z-index:var(--z-sticky);background:var(--danger-mist);color:var(--danger);font-size:var(--text-sm);opacity:0;pointer-events:none;transition:opacity .14s;transform:translateY(-50%)}.swipe-row:hover .delete,.swipe-row:focus-within .delete{opacity:1;pointer-events:auto}.swipe-row .delete:disabled{opacity:0}.swipe-row:hover .delete:disabled,.swipe-row:focus-within .delete:disabled{opacity:var(--disabled-opacity)}.section-hint{display:none}}.session-stripe{border-radius:var(--radius-pill);flex:none;align-self:stretch;width:4px}.session-avatar{width:38px;height:38px;font-size:var(--text-lg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.session-time{color:var(--muted);font-size:var(--text-md)}.session-person{flex:1;min-width:0}.session-person strong{margin-top:var(--space-px);font:600 17px/1.15 Cormorant Garamond,Georgia,serif;display:block}.dot{width:9px;height:9px;margin-right:var(--space-3);border-radius:50%;display:inline-block}.session-tag{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--soft);color:var(--brand);font-size:var(--text-sm);flex:none;align-self:center;font-weight:500}.session-tag.is-done,.session-tag.is-paid{background:var(--sage-mist);color:var(--sage-deep)}.session-person small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);display:block}.calendar-link{width:100%;margin-top:var(--space-6);padding:var(--space-7) var(--space-10);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--brand);text-align:left;font-weight:500}.calendar-link span{float:right;font-size:var(--text-2xl);line-height:12px}.calendar-page{padding:0}.calendar-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.calendar-views{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--soft);flex:1;display:flex}.calendar-view-btn{min-height:34px;padding:var(--space-3) var(--space-8);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-lg);background:0 0;border:none;flex:1;font-weight:500}.calendar-view-btn.active{background:var(--brand-fill);color:#fff}.calendar-today-btn{min-height:34px;padding:var(--space-3) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--brand);font-size:var(--text-md);font-weight:600}.calendar-grid button.is-today{background:#eef3f2}.calendar-grid button.is-today b{color:var(--brand);font-weight:600}.calendar-grid button.chosen.is-today{background:var(--card)}.sidebar{display:none}@media (width>=900px){.app-root{--sidebar-rail:72px;--sidebar-open:236px;grid-template-columns:var(--sidebar-rail) minmax(0, 1fr);align-items:start;display:grid}.sidebar{grid-column:1}.app{grid-column:2}.sidebar{z-index:var(--z-dropdown);gap:var(--space-9);width:var(--sidebar-rail);height:100vh;padding:var(--space-9) var(--space-3);border-right:1px solid var(--line);background:var(--paper);flex-direction:column;transition:width .16s;display:flex;position:sticky;top:0;left:0;overflow:hidden auto}.sidebar:hover,.sidebar:focus-within{width:var(--sidebar-open);padding:var(--space-9) var(--space-6);box-shadow:var(--lift-high);position:fixed}.app>header{display:none}:is(.app:has(.calendar-page),.app:has(.clients-layout),.app:has(.home-layout),.app:has(.billing-workflow-page),.app:has(.reports-page)){max-width:1180px}}.sidebar-wordmark{gap:var(--space-1);margin:0 0 0 var(--space-3);color:var(--brand);font-family:var(--font-display);font-size:var(--text-3xl);opacity:0;white-space:nowrap;line-height:1.05;transition:opacity .1s;display:grid}.sidebar:hover .sidebar-wordmark,.sidebar:focus-within .sidebar-wordmark{opacity:1;transition:opacity .12s 50ms}.sidebar-wordmark span{color:var(--muted);font-family:Jost,system-ui,sans-serif;font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;font-weight:600}.sidebar ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.sidebar button{width:100%;min-height:44px;padding:var(--space-4) var(--space-3);border-radius:var(--radius-field);color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:0;transition:justify-content .16s;display:flex}.sidebar:hover button,.sidebar:focus-within button{gap:var(--space-5);justify-content:flex-start}.sidebar button svg{flex-shrink:0}.sidebar button span{gap:var(--space-px);opacity:0;width:0;min-width:0;font-size:var(--text-lg);font-weight:500;transition:opacity 80ms;display:grid}.sidebar:hover button span,.sidebar:focus-within button span{opacity:1;width:auto;transition:opacity .12s 50ms}.sidebar button:hover{background:var(--soft);color:var(--brand)}.sidebar button.selected span{font-weight:600}.sidebar-rule{margin:var(--space-4) var(--space-3);border-top:1px solid var(--line)}@media (width<=899px){.clients-layout[data-detail=open] .clients-roster{display:none}}@media (width>=900px){.clients-layout[data-detail=open]{gap:var(--space-10);grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;display:grid}.clients-layout[data-detail=open] .clients-roster{top:var(--space-9);position:sticky}.clients-layout[data-detail=open] .client-card{padding:var(--space-5) var(--space-6)}.clients-layout[data-detail=open] .client-rate,.clients-layout[data-detail=open] .student-record-back{display:none}.clients-layout[data-detail=open] .student-record-header{grid-template-columns:minmax(0,1fr) auto}}.client-card.selected{background:var(--sea-glass)}.home-layout .section-actions .add-menu-trigger{gap:var(--space-3);width:auto;height:auto;padding:var(--space-5) var(--space-8);border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:500}.home-panel-foot{justify-content:center;align-items:center;gap:var(--space-4);width:100%;margin-top:var(--space-7);padding:var(--space-7) var(--space-4) 0;border:0;border-top:1px solid var(--line);color:var(--brand);font-size:var(--text-lg);cursor:pointer;background:0 0;font-weight:500;display:flex}.home-panel-foot:hover{color:var(--deep-ink)}@media (width>=900px){.home-layout{gap:0 var(--space-9);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}.home-layout>.intro{display:contents}.home-layout .intro-head{grid-area:1/1/auto/-1}.home-layout .stats{grid-area:2/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.home-layout .notice{grid-area:4/1/auto/-1}.home-layout .home-attention{grid-area:3/1/auto/-1}.home-layout .today{grid-area:5/1}.home-layout .assistant{grid-area:5/2}.home-layout .today,.home-layout .assistant{min-height:max(380px,100vh - 320px);max-height:max(380px,100vh - 320px);padding:var(--space-10);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);flex-direction:column;margin:0;display:flex}.home-layout .today{align-self:start;min-height:0;max-height:none}.home-layout .today .home-panel-body{flex:0 auto;max-height:min(58vh,620px)}.home-layout .home-panel-body,.home-layout .assistant-thread{scrollbar-gutter:stable;flex:auto;min-height:0;max-height:none;overflow-y:auto}.home-layout .section-title h2{font:600 22px Cormorant Garamond,Georgia,serif}.home-layout .ai-title{margin-bottom:var(--space-5);color:var(--deep-ink);letter-spacing:normal;text-transform:none;font:600 22px Cormorant Garamond,Georgia,serif}.home-layout .assistant-title-row .ai-title{margin:0}.home-layout .assistant-bubble-assistant{background:0 0;border-color:#0000}.home-layout .assistant-suggestions{align-items:flex-start;gap:var(--space-4);margin:var(--space-6) 0 0 calc(var(--space-10) * 2);flex-direction:column}.home-layout .assistant-suggestions button{padding:var(--space-5) var(--space-8);font-size:var(--text-md)}.home-layout .chat{flex:none;position:relative}.home-layout .chat textarea{min-height:84px;padding:var(--space-5) calc(var(--space-11) * 3 + var(--space-8)) var(--space-5) var(--space-6)}.home-layout .chat button{right:var(--space-3);bottom:var(--space-3);height:42px;padding:0 var(--space-6);position:absolute}.reports-page{gap:0 var(--space-10);grid-template-columns:360px minmax(0,1fr);align-items:start;display:grid}.reports-page>.page-title,.reports-page>.reports-overview-section{grid-column:1/-1}.reports-page>.reports-builder{top:var(--space-9);grid-area:3/1;position:sticky}.reports-page>.reports-results,.reports-page>.reports-empty,.reports-page>.reports-error{grid-area:3/2}}.week-view{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;display:grid}.week-day{gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-field);min-height:260px;padding:var(--space-2);background:#fffdf8;flex-direction:column;display:flex}.week-day.is-today{border-color:var(--brand)}.week-day.chosen{box-shadow:inset 0 0 0 1px var(--brand)}.week-day.blocked{background:var(--danger-mist)}.week-day-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.week-day-label{align-items:baseline;gap:var(--space-2);min-height:0;padding:var(--space-px) var(--space-2);border-radius:var(--radius-field);color:var(--ink);background:0 0;border:0;display:flex}.week-day-label b{font-size:var(--text-xs);text-transform:uppercase;color:var(--muted);font-weight:600}.week-day-label span{font-size:var(--text-md);font-weight:500}.calendar-detail-btn{align-items:center;gap:var(--space-2);min-height:34px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;font-weight:500;display:inline-flex}.calendar-detail-btn:before{content:"";border-radius:var(--radius-pill);border:1.5px solid;width:9px;height:9px}.calendar-detail-btn:hover{background:var(--soft)}.calendar-detail-btn.active{color:var(--brand)}.calendar-detail-btn.active:before{border-color:var(--brand);background:var(--brand)}@media (width<=720px){.calendar-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-scroll .weekdays,.calendar-scroll .calendar-grid,.calendar-scroll .week-view{min-width:660px}}.week-day>:not(.week-day-head){margin-top:var(--space-3)}.week-day-head{justify-content:space-between;align-items:center;display:flex}.week-day-label{align-items:baseline;gap:var(--space-4);color:var(--ink);background:0 0;border:none;padding:0;display:inline-flex}.week-day-label b{font-size:var(--text-lg);letter-spacing:.03em;text-transform:uppercase;font-weight:600}.week-day-label span{font-size:var(--text-xl);color:var(--muted);font-weight:500}.week-day.is-today .week-day-label span{color:var(--brand)}.week-add{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);width:30px;height:30px;color:var(--brand);font-size:var(--text-2xl);font-weight:500;line-height:0}.week-empty{color:var(--muted);font-size:var(--text-lg);margin:0}.calendar-head{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.calendar-head h2{margin:0;font:600 19px Cormorant Garamond,Georgia,serif}.calendar-head button{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--muted);font-size:var(--text-3xl);border-radius:50%;line-height:0}.weekdays,.calendar-grid,.weekdays{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays span{color:var(--muted);font-size:var(--text-xs);text-align:left;padding-left:var(--space-2);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.cal-day{gap:var(--space-1);min-height:92px;padding:var(--space-2);border-radius:var(--radius-field);background:var(--card);border:1px solid #0000;flex-direction:column;display:flex}.cal-day.outside{background:var(--soft)}.cal-day.outside .cal-day-number{color:var(--muted);opacity:.65}.cal-day.is-today{border-color:var(--brand)}.cal-day.chosen{box-shadow:inset 0 0 0 2px var(--brand)}.cal-day.blocked{background:var(--danger-mist)}.cal-day-number{min-height:0;padding:var(--space-px) var(--space-2);border-radius:var(--radius-field);color:var(--ink);font-size:var(--text-md);background:0 0;border:0;align-self:flex-end;font-weight:500;line-height:1.5}.cal-day.is-today .cal-day-number{background:var(--brand-fill);color:#fff}.cal-day-note{color:var(--danger);font-size:var(--text-xs);font-style:normal;font-weight:500}.cal-day-holiday{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;font-style:normal;font-weight:500;overflow:hidden}.week-day-holiday{color:var(--muted);font-size:var(--text-xs);font-style:normal;font-weight:500}.day-holiday{padding:var(--space-4) var(--space-5);border-radius:var(--radius-field);color:var(--muted);background:var(--soft);font-size:var(--text-md);margin:0}.cal-event{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-field);text-align:left;cursor:pointer;border:1px solid;border-left-width:4px;line-height:1.3;display:block}.cal-event .cal-event-time{font-size:var(--text-xs);font-weight:500;display:block}.cal-event b{font-size:var(--text-sm);font-weight:600;display:block}.cal-event small{font-size:var(--text-xs);opacity:.85;display:block}.cal-event-cancelled b,.cal-event-cancelled .cal-event-time{text-decoration:line-through}.cal-event-cancelled{opacity:.6}.cal-event-mark{opacity:.75;margin-right:.25em;font-weight:700}.cal-event-block{color:#4a4433;background:#f0ece1;border-color:#cfc9bb}.calendar-grid button.outside{opacity:.35}.calendar-grid button.chosen{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--card)}.calendar-grid button.blocked{background:var(--danger-mist)}.calendar-grid button.blocked em{color:var(--danger)}.day-list{margin-top:var(--space-9)}.empty{color:var(--muted);font-size:var(--text-xl)}.unavailable{padding:var(--space-5);border-radius:var(--radius-field);color:var(--danger);background:var(--danger-mist);font-size:var(--text-lg);line-height:1.4}@media (width<=380px){.calendar-grid button{min-height:47px}.session{gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-6) var(--space-5)}.session-avatar{width:34px;height:34px;font-size:var(--text-md)}.more{display:none}}.client-summary,.cycle{margin-bottom:var(--space-9);padding:var(--space-8) var(--space-8);background:var(--card);border-radius:var(--radius-card)}.client-summary span,.cycle span{color:var(--brand);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:block}.client-summary b{margin-top:var(--space-1);font:600 30px Cormorant Garamond,Georgia,serif;display:inline-block}.client-summary small,.cycle small{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-md);display:block}.client-list{gap:var(--space-4);display:grid}.client-card{align-items:center;gap:var(--space-6);width:100%;padding:var(--space-7) var(--space-8);border-radius:var(--radius-card);background:var(--card);color:var(--ink);text-align:left;border:1px solid #0000;display:flex}.client-card:hover{border-color:var(--sage)}.avatar,.profile-avatar{place-items:center;font:600 16px Cormorant Garamond,Georgia,serif;display:grid}.avatar{border-radius:50%;width:40px;height:40px}.client-copy{flex:1}.client-copy b{font:600 17px/1.15 Cormorant Garamond,Georgia,serif;display:block}.client-copy small,.client-rate small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);display:block}.client-rate{text-align:right;font:600 16px Cormorant Garamond,Georgia,serif}.client-rate-unset small{white-space:nowrap;margin-top:0;font-style:italic}.arrow{color:var(--muted);font-size:var(--text-3xl)}.back{color:var(--brand);margin-bottom:var(--space-8);background:0 0;border:0;padding:0;font-weight:600}.profile-head{align-items:center;gap:var(--space-6);margin-bottom:var(--space-9);display:flex}.profile-avatar{width:58px;height:58px;font-size:var(--text-3xl);border-radius:50%}.profile-head p{margin:0 0 var(--space-1);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:var(--text-xs);font-weight:600}.profile-head h1{margin:0;font:600 29px Cormorant Garamond,Georgia,serif}.profile-head span{color:var(--muted);font-size:var(--text-md)}.profile-stats{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.profile-stats div{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card)}.profile-stats b,.profile-stats span{display:block}.profile-stats b{font:600 18px Cormorant Garamond,Georgia,serif}.profile-stats span{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.subhead{margin:var(--space-10) 0 var(--space-5);font:600 19px Cormorant Garamond,Georgia,serif}.detail-session{gap:var(--space-7);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);margin-bottom:var(--space-4);font-size:var(--text-lg);grid-template-columns:1fr auto auto;align-items:center;display:grid}.detail-session small{color:var(--muted)}.cycle b{margin-top:var(--space-1);font:600 22px Cormorant Garamond,Georgia,serif;display:block}.bill-card{padding:var(--space-6);margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);justify-content:space-between;align-items:center;display:flex}.bill-card b{font-size:var(--text-xl)}.bill-card small{margin:var(--space-1) 0 0 var(--space-7);color:var(--muted);font-size:var(--text-sm);display:block}.bill-card strong,.billing-total b{font:600 19px Cormorant Garamond,Georgia,serif}.billing-total{padding:var(--space-7) var(--space-px) var(--space-2);margin-top:var(--space-6);border-top:1px solid var(--line);justify-content:space-between;align-items:center;font-weight:600;display:flex}.charge-button{width:100%;margin-top:var(--space-7);border-radius:var(--radius-field);padding:var(--space-7);background:var(--brand-fill);color:#fff;font-weight:600;font-size:var(--text-xl);border:0}.charge-button.charged{background:#2e7d5b}.billing-note{color:var(--muted);font-size:var(--text-sm);text-align:center;line-height:1.4}.edit-session{background:var(--soft);color:var(--brand);border-radius:var(--radius-field);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:0;font-weight:600}.manual-add,.personal-add{width:100%;margin-top:var(--space-2);padding:var(--space-5);border-radius:var(--radius-field);background:var(--paper);color:var(--brand);border:1px dashed #b8c9b8;font-weight:600}.personal-add{border-color:var(--sage);color:#29434a;background:#d6e4de}.day-list-head{margin-bottom:var(--space-5);justify-content:flex-start;align-items:center;display:flex}.day-list-head button{background:var(--soft);color:var(--brand);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-6);font-size:var(--text-md);margin-right:var(--space-3);border:0;font-weight:500}.personal-block{gap:var(--space-5);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-4);border-radius:var(--radius-field);color:#29434a;font-size:var(--text-lg);background:#d6e4de;border:1px solid #b8c9b8;grid-template-columns:62px 1fr auto;align-items:center;display:grid}.personal-block b{font-size:var(--text-xl)}.personal-block small{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.editor-backdrop{z-index:var(--z-modal);padding:12px calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.editor{overscroll-behavior:contain;width:min(100%,560px);max-height:100%;padding:var(--space-8);background:var(--card);border-radius:var(--radius-card);box-shadow:var(--lift-high);overflow-y:auto}.editor-head{margin-bottom:var(--space-7);justify-content:space-between;align-items:start;display:flex}.editor-head p{color:var(--muted);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600}.editor-head h2{margin:var(--space-1) 0 0;font:600 23px Cormorant Garamond,Georgia,serif}.editor-head button{color:var(--muted);font-size:var(--text-3xl);background:0 0;border:0;line-height:1}.editor label{margin-top:var(--space-5);color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:block}.editor input,.editor select{width:100%;margin-top:var(--space-2);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);font-size:var(--text-xl);display:block}.editor-row{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.editor-note{margin:var(--space-6) 0 0;padding:var(--space-4);border-radius:var(--radius-field);background:var(--soft);color:var(--brand);font-size:var(--text-md);line-height:1.35}.save-session{width:100%;margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-field);background:var(--brand-fill);color:#fff;border:0;font-weight:600}.recurring-add{width:100%;margin-top:var(--space-2);padding:var(--space-5);border-radius:var(--radius-field);background:var(--soft);color:var(--brand);border:1px dashed #b8c9b8;font-weight:600}.weekday-picker{gap:var(--space-2);margin-top:var(--space-3);display:flex}.weekday-picker button{border:1px solid var(--line);border-radius:var(--radius-field);padding:var(--space-4) var(--space-1);background:var(--card);color:var(--muted);font-size:var(--text-sm);flex:1;font-weight:600}.weekday-picker button.on{border-color:var(--brand);background:var(--brand-fill);color:#fff}.session{cursor:pointer}.session:hover{border-color:var(--sage)}.home-actions{margin-top:var(--space-6);position:relative}.section-actions .home-actions{margin-top:0}.section-actions .add-menu-trigger{width:34px;height:34px}.add-menu-trigger{background:var(--brand-fill);color:#fff;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.add-menu-trigger:hover{background:var(--brand)}.icon-button{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{border-color:var(--sage);color:var(--brand)}.ghost-link{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);color:var(--brand);font-size:var(--text-lg);background:0 0;border:0;font-weight:500;display:inline-flex}.ghost-link:hover{background:var(--soft)}.section-actions{align-items:center;gap:var(--space-3);flex:none;display:flex}.section-hint{margin:calc(var(--space-2) * -1) 0 var(--space-6);color:var(--muted);font-size:var(--text-md)}.add-menu{z-index:var(--z-dropdown);width:200px;padding:var(--space-3);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-inner);box-shadow:var(--lift-high);position:absolute;top:calc(100% + 8px);right:0}.add-menu button{width:100%;padding:var(--space-5) var(--space-7);border-radius:var(--radius-pill);color:var(--ink);text-align:left;font-size:var(--text-lg);background:0 0;border:0;font-weight:500;display:block}.add-menu button:hover{background:var(--soft);color:var(--brand)}.calendar-link{margin-top:var(--space-8);font-size:var(--text-xl)}.calendar-link:hover{border-color:var(--sage);background:var(--sage-mist)}.menu ul{margin:0;padding:0;list-style:none}.hamburger{place-content:center;justify-items:center;min-width:44px;min-height:44px}.menu button,.reports-page button,.reports-page input,.reports-page select,.activity-page button,.activity-page input,.activity-page select,.booking-admin button,.booking-admin input:not([type=checkbox]),.booking-admin select,.google-calendar-panel button,.editor button,.editor input,.editor select{min-height:44px}.reports-page input[type=checkbox],.activity-page input[type=checkbox],.booking-admin input[type=checkbox],.client-toolbar input[type=checkbox]{width:20px;height:20px;min-height:20px}:is(.reports-page label:has(input[type=checkbox]),.booking-admin label:has(input[type=checkbox]),.client-toolbar label:has(input[type=checkbox])){align-items:center;gap:var(--space-4);min-height:44px;display:flex}.editor-head button,.calendar-head button{place-content:center;min-width:44px;min-height:44px;display:grid}.error-screen{margin:var(--space-11) auto;max-width:420px;padding:var(--space-10);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.error-screen h1{margin:0 0 var(--space-5);font-size:var(--text-3xl)}.error-screen p{margin:0 0 var(--space-8);color:var(--muted);line-height:1.5}.error-screen button{min-height:44px;padding:var(--space-5) var(--space-8);border-radius:var(--radius-field);background:var(--brand);color:#fff;border:0;font-weight:600}:where(button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--deep-ink);outline-offset:2px;box-shadow:0 0 0 2px var(--card)}.confirm-dialog .confirm-description{margin:0 0 var(--space-7);color:var(--muted);font-size:var(--text-lg);line-height:1.5}.confirm-items-label{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.confirm-items{margin:0 0 var(--space-8);padding:var(--space-5) var(--space-6);border-radius:var(--radius-field);background:var(--soft);max-height:180px;font-size:var(--text-lg);line-height:1.7;list-style:none;overflow-y:auto}.confirm-actions{gap:var(--space-4);display:grid}.confirm-actions button{gap:var(--space-1);min-height:44px;padding:var(--space-5) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);text-align:left;font-weight:600;display:grid}.confirm-actions button small{color:var(--muted);font-size:var(--text-sm);font-weight:500;line-height:1.4}.confirm-actions .confirm-danger{border-color:var(--danger);background:var(--danger);color:#fff}.confirm-actions .confirm-danger small{color:#fffc}.confirm-actions .confirm-keep{text-align:center;background:0 0;border-color:#0000;justify-items:center}.clear-day{gap:var(--space-1);width:100%;min-height:44px;margin-top:var(--space-5);padding:var(--space-6) var(--space-9);border:1px solid var(--line);border-radius:var(--radius-inner);color:var(--muted);text-align:left;background:0 0;font-weight:500;display:grid}.clear-day:hover{border-color:var(--sage);background:var(--card)}.clear-day small{color:var(--muted);font-size:var(--text-sm);font-weight:500}.fieldset-note{margin:0 0 var(--space-7);color:var(--muted);font-size:var(--text-md);line-height:1.5}.contact-row{margin-bottom:var(--space-7);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--soft)}.contact-row-head{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-2);display:flex}.contact-row-head b{font-size:var(--text-lg)}.contact-remove{min-height:36px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-field);color:var(--danger);font-size:var(--text-md);background:0 0;border:0;font-weight:600}.contact-add{width:100%;min-height:44px;padding:var(--space-5);border:1px dashed var(--line);border-radius:var(--radius-field);color:var(--brand);background:0 0;font-weight:600}.contact-row .check-label{align-items:center;gap:var(--space-4);min-height:44px;margin-top:var(--space-2);color:var(--ink);font-size:var(--text-md);letter-spacing:0;text-transform:none;font-weight:600;display:flex!important}.contact-row .check-label input{width:20px;height:20px;margin:0}.contact-row .check-label input:disabled{opacity:var(--disabled-opacity)}.share-label{justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-3);font-size:var(--text-md);color:var(--ink);font-weight:500;display:flex}.share-input{align-items:center;gap:var(--space-3);color:var(--muted);font-weight:500;display:inline-flex}.share-input input{text-align:right;width:84px;min-height:44px}.share-summary{justify-content:space-between;align-items:center;gap:var(--space-5);margin:var(--space-2) 0 var(--space-4);padding:var(--space-5) var(--space-6);border-radius:var(--radius-field);background:var(--sage);color:var(--deep-ink);font-size:var(--text-lg);flex-wrap:wrap;display:flex}.share-summary .contact-add{width:auto;min-height:40px;padding:var(--space-4) var(--space-7)}.share-summary-off{color:#8a3b1e;background:#f4dcd0}.contact-tags .tag-primary{border:1px solid var(--brand);color:var(--brand)}.client-contact em{color:var(--muted);font-style:normal;font-weight:500}.contact-tags{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.contact-tags span{padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.contact-tags .tag-payer{background:var(--brand);color:#fff}.contact-tags .tag-email{background:var(--sage);color:var(--deep-ink)}.contact-tags .tag-email-off{border:1px solid var(--line);color:var(--muted)}.tab-bar{display:none}@media (width<=767px){.tab-bar{z-index:var(--z-tab-bar);padding:var(--space-4) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom,var(--space-0)));border-top:1px solid var(--line);background:var(--paper);display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar button{align-items:center;gap:var(--space-2);min-height:46px;padding:var(--space-3) var(--space-1);border-radius:var(--radius-field);color:var(--muted);font-size:var(--text-xs);letter-spacing:.02em;background:0 0;border:0;flex-direction:column;flex:1;display:flex}.tab-bar button.selected{color:var(--brand);font-weight:600}.tab-bar button.selected svg{stroke-width:2.6px}.app{padding-bottom:calc(84px + env(safe-area-inset-bottom,var(--space-0)))}.app>header{display:none}}.activity-shortcut{border:1px solid var(--line);background:var(--card);width:40px;height:40px;color:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.activity-shortcut:hover{background:var(--soft)}.intro-head{align-items:flex-start;gap:var(--space-5);display:flex}.intro-head>div:first-child{flex:1;min-width:0}.client-search{margin-bottom:var(--space-7);display:block}.client-search input{width:100%;min-height:46px;padding:var(--space-5) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink);font:inherit}.client-search input::placeholder{color:var(--muted)}.profile-figures{gap:var(--space-5);margin-bottom:var(--space-7);display:flex}.profile-figures div{padding:var(--space-7) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card);flex:1}.profile-figures span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600;display:block}.profile-figures b{margin-top:var(--space-2);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-3xl);line-height:1.1;display:block}.profile-actions{gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.profile-actions button{flex:1;min-height:44px}.profile-message{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--brand);font-weight:600}.profile-message:disabled{cursor:not-allowed;color:var(--muted);opacity:var(--disabled-opacity)}.profile-month{margin:0 0 var(--space-8);padding:var(--space-7) var(--space-8);border-radius:var(--radius-inner);background:var(--sage);color:var(--ink);font-size:var(--text-xl)}.profile-recent div{padding:var(--space-5) 0;border-bottom:1px solid var(--line);font-size:var(--text-xl);justify-content:space-between;align-items:baseline;display:flex}.profile-recent b{font-weight:600}.billing-outstanding{margin-bottom:var(--space-5);padding:var(--space-9) var(--space-10);border-radius:var(--radius-card);background:var(--card)}.billing-outstanding span{color:var(--brand);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600;display:block}.billing-outstanding b{margin-top:var(--space-3);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-4xl);line-height:1.1;display:block}.billing-outstanding small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-lg);display:block}.billing-month{gap:var(--space-5);margin-bottom:var(--space-10);display:flex}.billing-month div{min-width:0;padding:var(--space-7) var(--space-8);border-radius:var(--radius-card);background:var(--card);flex-direction:column;flex:1;justify-content:space-between;display:flex}.billing-month span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:block}.billing-month b{margin-top:var(--space-2);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-3xl);line-height:1.1;display:block}.reports-chart{margin-bottom:var(--space-5);padding:var(--space-9) var(--space-10);border-radius:var(--radius-card);background:var(--card)}.reports-chart-label{color:var(--brand);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600;display:block}.reports-chart-total{margin-top:var(--space-3);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-4xl);font-weight:600;line-height:1.1;display:block}.reports-chart-sub{color:var(--muted);font-size:var(--text-lg);display:block}.reports-bars{align-items:flex-end;gap:var(--space-3);height:130px;margin-top:var(--space-8);display:flex}.reports-bars>div{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-direction:column;flex:1;height:100%;display:flex}.reports-bar{border-radius:var(--radius-pill) var(--radius-pill) var(--radius-field) var(--radius-field);background:var(--brand-fill);width:100%;max-width:56px;min-height:2px}.reports-bars small{color:var(--muted);font-size:var(--text-xs)}.reports-tiles{gap:var(--space-5);margin-bottom:var(--space-9);display:flex}.reports-tile{padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);flex:1}.reports-tile-hours{background:var(--sage-mist)}.reports-tile-rate{background:var(--card)}.reports-tile span{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:block}.reports-tile b{margin-top:var(--space-2);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-4xl);line-height:1.1;display:block}.reports-tile small{font-size:var(--text-md);display:block}.reports-tile-hours span,.reports-tile-hours b,.reports-tile-hours small{color:var(--sage-deep)}.reports-tile-rate span,.reports-tile-rate small{color:var(--muted)}.reports-hours-rows>div{align-items:center;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--line);display:flex}.reports-hours-rows span{width:34px;color:var(--muted);font-size:var(--text-lg);flex:none}.reports-track{border-radius:var(--radius-pill);background:var(--soft);flex:1;height:8px;overflow:hidden}.reports-track div{border-radius:var(--radius-pill);background:var(--accent);height:100%}.reports-hours-rows b{width:46px;font-size:var(--text-lg);text-align:right;flex:none}.form-preview{align-items:center;gap:var(--space-6);margin-bottom:var(--space-9);padding:var(--space-7) var(--space-8);border-radius:var(--radius-inner);display:flex}.form-preview-avatar{width:48px;height:48px;font-size:var(--text-xl);border:2px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.form-preview b{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-2xl);line-height:1.15;display:block}.form-preview small{margin-top:var(--space-1);font-size:var(--text-md);opacity:.85;display:block}.repeat-picker .fieldset-note{margin:var(--space-4) 0 0}.cycle-picker,.repeat-picker{margin:0 0 var(--space-8);border:0;padding:0}.repeat-picker{margin-top:var(--space-8)}.cycle-picker legend,.repeat-picker legend{color:var(--brand);font-size:var(--text-lg);padding:0;font-weight:600}.cycle-options,.repeat-options{gap:var(--space-3);margin-top:var(--space-4);display:flex}.cycle-options label,.repeat-options label{flex:1;position:relative}.cycle-options input,.repeat-options input{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute}.cycle-options span,.repeat-options span{min-height:42px;padding:var(--space-4) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink);font-size:var(--text-lg);text-align:center;justify-content:center;align-items:center;display:flex}.cycle-options label.selected span,.repeat-options label.selected span{border-color:var(--brand);background:var(--brand-fill);color:#fff;font-weight:600}.cycle-options input:focus-visible+span,.repeat-options input:focus-visible+span{outline:2px solid var(--deep-ink);outline-offset:2px}.profile-figures small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);letter-spacing:0;text-transform:none;display:block}.rail-row{gap:var(--space-6);align-items:stretch;min-height:46px;display:flex}.rail-hour{width:52px;padding-top:var(--space-5);color:var(--muted);font-size:var(--text-sm);letter-spacing:.02em;flex:none}.rail-slot{min-width:0;padding-bottom:var(--space-4);flex:1;position:relative}.rail-blank{height:1px;margin-top:var(--space-6);background:var(--line)}.rail-row.can-add .rail-slot{cursor:cell}.rail-row.can-add .rail-slot:hover .rail-blank{background:color-mix(in srgb, var(--brand) 45%, var(--line))}.rail-row.is-empty .rail-hour{opacity:.65}.rail-now{align-items:center;gap:var(--space-4);margin:0 0 var(--space-3);display:flex}.rail-now:before{background:var(--brand-fill);content:"";border-radius:50%;flex:none;width:7px;height:7px}.rail-now:after{background:var(--brand-fill);content:"";opacity:.55;flex:1;height:1.5px}.rail-now span{color:var(--brand);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;order:1;font-weight:600}.activity-areas{margin:0 0 var(--space-7);border:0;padding:0}.activity-areas legend{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;padding:0;font-weight:600}.activity-areas>div{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.activity-areas button{min-height:38px;padding:var(--space-4) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--ink);font-size:var(--text-md)}.activity-areas button:hover{border-color:var(--muted)}.activity-areas button.selected{border-color:var(--brand);background:var(--brand-fill);color:#fff;font-weight:600}.slot-picker{margin:0 0 var(--space-8);border:0;padding:0}.slot-picker legend{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;padding:0;font-weight:600}.slot-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.slot-grid button{justify-content:center;align-items:center;gap:var(--space-px);min-height:46px;padding:var(--space-3) var(--space-1);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);font-size:var(--text-md);flex-direction:column;display:flex}.slot-grid button:hover{border-color:var(--muted)}.slot-grid button small{color:var(--muted);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase}.slot-grid button.taken{background:var(--soft);color:var(--muted)}.slot-grid button.selected{border-color:var(--brand);background:var(--brand-fill);color:#fff;font-weight:600}.slot-grid button.selected small{color:#fff;opacity:.85}.session-summary{margin:var(--space-2) 0 var(--space-6);padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner);background:var(--sage-mist);color:var(--sage-deep);font-size:var(--text-lg)}.contact-payment{justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);display:flex}.contact-payment .payment-on-file{color:var(--ink);font-size:var(--text-md)}.contact-payment .payment-missing{color:var(--danger);font-size:var(--text-md)}.contact-payment button{padding:var(--space-3) var(--space-6);border:1px solid var(--brand);border-radius:var(--radius-pill);color:var(--brand);font-size:var(--text-md);cursor:pointer;background:0 0;flex:none}.contact-payment button:hover{background:var(--sea-glass)}.payment-dialog{max-width:460px}.payment-form{gap:var(--space-8);margin-top:var(--space-3);display:grid}.editor .payment-address-label{gap:var(--space-1);margin-top:0;display:grid}.editor .payment-address-label span{color:var(--muted);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:400}.payment-loading,.payment-pending p{color:var(--muted);font-size:var(--text-lg)}.payment-pending p+p{margin-top:var(--space-5)}.payment-test-banner{margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-field);background:var(--sage);color:var(--ink);font-size:var(--text-md)}.charge-review{margin-top:var(--space-10)}.charge-review h2{margin:var(--space-10) 0 var(--space-5);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-3xl)}.period-picker{align-items:end;gap:var(--space-5);flex-wrap:wrap;display:flex}.period-picker label{gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:grid}.period-picker input{padding:var(--space-5) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);font:inherit;font-size:var(--text-lg)}.period-picker button{padding:var(--space-5) var(--space-8);border-radius:var(--radius-pill);background:var(--brand-fill);color:#fff;font-size:var(--text-lg);cursor:pointer;border:0}.form-notice{margin:var(--space-6) 0 0;padding:var(--space-5) var(--space-7);border-radius:var(--radius-inner);background:var(--sage-mist);color:var(--sage-deep);font-size:var(--text-lg)}.billing-held{margin-top:var(--space-8);padding:var(--space-6) var(--space-7);border-radius:var(--radius-field);border:1px solid var(--line);background:var(--card)}.billing-held h3{margin:0 0 var(--space-4);font-size:var(--text-md);letter-spacing:.05em;text-transform:uppercase;color:var(--danger);font-weight:600}.billing-held div{justify-content:space-between;gap:var(--space-5);padding:var(--space-2) 0;font-size:var(--text-lg);display:flex}.billing-held span{color:var(--muted);font-size:var(--text-md);text-align:right}.invoice-card{margin-top:var(--space-6);padding:var(--space-8) var(--space-8);border-radius:var(--radius-card);background:var(--card);border:1px solid #0000}.invoice-card header{justify-content:space-between;align-items:start;gap:var(--space-5);display:flex}.invoice-card header b{font:600 17px/1.2 Cormorant Garamond,Georgia,serif;display:block}.invoice-card header span{color:var(--muted);font-size:var(--text-sm)}.invoice-status{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--soft);color:var(--brand);font-size:var(--text-sm);white-space:nowrap;flex:none;font-weight:500}.invoice-status.status-failed{background:var(--danger);color:#fff}.invoice-status.status-paid{background:var(--sage-mist);color:var(--sage-deep)}.invoice-lines{margin:var(--space-6) 0 0;font-size:var(--text-md);padding:0;list-style:none}.invoice-lines li{gap:var(--space-5);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;display:grid}.invoice-lines .line-what{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invoice-empty{color:var(--muted);display:block!important}.invoice-figures{justify-content:end;gap:var(--space-10);margin-top:var(--space-6);display:flex}.invoice-figures div{text-align:right}.invoice-figures span{color:var(--muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;display:block}.invoice-figures b{font-size:var(--text-xl)}.invoice-total b{font-size:var(--text-2xl)}.invoice-hint{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-md)}.invoice-actions{justify-content:end;gap:var(--space-4);margin-top:var(--space-6);display:flex}.invoice-actions button{padding:var(--space-4) var(--space-7);border:1px solid var(--brand);border-radius:var(--radius-pill);color:var(--brand);font-size:var(--text-lg);cursor:pointer;background:0 0}.invoice-actions button.primary{border-color:var(--brand);background:var(--brand-fill);color:#fff}.billing-note-mock{padding:var(--space-5) var(--space-6);border-radius:var(--radius-field);background:var(--soft);color:var(--muted);font-size:var(--text-md);line-height:1.5}.billing-note-mock b{color:var(--ink)}.client-list-tools{align-items:center;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.client-list-tools .client-search{flex:1;min-width:0;margin:0}.archived-filter{align-items:center;gap:var(--space-3);min-height:46px;padding:0 var(--space-7);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--muted);font-size:var(--text-md);white-space:nowrap;cursor:pointer;display:inline-flex;position:relative}.archived-filter:hover{border-color:var(--sage)}.archived-filter:has(input:checked){border-color:var(--brand);background:var(--soft);color:var(--brand)}.archived-filter:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.archived-filter input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.client-copy{min-width:0}.client-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-form-card .student-form-section{margin-top:var(--space-7);padding:var(--space-7);border-color:var(--line);background:var(--card)}.client-form-card .student-form-section>legend{margin-bottom:var(--space-2);color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-2xl);letter-spacing:0;text-transform:none}.student-form-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.4fr) minmax(110px,.8fr);display:grid}.student-basics-section .student-form-grid label{margin-top:var(--space-3)}.student-form-section .cycle-picker{margin:0}.student-form-section .fieldset-note{clear:both;margin-bottom:var(--space-5)}.colour-picker .show-colors{min-height:38px;margin-top:var(--space-4);padding:var(--space-3) 0;color:var(--brand);font-size:var(--text-md);background:0 0;border:0;font-weight:600}.contact-row{background:var(--card);padding:0;overflow:hidden}.contact-row-head{align-items:stretch;margin:0}.contact-disclosure{justify-content:space-between;align-items:center;gap:var(--space-5);min-width:0;min-height:58px;padding:var(--space-5) var(--space-6);color:var(--ink);text-align:left;background:0 0;border:0;flex:1;display:flex}.contact-disclosure>span:first-child{min-width:0}.contact-disclosure b,.contact-disclosure small{display:block}.contact-disclosure small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.contact-row-head .contact-remove{margin-right:var(--space-2);align-self:center}.contact-fields{padding:var(--space-1) var(--space-6) var(--space-6);border-top:1px solid var(--line)}.contact-options{margin-top:var(--space-5);padding:var(--space-3) var(--space-5);border-radius:var(--radius-inner);background:var(--soft)}.client-form-card .form-actions{z-index:var(--z-sticky);margin:var(--space-8) calc(var(--space-3) * -1) calc(var(--space-3) * -1);padding:var(--space-6) var(--space-3) var(--space-3);background:linear-gradient(transparent, var(--card) 18%);position:sticky;bottom:0}.client-form-card .form-actions .save-session{margin-top:0}.student-profile-title{justify-content:space-between;align-items:center;gap:var(--space-7);margin-bottom:var(--space-8);display:flex}.student-profile-title .profile-head{min-width:0;margin:0}.profile-edit{min-height:40px;padding:var(--space-3) var(--space-5);color:var(--brand);background:0 0;border:0;font-weight:600}.student-overview{margin-bottom:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);overflow:hidden}.student-overview-balance{justify-content:space-between;align-items:baseline;gap:var(--space-8);padding:var(--space-8) var(--space-8);border-bottom:1px solid var(--line);display:flex}.student-overview-balance span,.student-overview dt{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.student-overview-balance b{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-4xl)}.student-overview dl{grid-template-columns:1fr 1fr;margin:0;display:grid}.student-overview dl div{min-width:0;padding:var(--space-6) var(--space-8) var(--space-7)}.student-overview dl div+div{border-left:1px solid var(--line)}.student-overview dd{margin:var(--space-2) 0 0;color:var(--ink);font-size:var(--text-lg);font-weight:600;line-height:1.35}.student-profile-title+.student-overview+.profile-actions{margin-bottom:var(--space-10)}.student-profile-title+.student-overview+.profile-actions .save-session{margin-top:0}.student-detail-section{margin-top:var(--space-10)}.student-section-head{justify-content:space-between;align-items:end;gap:var(--space-7);margin-bottom:var(--space-4);display:flex}.student-section-head p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.student-section-head>span{max-width:48%;color:var(--muted);font-size:var(--text-sm);text-align:right}.billing-contact-card{padding:var(--space-7) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.billing-contact-head{justify-content:space-between;align-items:baseline;gap:var(--space-5);display:flex}.billing-contact-head b,.billing-contact-head span{display:block}.billing-contact-head b{font-size:var(--text-xl)}.billing-contact-head span{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.billing-contact-head small{color:var(--brand);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.billing-contact-role{margin:var(--space-4) 0 0;color:var(--ink);font-size:var(--text-md);line-height:1.45}.billing-contact-details{gap:var(--space-2) var(--space-6);margin-top:var(--space-3);color:var(--muted);font-size:var(--text-md);flex-wrap:wrap;display:flex}.contact-warning{font-weight:600;color:var(--danger)!important}.student-empty-note{padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner);background:var(--card);font-size:var(--text-md);border:1px solid #dfb4aa;margin:0;line-height:1.45}.additional-contacts{margin-top:var(--space-4)}.additional-contacts summary,.student-more summary{cursor:pointer;min-height:44px;color:var(--brand);font-size:var(--text-md);justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.additional-contacts summary::-webkit-details-marker{display:none}.student-more summary::-webkit-details-marker{display:none}.additional-contacts summary span{color:var(--muted)}.additional-contact-list{gap:var(--space-4);display:grid}.profile-recent.student-detail-section{margin-top:var(--space-10)}.profile-recent .student-section-head,.profile-recent .student-section-head>div,.profile-recent .recent-session-list{border:0;padding:0}.profile-recent .student-section-head{display:flex}.profile-recent .student-section-head>div,.profile-recent .recent-session-list{display:block}.profile-recent .recent-session-row{gap:var(--space-6);padding:var(--space-5) 0;border-bottom:1px solid var(--line);font-size:var(--text-lg);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.recent-session-row>span:first-child b,.recent-session-row>span:first-child small{display:block}.recent-session-row>span:first-child small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm)}.recent-session-status{color:var(--muted);font-size:var(--text-sm)}.student-more{margin-top:var(--space-9);border-top:1px solid var(--line)}.student-more .archive-button{width:100%;margin-top:var(--space-1)}.student-more .delete-client-button{width:100%;min-height:44px;margin-top:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-field);color:var(--danger);background:0 0;font-weight:600}.student-more .delete-client-button:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}.student-delete-note{margin-top:var(--space-3);color:var(--muted);line-height:1.45;display:block}@media (width<=390px){.student-form-grid{grid-template-columns:1fr;gap:0}.client-list-tools{gap:var(--space-4)}.archived-filter{font-size:var(--text-sm)}.student-overview dl{grid-template-columns:1fr}.student-overview dl div+div{border-top:1px solid var(--line);border-left:0}}.student-next-session{justify-content:space-between;align-items:baseline;gap:var(--space-7);margin:var(--space-2) 0 var(--space-10);padding:var(--space-6) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex}.student-next-session span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.student-next-session b{font-size:var(--text-lg);text-align:right}.section-edit{min-height:40px;padding:var(--space-3) 0 var(--space-3) var(--space-5);color:var(--brand);font-size:var(--text-md);background:0 0;border:0;flex:none;font-weight:600}.contact-only-card .billing-contact-details a{color:var(--brand);text-decoration:none}.contact-only-card .billing-contact-details a:hover{text-decoration:underline}.billing-balance-line{justify-content:space-between;align-items:baseline;gap:var(--space-7);padding:var(--space-7) var(--space-8);border-bottom:1px solid var(--line);display:flex}.billing-balance-line b{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-3xl)}.student-billing-summary dl{grid-template-columns:1fr 1fr;margin:0;display:grid}.student-billing-summary dl div{min-width:0;padding:var(--space-6) var(--space-8)}.student-billing-summary dd{margin:var(--space-2) 0 0;color:var(--ink);font-size:var(--text-lg);font-weight:600}.billing-settings-edit{width:100%;min-height:42px;padding:var(--space-4) var(--space-8);border:0;border-top:1px solid var(--line);color:var(--brand);font-size:var(--text-md);text-align:left;background:0 0;font-weight:600}.billing-settings-edit:hover{background:var(--soft)}.payment-methods-head{margin:var(--space-9) 0 var(--space-4)}.payment-methods-head h3{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--text-2xl);margin:0}.payment-methods-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.billing-payment-list{gap:var(--space-4);display:grid}.billing-payment-row{gap:var(--space-7);padding:var(--space-6) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card);grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr);align-items:center;display:grid}.billing-payer-copy b,.billing-payer-copy small,.billing-payment-method span{display:block}.billing-payer-copy b{font-size:var(--text-lg)}.billing-payer-copy small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-xs)}.billing-payment-method{text-align:right;min-width:0}.billing-payment-method span{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.billing-payment-method .payment-missing{color:var(--danger)}.billing-payment-method button{min-height:38px;margin-top:var(--space-3);padding:var(--space-3) var(--space-5);border:1px solid var(--brand);border-radius:var(--radius-field);color:var(--brand);font-size:var(--text-sm);background:0 0;font-weight:600}.billing-payment-method button:hover{background:var(--soft)}@media (width<=390px){.billing-payment-row{gap:var(--space-4);grid-template-columns:1fr}.billing-payment-method{text-align:left}.billing-payment-method button{width:100%}}.clients-page,.client-form-card,.client-form-card form{width:100%;min-width:0;max-width:100%}.client-form-card{background:0 0;border:0;padding:0;overflow:visible}.client-form-card .editor-head{gap:var(--space-6);margin-bottom:var(--space-6)}.client-form-card .editor-head>div{min-width:0}.client-form-card .editor-head h2{overflow-wrap:anywhere}.client-form-card .form-preview{width:100%;min-width:0;margin-bottom:var(--space-7);padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner)}.client-form-card .form-preview>div:last-child{min-width:0}.client-form-card .form-preview small{overflow-wrap:anywhere}.client-form-card .student-form-section{width:100%;min-width:0;min-inline-size:0;margin:var(--space-5) 0 0;padding:var(--space-7) var(--space-8) var(--space-8);border-radius:var(--radius-inner);background:var(--card);box-shadow:var(--lift);border:0;overflow:hidden}.client-form-card .student-form-section>legend{float:none;width:auto;max-width:100%;margin:0 0 var(--space-2);overflow-wrap:anywhere}.client-form-card .student-form-section>.fieldset-note{margin:0 0 var(--space-5)}.client-form-card .student-form-grid{width:100%;min-width:0}.client-form-card label,.client-form-card input,.client-form-card select{min-width:0;max-width:100%}.client-form-card select{width:100%;min-height:44px;margin-top:var(--space-2);padding:var(--space-4) var(--space-11) var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);font-size:var(--text-xl);letter-spacing:0;text-transform:none;font-weight:400;display:block}.client-form-card .swatches{max-width:100%}.client-form-card .contact-row,.client-form-card .contact-row-head,.client-form-card .contact-disclosure,.client-form-card .contact-fields,.client-form-card .contact-options,.client-form-card .share-summary{width:100%;min-width:0;max-width:100%}.client-form-card .contact-disclosure small{overflow-wrap:anywhere;white-space:normal}.client-form-card .contact-options .check-label{align-items:flex-start;line-height:1.35}.client-form-card .contact-options .check-label input{margin-top:var(--space-px);flex:none}.contact-remove-expanded{width:100%;min-height:42px;margin-top:var(--space-5);padding:var(--space-4) 0;border-top:1px solid var(--line);text-align:left;border-radius:0}.client-form-card .share-input{flex:none}.client-form-card .form-actions{width:100%;max-width:100%;margin:var(--space-7) 0 0;padding:var(--space-6) 0 var(--space-2)}.client-form-card .form-actions button{flex:1;width:auto;min-width:0}@media (width<=520px){.client-form-card .student-form-grid{grid-template-columns:1fr;gap:0}.client-form-card .student-form-section{padding:var(--space-7)}.client-form-card .share-summary{grid-template-columns:1fr;display:grid}.client-form-card .share-summary .contact-add{width:100%}}.reports-page .reports-overview-section,.reports-page .reports-builder,.reports-page .reports-results{margin-top:var(--space-8);padding:var(--space-9);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card)}.reports-page .reports-overview-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reports-page .reports-builder-head,.reports-page .reports-results-head{margin-bottom:var(--space-8)}.reports-page .reports-range{padding:var(--space-7);border-radius:var(--radius-field);background:var(--soft);border:0}.reports-page .reports-section{margin-top:var(--space-9);padding:var(--space-8) 0 0;border-top:1px solid var(--line);background:0 0;border-radius:0}.activity-page .activity-filters{padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.booking-admin .booking-card{margin-top:var(--space-8);padding:var(--space-8) var(--space-9);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card)}.booking-admin .availability-form{padding:var(--space-7);border-radius:var(--radius-field);background:var(--soft);border:0}.booking-admin .booking-empty{padding:var(--space-7);border-radius:var(--radius-field);background:var(--soft)}.app .google-calendar-panel,.app .recurrence-panel{margin-top:var(--space-8);padding:var(--space-8) var(--space-9);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card)}.app .google-calendar-panel{margin-bottom:0}.app .recurrence-actions button,.app .recurrence-exceptions button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);background:var(--soft)}.app .recurrence-actions .danger-link{background:var(--danger-mist)}@media (width<=520px){.reports-page .reports-overview-section,.reports-page .reports-builder,.reports-page .reports-results,.booking-admin .booking-card,.app .google-calendar-panel,.app .recurrence-panel{padding:var(--space-8)}}@media (width<=767px){.client-form-card .form-actions{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media (width<=350px){.client-form-card .form-preview-avatar{width:42px;height:42px}.client-form-card .student-form-section{padding:var(--space-6)}.client-form-card .colour-picker .swatch{width:40px;height:40px}}.client-form-card .student-form-section{padding:var(--space-10) 0;border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin:0;overflow:visible}.client-form-card .student-form-section:first-of-type{padding-top:var(--space-4);border-top:0}.student-colour-control{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--line)}.form-control-label{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.student-colour-control .fieldset-note{margin:0 0 var(--space-4)}.client-form-card .contact-row{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin:0;overflow:visible}.client-form-card .contact-row:last-of-type{border-bottom:1px solid var(--line)}.client-form-card .contact-disclosure{padding:var(--space-6) 0}.client-form-card .contact-fields{padding:0 0 var(--space-8);border-top:0;overflow:visible}.client-form-card .contact-options{margin-top:var(--space-7);padding:var(--space-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;border-radius:0}.client-form-card .contact-options .check-label+.check-label{border-top:1px solid color-mix(in srgb, var(--line) 65%, transparent)}.client-form-card .contact-add{min-height:44px;padding:var(--space-5) 0;text-align:left;background:0 0;border:0;border-radius:0}.client-form-card .share-summary{padding:var(--space-5) 0;color:var(--ink);background:0 0;border-radius:0;margin:0}.client-form-card .share-summary-off{color:var(--danger)}.client-form-card .share-summary .contact-add{width:auto;min-height:36px;padding:var(--space-2) 0}.client-form-card .contact-remove-expanded{background:0 0;padding-inline:0}.client-form-card .form-actions{border-top:1px solid var(--line)}.assistant-proposal{margin-top:var(--space-7);padding:var(--space-7) 0 0;border:0;border-top:1px solid color-mix(in srgb, var(--sage-deep) 25%, transparent);background:0 0;border-radius:0}.assistant-affected{padding:var(--space-3) 0 var(--space-3) var(--space-10);border-left:2px solid var(--sage);background:0 0;border-radius:0}.reports-range,.reports-client-filter{min-width:0;min-inline-size:0;padding:var(--space-7) 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;border-radius:0}.reports-client-filter legend{padding:0}.reports-client-filter>button{padding:var(--space-3) 0;background:0 0;border:0;border-radius:0}.reports-client-filter>button.selected{color:var(--brand);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.reports-client-filter label{padding:var(--space-4) var(--space-1);border-bottom:1px solid var(--line);background:0 0;border-radius:0}.reports-section{margin-top:var(--space-10);padding:var(--space-9) 0 0;border-top:1px solid var(--line);background:0 0;border-radius:0}.booking-card,.google-calendar-panel,.recurrence-panel{margin-top:var(--space-8);padding:var(--space-9) 0 0;border-top:1px solid var(--line);background:0 0;border-radius:0}.booking-type-row input,.availability-form input,.availability-form select,.booking-type-row button,.availability-form button,.availability-list button,.booking-request-actions button,.google-calendar-connect,.google-calendar-actions button{border-radius:var(--radius-field)}.booking-request-list{gap:0}.booking-request-list article{padding:var(--space-6) 0;border-top:1px solid var(--line);background:0 0;border-radius:0}.booking-empty{padding:var(--space-7) 0;background:0 0;border-radius:0}.google-calendar-setup,.google-calendar-queued{padding:var(--space-3) 0 var(--space-3) var(--space-5);border-left:3px solid var(--sage);background:0 0;border-radius:0}.recurrence-actions button,.recurrence-exceptions button{padding:var(--space-3) var(--space-2);background:0 0;border-radius:0}.recurrence-actions .danger-link{background:0 0}.contact-only-card,.billing-payment-row{padding:var(--space-6) 0;border:0;border-top:1px solid var(--line);background:0 0;border-radius:0}.contact-only-card:last-child,.billing-payment-row:last-child{border-bottom:1px solid var(--line)}.student-billing-summary{background:0 0;border:0;border-radius:0;overflow:visible}.student-billing-summary .billing-balance-line{padding:var(--space-7) 0;border-top:1px solid var(--line)}.student-billing-summary dl div{padding:var(--space-6) 0}.student-billing-summary dl div+div{padding-left:var(--space-8)}.student-billing-summary .billing-settings-edit{padding:var(--space-5) 0;border-top:0}.reports-page .page-title{margin-bottom:var(--space-10)}.reports-overview-section{padding:var(--space-9) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reports-overview-head,.reports-builder-head,.reports-results-head{justify-content:space-between;align-items:end;gap:var(--space-7);margin-bottom:var(--space-7);display:flex}.reports-overview-head p,.reports-builder-head p,.reports-results-head p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;font-weight:600}.reports-overview-head h2,.reports-builder-head h2,.reports-results-head h2{margin:0;font:600 22px Cormorant Garamond,Georgia,serif}.reports-overview-head>span{color:var(--muted);font-size:var(--text-sm)}.reports-trend-window{gap:var(--space-2);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);display:inline-flex}.reports-trend-window button{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;font-weight:600}.reports-trend-window button.selected{background:var(--brand);color:#fff}.reports-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.25fr .85fr .9fr 1fr;gap:0;margin:0;display:grid}.reports-summary>div{min-width:0;padding:var(--space-7) var(--space-8);background:0 0;border:0;border-radius:0}.reports-summary>div:first-child{padding-left:0}.reports-summary>div+div{border-left:1px solid var(--line)}.reports-summary span{color:var(--muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:block}.reports-summary strong{margin-top:var(--space-2);color:var(--ink);overflow-wrap:anywhere;font:600 24px Cormorant Garamond,Georgia,serif;display:block}.reports-revenue-chart{padding-top:var(--space-8)}.reports-revenue-chart>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.reports-revenue-chart .reports-bars{height:145px;margin-top:var(--space-6)}.reports-hours-details,.reports-session-details,.reports-client-filter{border-top:1px solid var(--line)}.reports-hours-details{margin-top:var(--space-8)}.reports-hours-details summary,.reports-session-details summary,.reports-client-filter summary{justify-content:space-between;align-items:center;gap:var(--space-7);cursor:pointer;min-height:46px;color:var(--ink);font-size:var(--text-md);font-weight:600;list-style:none;display:flex}.reports-hours-details summary::-webkit-details-marker{display:none}.reports-session-details summary::-webkit-details-marker{display:none}.reports-client-filter summary::-webkit-details-marker{display:none}.reports-hours-details summary small,.reports-session-details summary small,.reports-client-filter summary small{color:var(--muted);font-size:var(--text-xs);font-weight:500}.reports-hours-details[open] summary small{font-size:0}.reports-hours-details[open] summary small:after{font-size:var(--text-xs);content:"Hide details"}.reports-builder,.reports-results{margin-top:var(--space-11);padding-top:var(--space-10);border-top:1px solid var(--line)}.reports-builder>label{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600;display:grid}.reports-builder>label select{width:100%;min-height:46px;padding:var(--space-5) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);color:var(--ink);font-size:var(--text-xl);letter-spacing:0;text-transform:none;font-weight:400}.reports-builder .reports-range{margin-top:var(--space-6)}.reports-client-filter{margin:var(--space-7) 0 0;border-bottom:1px solid var(--line);padding:0;display:block}.reports-client-options{padding-bottom:var(--space-6);max-height:none!important;display:block!important;overflow:visible!important}.reports-client-options>button{min-height:40px;padding:var(--space-3) 0;color:var(--brand);font-size:var(--text-sm);background:0 0;border:0;font-weight:600}.reports-client-options>button.selected{text-underline-offset:3px;text-decoration:underline}.reports-client-options>div{gap:0 var(--space-7);grid-template-columns:1fr 1fr;max-height:190px;display:grid;overflow-y:auto}.reports-results-head h2{font-size:var(--text-2xl)}.reports-result-actions{gap:var(--space-3);display:flex}.reports-result-actions button{min-height:40px;padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);color:var(--brand);font-size:var(--text-sm);background:0 0;font-weight:600}.reports-result-actions button:last-child{border-color:var(--brand);background:var(--brand-fill);color:#fff}.reports-student-breakdown .reports-client-list article{min-height:64px;padding:var(--space-6) 0}.reports-client-identity{gap:var(--space-2)!important}.reports-client-identity strong{color:var(--deep-ink);font:600 17px/1.1 Cormorant Garamond,Georgia,serif}.reports-client-identity span{color:var(--muted);font-size:var(--text-sm)}.reports-client-list .reports-client-amount{gap:var(--space-1);text-align:right;flex:none;display:grid}.reports-client-amount small{color:var(--muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:600}.reports-client-amount b{color:var(--deep-ink);font:600 18px/1.1 Cormorant Garamond,Georgia,serif}.reports-session-details{margin-top:var(--space-9);border-bottom:1px solid var(--line)}.reports-session-details>p{margin:calc(var(--space-1) * -1) 0 var(--space-5);color:var(--muted);font-size:var(--text-xs)}.reports-session-details .reports-table-wrap{margin-bottom:var(--space-7)}@media (width<=480px){.reports-summary{grid-template-columns:1fr 1fr}.reports-summary>div:nth-child(odd){border-left:0;padding-left:0}.reports-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.reports-overview-head,.reports-results-head{flex-direction:column;align-items:stretch}.reports-trend-window{align-self:start}.reports-result-actions{grid-template-columns:1fr 1fr;display:grid}.reports-client-options>div{grid-template-columns:1fr}.reports-bars:has(>div:nth-child(7))>div:nth-child(2n) small{visibility:hidden}}.student-detail-page{max-width:980px;margin-inline:auto}.student-detail-page .back{margin-bottom:var(--space-7);font-size:var(--text-md)}.student-detail-page .student-profile-title{margin-bottom:var(--space-6)}.student-detail-page .profile-head{gap:var(--space-6)}.student-detail-page .profile-head h1{font-size:var(--text-4xl)}.student-detail-page .profile-edit{min-height:36px;padding:var(--space-3) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-field);font-size:var(--text-sm)}.student-detail-page .profile-edit:hover,.student-detail-page .profile-edit:focus-visible{background:var(--soft)}.student-detail-page .student-next-session{padding:var(--space-6) var(--space-7);border-radius:var(--radius-field);background:var(--soft);border:0;margin:0}.student-detail-page .student-next-session b{font-size:var(--text-md)}.student-detail-page .student-next-session-value{justify-content:flex-end;align-items:center;gap:var(--space-6);text-align:right;display:flex}.student-detail-page .student-next-session.is-empty b{color:var(--muted);font-weight:500}.student-detail-page .student-next-session button{min-height:34px;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-field);color:var(--brand);font-size:var(--text-sm);background:0 0;font-weight:600}.student-detail-page .student-next-session button:hover,.student-detail-page .student-next-session button:focus-visible{background:var(--soft)}.student-detail-page .student-detail-section{margin-top:var(--space-8);padding:var(--space-8) var(--space-9) var(--space-9);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card)}.student-detail-page .section-edit{min-height:36px;padding-block:var(--space-3);font-size:var(--text-sm)}.student-detail-page .contact-only-card{gap:var(--space-10);padding:var(--space-6) 0;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);align-items:start;display:grid}.student-detail-page .contact-information{min-width:0}.student-detail-page .billing-contact-role{font-size:var(--text-sm);margin:0}.student-detail-page .billing-contact-details{margin-top:var(--space-2);font-size:var(--text-sm)}.student-detail-page .additional-contacts{border-bottom:1px solid var(--line);margin-top:0}.student-detail-page .additional-contacts summary{min-height:42px;font-size:var(--text-sm)}.additional-contacts-action:before{content:"Show"}.additional-contacts-action:after{margin-left:var(--space-3);content:"⌄";transition:transform .16s;display:inline-block}.additional-contacts[open] .additional-contacts-action:before{content:"Hide"}.additional-contacts[open] .additional-contacts-action:after{transform:rotate(180deg)}.student-detail-page .student-billing-summary dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr}.student-detail-page .student-billing-summary dl div{padding:var(--space-6) var(--space-8)}.student-detail-page .student-billing-summary dl div:first-child{padding-left:0}.student-detail-page .student-billing-summary dl div+div{border-left:1px solid var(--line)}.student-detail-page .billing-balance-cell dd{font:600 20px/1 Cormorant Garamond,Georgia,serif}.student-detail-page .billing-settings-edit{width:auto;min-height:38px;padding:var(--space-4) 0;font-size:var(--text-sm)}.student-detail-page .payment-methods-head{margin:var(--space-3) 0 var(--space-2);padding-top:var(--space-8);border-top:1px solid var(--line)}.student-detail-page .payment-methods-head p{font-size:var(--text-xs)}.student-detail-page .billing-payment-list{gap:0}.student-detail-page .billing-payment-row{gap:var(--space-9);min-height:60px;padding:var(--space-5) 0;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr)}.student-detail-page .billing-payment-method{gap:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.student-detail-page .billing-payment-method span{font-size:var(--text-sm)}.student-detail-page .billing-payment-method .payment-missing{font-weight:600}.student-detail-page .billing-payment-method button{min-height:34px;padding:var(--space-3) var(--space-4);border-color:var(--line);border-radius:var(--radius-field);font-size:var(--text-sm);margin-top:0}.student-detail-page .profile-recent .recent-session-list{border-top:1px solid var(--line)}@media (width<=620px){.student-detail-page{max-width:100%}.student-detail-page .student-detail-section{padding:var(--space-8)}.student-detail-page .contact-only-card{gap:var(--space-3);grid-template-columns:1fr}.student-detail-page .student-billing-summary dl{grid-template-columns:1fr}.student-detail-page .student-billing-summary dl div,.student-detail-page .student-billing-summary dl div:first-child,.student-detail-page .student-billing-summary dl div+div{padding:var(--space-5) 0;border-left:0}.student-detail-page .student-billing-summary dl div+div{border-top:1px solid var(--line)}.student-detail-page .billing-payment-row{gap:var(--space-4);grid-template-columns:1fr}.student-detail-page .billing-payment-method{text-align:left}}@media (width<=390px){.student-detail-page .student-profile-title{align-items:flex-start}.student-detail-page .profile-avatar{width:46px;height:46px;font-size:var(--text-2xl)}.student-detail-page .profile-head h1{font-size:var(--text-3xl)}.student-detail-page .student-next-session-value{align-items:flex-end;gap:var(--space-3);flex-direction:column}.student-detail-page .billing-payment-method{gap:var(--space-3);grid-template-columns:1fr}}.client-form-card{max-width:820px;margin-inline:auto}.client-form-card .student-form-section,.client-form-card .student-form-section:first-of-type{margin:var(--space-6) 0 0;padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card);box-shadow:none;overflow:hidden}.client-form-card .student-form-section>legend{float:left;width:100%;margin-bottom:var(--space-2);color:var(--deep-ink);font-size:var(--text-3xl)}.client-form-card .student-form-section>.fieldset-note{margin-bottom:var(--space-6);color:var(--muted);font-size:var(--text-sm);line-height:1.45}.client-form-card .student-form-section label:not(.swatch):not(.check-label){color:var(--ink);font-size:var(--text-sm);letter-spacing:.035em}.client-form-card input:not([type=radio]):not([type=checkbox]),.client-form-card select{border-color:color-mix(in srgb, var(--brand) 22%, var(--line));background:var(--card)}.client-form-card input:not([type=radio]):not([type=checkbox]):focus,.client-form-card select:focus{border-color:var(--brand);outline:3px solid color-mix(in srgb, var(--sea-glass) 70%, transparent);outline-offset:1px}.client-form-card .billing-settings-grid{gap:var(--space-7);grid-template-columns:1fr 1fr}.client-form-card .billing-settings-grid .billing-cycle-select{margin-top:var(--space-6)!important}.client-form-card .money-input{margin-top:var(--space-2);border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));border-radius:var(--radius-field);background:var(--card);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;overflow:hidden}.client-form-card .money-input>span{padding-left:var(--space-5);color:var(--muted);font-size:var(--text-xl);font-weight:500}.client-form-card .money-input input{padding-left:var(--space-2);margin-top:0;border:0!important;outline:0!important}.client-form-card .money-input:focus-within{border-color:var(--brand);outline:3px solid color-mix(in srgb, var(--sea-glass) 70%, transparent);outline-offset:1px}.client-form-card .contact-options{margin-top:var(--space-7);padding:var(--space-5) var(--space-6);border-radius:var(--radius-field);background:var(--soft);border:0}.client-form-card .contact-options-label{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:700}.client-form-card .contact-options .check-label{min-height:36px;padding:var(--space-4) 0}@media (width<=520px){.client-form-card .student-form-section,.client-form-card .student-form-section:first-of-type{padding:var(--space-7)}.client-form-card .billing-settings-grid{grid-template-columns:1fr;gap:0}}.more-sheet nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.more-sheet nav button{gap:var(--space-1);width:100%;padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner);color:var(--ink);font-size:var(--text-xl);text-align:left;background:0 0;border:0;font-weight:500;display:grid}.more-sheet nav button:hover{background:var(--soft)}.more-sheet nav button.selected{background:var(--sea-glass);color:var(--brand)}.assistant-fab{right:20px;bottom:calc(var(--dock-inset) + env(safe-area-inset-bottom,0px));z-index:var(--z-dock);border:1px solid var(--brand);border-radius:var(--radius-pill);background:var(--brand-fill,var(--brand));color:#fff;width:54px;height:54px;font-size:var(--text-3xl);justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.app:has(.client-form-card) .assistant-fab{display:none}.assistant-dock{right:20px;bottom:calc(var(--dock-inset) + env(safe-area-inset-bottom,0px));z-index:var(--z-dock);width:min(460px,100vw - 40px);height:min(720px, calc(100vh - var(--dock-inset) - 40px));border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);min-height:480px;padding:0;position:fixed;overflow:hidden;box-shadow:0 18px 44px #0003}.assistant-dock-head{top:var(--space-7);right:var(--space-7);z-index:2;position:absolute}.assistant-dock-head>button{border-radius:var(--radius-field);min-width:32px;min-height:32px;color:var(--muted);font-size:var(--text-2xl);background:0 0;border:0;line-height:1}.assistant-dock .assistant{width:100%;height:100%;min-height:0;max-height:none;padding:var(--space-7);box-shadow:none;background:0 0;border:0;margin:0}.assistant-dock .assistant-title-row{padding-right:calc(var(--space-9) * 2 + var(--space-1))}@media (width<=767px){:root{--dock-inset:96px}.assistant-dock{width:auto;height:calc(100vh - var(--dock-inset) - 24px);min-height:0;max-height:none;left:12px;right:12px}}.student-detail-page{max-width:620px}.student-record-header{gap:var(--space-6);margin:var(--space-4) 0 var(--space-8);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.student-record-back{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--card);width:40px;height:40px;color:var(--brand);place-items:center;padding:0;display:grid}.student-record-back:hover,.student-record-back:focus-visible{background:var(--soft)}.student-record-heading{min-width:0}.student-record-heading p{margin:var(--space-px) 0 var(--space-1);color:var(--brand);font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;font-weight:600}.student-record-heading h1{color:var(--deep-ink);overflow-wrap:anywhere;margin:0;font:600 30px/1.08 Cormorant Garamond,Georgia,serif}.student-record-heading>span{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-md);display:block}.student-detail-page .student-record-header .profile-avatar{width:48px;height:48px;font-size:var(--text-2xl);border:2px solid}.student-record-summary{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.student-record-summary>div{min-width:0;padding:var(--space-7) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.student-record-summary span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;font-weight:600;display:block}.student-record-summary b{margin-top:var(--space-2);color:var(--deep-ink);overflow-wrap:anywhere;font:600 24px/1.05 Cormorant Garamond,Georgia,serif;display:block}.student-record-actions{gap:var(--space-4);margin-bottom:var(--space-11);grid-template-columns:1fr 1fr;display:grid}.student-record-actions button{min-height:44px;padding:var(--space-4) var(--space-6);border:1px solid var(--brand);border-radius:var(--radius-field);background:var(--card);color:var(--brand);font-size:var(--text-md);font-weight:600}.student-record-actions button:first-child{border-color:var(--brand-fill);background:var(--brand-fill);color:#fff}.student-record-section{margin-top:var(--space-11)}.student-detail-page .student-record-section .student-section-head{margin-bottom:var(--space-2)}.student-detail-page .student-record-section .student-section-head h2{color:var(--deep-ink);letter-spacing:0;text-transform:none;margin:0;font:600 19px/1.15 Cormorant Garamond,Georgia,serif}.student-section-copy{margin:0 0 var(--space-6);color:var(--muted);font-size:var(--text-md);line-height:1.45}.contact-record-list{gap:var(--space-5);display:grid}.contact-record-card{padding:var(--space-8) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}.contact-record-head b,.contact-record-head span,.contact-record-head small{display:block}.contact-record-head b{color:var(--deep-ink);font:600 17px/1.15 Cormorant Garamond,Georgia,serif}.contact-record-head span{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-md);overflow-wrap:anywhere}.contact-record-head small{margin-top:var(--space-1);font-size:var(--text-sm)}.contact-record-head a{color:var(--brand);text-decoration:none}.contact-record-head a:hover{text-decoration:underline}.contact-record-tags{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.contact-record-tags span{padding:var(--space-2) var(--space-4);border-radius:var(--radius-field);font-size:var(--text-2xs);font-weight:600}.contact-tag-primary,.contact-tag-neutral{background:var(--soft);color:var(--brand)}.contact-tag-payer{background:var(--sage-mist);color:var(--sage-deep)}.contact-record-tags .contact-tag-warning{background:var(--danger-mist);color:var(--danger)}.student-detail-page .student-record-section.student-billing-section{border-top:0;padding-top:0}.student-payment-card{padding:var(--space-2) var(--space-8) var(--space-7);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card);overflow:hidden}.student-payment-card .student-billing-summary dl{border:0;display:block}.student-payment-card .student-billing-summary dl>div{gap:var(--space-7);padding:var(--space-6) 0;border:0;border-bottom:1px solid var(--line);display:flex}.student-payment-card .student-billing-summary dt{width:116px;color:var(--muted);font-size:var(--text-sm);letter-spacing:0;text-transform:none;flex:none;font-weight:500}.student-payment-card .student-billing-summary dd{font-size:var(--text-md);text-align:left;flex:1;margin:0}.student-payment-card .payment-methods-head{margin:var(--space-7) 0 var(--space-2);border-top:0;padding-top:0}.student-payment-card .payment-methods-head h3{font-size:var(--text-xl)}.student-payment-card .billing-payment-row{padding:var(--space-6) 0}.student-invoice-history{margin-top:var(--space-11);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card);overflow:hidden}.student-invoice-history summary{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:56px;padding:var(--space-6) var(--space-8);cursor:pointer;color:var(--deep-ink);font:600 17px/1.15 Cormorant Garamond,Georgia,serif;list-style:none;display:flex}.student-invoice-history summary::-webkit-details-marker{display:none}.student-invoice-history summary small{color:var(--muted);font-family:Jost,system-ui,sans-serif;font-size:var(--text-xs);font-weight:500}.student-invoice-history summary small:after{margin-left:var(--space-3);content:"⌄";transition:transform .16s;display:inline-block}.student-invoice-history[open] summary small:after{transform:rotate(180deg)}.student-invoice-history>div{padding:var(--space-7) var(--space-8) var(--space-8);border-top:1px solid var(--line)}.student-invoice-history p{margin:0 0 var(--space-6);color:var(--muted);font-size:var(--text-md);line-height:1.45}.student-invoice-history button{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--soft);width:100%;min-height:42px;color:var(--brand);font-size:var(--text-md);font-weight:600}.student-detail-page .student-record-section.profile-recent{padding:var(--space-8) var(--space-8);border:1px solid var(--line);border-radius:var(--radius-inner);background:var(--card)}@media (width<=390px){.student-record-header{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) 44px}.student-record-heading h1{font-size:var(--text-4xl)}.student-detail-page .student-record-header .profile-avatar{width:44px;height:44px;font-size:var(--text-xl)}.student-record-summary>div,.contact-record-card{padding-inline:var(--space-7)}.student-record-summary b{font-size:var(--text-2xl)}.student-payment-card{padding-inline:var(--space-7)}.student-payment-card .student-billing-summary dt{width:102px}}.two-factor-panel{margin-bottom:var(--space-8);padding:var(--space-8);border-radius:var(--radius-card);background:var(--card)}.two-factor-panel>div:first-child p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:600}.two-factor-panel>div:first-child h2{margin:0;font:600 18px Cormorant Garamond,Georgia,serif}.two-factor-copy,.two-factor-message,.two-factor-warning,.two-factor-notice,.two-factor-error{margin:var(--space-5) 0 0;font-size:var(--text-sm);line-height:1.5}.two-factor-copy,.two-factor-message{color:var(--muted)}.two-factor-warning{padding:var(--space-4) var(--space-5);border-radius:var(--radius-field);background:var(--soft);color:var(--brand)}.two-factor-notice{color:var(--sage-deep)}.two-factor-error{color:var(--danger)}.two-factor-list{margin:var(--space-6) 0 0;padding:0;list-style:none}.two-factor-list li{align-items:center;gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--line);display:flex}.two-factor-list li:last-child{border-bottom:0}.two-factor-list li>span{border-radius:var(--radius-pill);background:var(--sage-mist);width:20px;height:20px;color:var(--sage-deep);font-size:var(--text-sm);place-items:center;display:grid}.two-factor-list li>div{gap:var(--space-1);flex:1;display:grid}.two-factor-list strong{font-size:var(--text-md)}.two-factor-list small{color:var(--muted);font-size:var(--text-sm)}.two-factor-qr{width:168px;height:168px;margin:var(--space-6) 0;border-radius:var(--radius-field);background:#fff;display:block}.two-factor-secret{margin-bottom:var(--space-6);color:var(--muted);font-size:var(--text-sm)}.two-factor-secret summary{cursor:pointer;color:var(--brand)}.two-factor-secret code{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-field);background:var(--soft);color:var(--ink);font-size:var(--text-md);letter-spacing:.08em;overflow-wrap:anywhere;display:inline-block}.two-factor-enroll label{gap:var(--space-3);color:var(--muted);font-size:var(--text-sm);font-weight:600;display:grid}.two-factor-enroll input{border:1px solid var(--line);border-radius:var(--radius-field);max-width:180px;padding:var(--space-5) var(--space-6);color:var(--ink);font-size:var(--text-xl);letter-spacing:.24em;background:#fff;font-weight:500}.two-factor-enroll input:focus{outline:2px solid var(--brand-fill);outline-offset:1px}.two-factor-actions{gap:var(--space-4);margin-top:var(--space-6);display:flex}.two-factor-actions button{border-radius:var(--radius-pill);padding:var(--space-5) var(--space-8);background:var(--brand-fill);color:#fff;font-size:var(--text-sm);border:0;font-weight:600}.two-factor-actions .two-factor-cancel{background:var(--soft);color:var(--brand)}.two-factor-actions button:disabled{cursor:wait;opacity:var(--disabled-opacity)}.two-factor-remove{border-radius:var(--radius-pill);padding:var(--space-4) var(--space-6);background:var(--danger-mist);color:var(--danger);font-size:var(--text-sm);border:0;font-weight:600}.two-factor-remove:disabled{cursor:wait;opacity:var(--disabled-opacity)}html,body{background:var(--paper);min-height:100%}body,button,input,select,textarea{font-family:var(--font-body)}body{color:var(--ink);font-size:var(--text-xl);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.app-root{background:radial-gradient(circle at 50% -15%, #fbfdf8 0, transparent 38%), var(--paper);color:var(--ink);font-family:var(--font-body)}.app :is(h1,h2,h3),.auth-card :is(h1,h2),.public-booking :is(h1,h2,h3),.sidebar-wordmark,.session-person strong,.client-card strong,.home-stat-value,.reports-summary strong,.reports-client-identity strong,.reports-client-amount b{font-family:var(--font-display)}.intro h1,.page-title h1{color:var(--deep-ink);font-family:var(--font-display);font-size:clamp(var(--text-4xl), 4vw, calc(var(--text-4xl) + var(--space-3)));letter-spacing:-.015em;font-weight:400;line-height:1.05}.intro p,.page-title p,.section-title h2,.reports-overview-head p,.reports-builder-head p,.reports-results-head p{color:var(--muted)}.intro p,.page-title p{font-size:var(--text-md);letter-spacing:.06em;font-weight:600}.page-title{margin-bottom:var(--space-9)}.page-title .intro-sub{max-width:620px;margin-top:var(--space-3);color:var(--muted);font-size:var(--text-lg);line-height:1.45}.activity-shortcut,.icon-button,.calendar-today-btn,.calendar-nav button{border-color:var(--line);background:var(--card);color:var(--brand)}.add-menu-trigger,.save-session,.assistant-confirm,.chat button,.activity-filters>button,.billing-settings-edit,.google-calendar-connect{border-radius:var(--radius-pill);background:var(--brand);color:#fff}.app input:not([type=checkbox]):not([type=radio]),.app select,.app textarea{border-color:var(--line);background:var(--card);color:var(--ink)}.app input::placeholder,.app textarea::placeholder{color:#77877b}.sidebar{background:#fff}.sidebar-wordmark{color:var(--brand);font-weight:400}.sidebar-wordmark span,.sidebar button,.tab-bar button{font-family:var(--font-body)}.sidebar button{border-radius:var(--radius-field)}.sidebar button:hover{background:color-mix(in srgb, var(--soft) 78%, transparent)}.sidebar button.selected{background:var(--soft);color:var(--brand)}.stats,.home-layout .stats{align-items:center;gap:var(--space-2);margin:var(--space-6) 0 calc(var(--space-8) + var(--space-1));flex-wrap:wrap;grid-template-columns:none;display:flex}.home-summary-link{align-items:baseline;gap:var(--space-2);min-height:30px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-field);color:var(--muted);font-size:var(--text-lg);text-align:left;background:0 0;border:0;display:inline-flex}.home-summary-link+.home-summary-link:before{margin-right:var(--space-px);color:#91a095;content:"·"}.home-summary-link strong{color:var(--deep-ink);font-size:var(--text-xl);font-weight:650}.home-summary-link.is-emphasis strong{color:var(--brand)}.home-summary-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;display:none}.home-summary-link:hover,.home-summary-link:focus-visible{background:var(--soft);color:var(--brand)}.home-attention{margin-bottom:calc(var(--space-8) + var(--space-1));padding:var(--space-6) var(--space-7);border-radius:var(--radius-inner);background:var(--sea-glass);box-shadow:none;border:0;align-items:center}.home-attention-icon{width:24px;height:24px;font-size:var(--text-md);background:#35627a}.home-attention-body{gap:var(--space-1)}.home-attention-body strong{font-size:var(--text-lg);font-weight:650}.home-attention-items{gap:var(--space-2) var(--space-7)}.home-attention-items button,.home-attention-items>span{color:#2c5265;font-size:var(--text-md)}.section-title{margin-bottom:var(--space-5)}.section-title h2,.day-list h2{color:var(--muted);font-family:var(--font-body);font-size:var(--text-md);letter-spacing:.07em;text-transform:uppercase;font-weight:650}.home-layout .section-actions .add-menu-trigger{min-height:36px;padding:var(--space-4) var(--space-8);background:var(--brand);font-size:var(--text-md);font-weight:650}.home-layout .section-title .add-menu-label{color:inherit}.section-hint{color:#77877b;font-size:var(--text-sm)}.swipe-row{margin-bottom:var(--space-4);border-radius:var(--radius-inner)}.session{gap:var(--space-5);min-height:58px;padding:var(--space-5) var(--space-7);border-radius:var(--radius-inner);background:var(--card)}.session-stripe{width:3px}.session-avatar{width:34px;height:34px;font-size:var(--text-md)}.session-time{font-size:var(--text-sm)}.session-person strong{margin-top:var(--space-px);color:var(--deep-ink);font-size:var(--text-xl);font-weight:500}.session-person small{font-size:var(--text-sm)}.session-tag{padding:var(--space-2) var(--space-5);background:var(--soft);color:var(--sage-deep);font-size:var(--text-xs);font-weight:650}.home-layout .session-check{background:var(--soft);width:28px;height:28px;color:var(--sage-deep);border-radius:50%;place-items:center;padding:0;display:grid}.home-layout .session-check svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.7px;width:15px;height:15px}.home-panel-foot{color:var(--brand);font-size:var(--text-md);font-weight:650}.assistant{border-radius:var(--radius-card);background:color-mix(in srgb, var(--card) 62%, var(--soft))}.assistant-title-icon,.assistant-avatar{background:var(--soft);color:var(--brand)}.assistant-suggestions button{border-color:var(--line);background:var(--card)}.chat textarea{border-radius:var(--radius-card);background:var(--card)}.notice{background:var(--soft);border:0}.reports-page .reports-builder,.reports-page .reports-results,.reports-page .reports-overview-section{border-radius:var(--radius-card);box-shadow:none;border:0}.reports-page .reports-builder{background:color-mix(in srgb, var(--card) 72%, transparent)}.reports-page .reports-results{background:0 0}.reports-page .reports-overview-section{background:var(--card)}.reports-overview-head h2,.reports-builder-head h2,.reports-results-head h2{color:var(--deep-ink);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400}.reports-trend-window{background:var(--soft);border:0}.reports-trend-window button.selected{background:var(--brand)}.reports-summary{gap:var(--space-4);border:0;grid-template-columns:repeat(3,minmax(0,1fr))}.reports-summary>div{min-height:86px;padding:var(--space-7);border-radius:var(--radius-inner);background:var(--card);border:0!important}.reports-summary>div:first-child{min-height:112px;padding:calc(var(--space-8) + var(--space-1));color:#e6efe8;background:#1f3a30;grid-column:1/-1}.reports-summary>div:first-child span,.reports-summary>div:first-child strong{color:#e6efe8}.reports-summary>div:first-child span{opacity:.72}.reports-summary>div:first-child strong{margin-top:var(--space-3);font-size:calc(var(--text-4xl) + var(--space-3))}.reports-summary span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.03em;text-transform:none}.reports-summary strong{color:var(--deep-ink);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400}.reports-revenue-chart .reports-bar{background:var(--accent)}.reports-student-breakdown .reports-client-list article{padding:var(--space-5) 0}.reports-client-identity strong,.reports-client-amount b{font-weight:500}.reports-result-actions button,.reports-range button,.reports-builder>label select{border-radius:var(--radius-pill)}.reports-result-actions button:last-child{border-color:var(--brand);background:var(--brand)}.reports-hours-details,.reports-session-details,.reports-client-filter{border-color:var(--line)}@media (width<=767px){.app{max-width:520px;padding:calc(var(--space-8) + var(--space-1)) calc(var(--space-8) + var(--space-1)) calc((var(--space-11) * 2) + var(--space-9) + var(--space-1) + env(safe-area-inset-bottom,var(--space-0)))}.app.has-dock{padding-bottom:calc((var(--space-11) * 4) + var(--space-10) + var(--space-2) + env(safe-area-inset-bottom,var(--space-0)))}.tab-bar{padding:var(--space-4) var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom,var(--space-0)));border-color:var(--line);background:color-mix(in srgb, var(--card) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -6px 20px #1b2a2208}.tab-bar button{gap:var(--space-2);border-radius:var(--radius-field);min-height:46px;color:var(--muted);font-size:var(--text-xs)}.tab-bar button.selected{color:var(--brand)}.intro-head{align-items:flex-start}.intro h1,.page-title h1{font-size:calc(var(--text-4xl) - var(--space-1))}.activity-shortcut{width:38px;height:38px}.home-layout .assistant{min-height:430px;padding:var(--space-8)}.reports-page .reports-builder,.reports-page .reports-results,.reports-page .reports-overview-section{padding:var(--space-8)}}@media (width<=420px){.home-summary-link{min-height:26px;padding-inline:var(--space-1);font-size:var(--text-md)}.home-summary-link strong{font-size:var(--text-lg)}.home-summary-link:nth-child(2) span{display:none}.home-attention{align-items:flex-start}.home-attention-items{display:grid}.reports-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-summary>div{min-height:78px;padding:var(--space-5)}.reports-summary strong{font-size:var(--text-2xl)}}@media (width>=900px){.app{padding-top:calc(var(--space-10) + var(--space-2))}.home-layout .today,.home-layout .assistant{border-radius:var(--radius-card);background:var(--card);border:0;box-shadow:0 10px 28px #1b2a2208}.home-layout .section-title h2,.home-layout .ai-title{font-size:var(--text-lg)}.reports-page>.reports-builder,.reports-page>.reports-results,.reports-page>.reports-empty,.reports-page>.reports-error{grid-row:2}.reports-page>.reports-overview-section{grid-area:3/2}}@media (width<=767px){.app:has(.home-layout){min-height:100dvh;padding-top:calc(var(--space-11) + var(--space-2))}.home-layout{min-height:calc(100dvh - (var(--space-11) * 3) - var(--space-10));padding-bottom:calc(var(--space-11) * 2)}.home-layout .stats{margin-bottom:var(--space-9)}.home-layout .home-attention{margin-bottom:var(--space-11)}.home-attention-body>strong{display:none}.home-attention-items{gap:var(--space-1);display:grid}.home-attention-items button{font-size:var(--text-lg)}.home-layout .section-title{margin-bottom:var(--space-5)}.home-layout .section-title h2{font-size:var(--text-lg)}.home-layout .section-actions .add-menu-trigger{border-radius:50%;place-items:center;width:38px;height:38px;min-height:38px;padding:0;display:grid}.home-layout .add-menu-label{display:none}.home-layout .add-menu-trigger svg{width:18px;height:18px}.home-layout .section-hint,.home-layout .home-panel-foot{display:none}.home-layout .home-panel-body{gap:var(--space-4);display:grid}.home-layout .swipe-row{margin-bottom:0}.home-layout .session{min-height:60px;padding:var(--space-6) var(--space-7);border:0}.home-layout .session-stripe{display:none}.home-layout .session-person{gap:0;display:grid}.home-layout .session-time{color:var(--muted);font-size:var(--text-lg);line-height:1.1}.home-layout .session-person strong{margin-top:var(--space-1);font-size:var(--text-2xl);line-height:1}.home-layout .session-check{background:var(--soft);width:28px;height:28px;color:var(--sage-deep);border-radius:50%;place-items:center;padding:0;display:grid}.home-layout .session-check svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.7px;width:15px;height:15px}.home-layout .session-more{color:#8a9a8f;font-size:var(--text-lg);letter-spacing:var(--space-1);flex:none;font-weight:700}.home-layout .personal-block{min-height:46px;padding:var(--space-5) var(--space-7);border-radius:var(--radius-inner);background:color-mix(in srgb, var(--card) 64%, transparent);border:0;margin:0}.home-layout .assistant-compact{right:calc(var(--space-8) + var(--space-1));bottom:calc((var(--space-11) * 2) + var(--space-9) + env(safe-area-inset-bottom,var(--space-0)));left:calc(var(--space-8) + var(--space-1));z-index:var(--z-dock);background:0 0;border:0;width:auto;height:auto;min-height:0;max-height:none;margin:0;padding:0;display:block;position:fixed;overflow:visible;box-shadow:0 12px 30px #1b2a2215}.home-layout .assistant-compact:not(.has-content):not(:focus-within) .assistant-title-row,.home-layout .assistant-compact:not(.has-content):not(:focus-within) .assistant-thread{display:none}.home-layout .assistant-compact:not(.has-content):not(:focus-within) .assistant-composer{background:0 0;border:0;padding:0}.home-layout .assistant-compact:not(.has-content):not(:focus-within) .chat textarea{height:54px;min-height:54px;padding:var(--space-7) var(--space-9) var(--space-7) calc(var(--space-11) + var(--space-10));border-radius:var(--radius-pill);background:var(--card);font-size:var(--text-xl);resize:none;border:0;line-height:1.4;overflow:hidden;box-shadow:0 8px 24px #1b2a220f}.home-layout .assistant-compact:not(.has-content):not(:focus-within) .chat button,.assistant-compact-icon{display:none}.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-icon{top:50%;left:var(--space-9);z-index:var(--z-raised);color:var(--brand);pointer-events:none;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-icon svg{width:20px;height:20px}.home-layout .assistant-compact.has-content,.home-layout .assistant-compact:focus-within{right:var(--space-6);bottom:calc((var(--space-11) * 2) + var(--space-8) + env(safe-area-inset-bottom,var(--space-0)));left:var(--space-6);height:min(620px, calc(100dvh - (var(--space-11) * 3)));min-height:360px;max-height:calc(100dvh - (var(--space-11) * 3));padding:var(--space-8);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--lift-high);display:flex;overflow:hidden}}@media (width>=900px){:is(.app:has(.home-layout) .home-layout>.assistant-compact.has-content,.app:has(.home-layout) .home-layout>.assistant-compact:focus-within){right:auto;bottom:var(--space-6);width:100%;height:min(calc(var(--space-11) * 18), calc(100dvh - (var(--space-11) * 3)));min-height:calc(var(--space-11) * 10);max-height:calc(100dvh - (var(--space-11) * 3));margin:var(--space-8) 0 0;grid-area:5/1;align-self:end;position:sticky;left:auto}}@media (width<=899px){.home-layout{flex-direction:column;display:flex}.home-layout>.intro{order:1}.home-layout>.notice{order:2}.home-desktop-rail>.home-attention{order:3}.home-layout>.today{order:4}.home-layout>.assistant{order:5}.home-layout .session-compact-meta{display:none}}@media (width>=900px){.app:has(.home-layout){max-width:1320px}.home-layout{column-gap:calc(var(--space-10) + var(--space-2));min-height:calc(100vh - (var(--space-10) * 2));grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);align-items:start}.home-layout .intro-head{grid-area:1/1}.home-layout .stats{margin:var(--space-3) 0 var(--space-8);grid-area:2/1}.home-layout .notice{grid-area:3/1/auto/-1}.home-layout .today{min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:4/1;align-self:start;margin:0;padding:0;display:block}.home-layout .today .home-panel-body{gap:var(--space-3);scrollbar-gutter:auto;flex:none;min-height:0;max-height:none;display:grid;overflow:visible}.home-desktop-rail{grid-area:4/2}.home-layout>.assistant-compact{right:auto;bottom:var(--space-6);width:100%;height:auto;min-height:0;max-height:none;margin:var(--space-8) 0 0;background:0 0;border:0;border-radius:0;grid-area:5/1;align-self:end;padding:0;display:block;position:sticky;left:auto;overflow:visible;box-shadow:0 10px 26px #1b2a2210}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-title-row,.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-thread{display:none}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-composer{background:0 0;border:0;padding:0;position:relative}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .chat textarea{height:50px;min-height:50px;padding:var(--space-6) calc(var(--space-11) * 4) var(--space-6) calc(var(--space-11) + var(--space-9));border-radius:var(--radius-pill);background:var(--card);box-shadow:none;font-size:var(--text-md);resize:none;border:0;line-height:1.3;overflow:hidden}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .chat button{display:none}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-icon{top:50%;left:var(--space-6);z-index:var(--z-raised);color:var(--brand);pointer-events:none;display:grid;position:absolute;transform:translateY(-50%)}.home-layout>.assistant-compact:not(.has-content):not(:focus-within) .assistant-compact-context{top:50%;right:var(--space-7);color:var(--muted);font-size:var(--text-xs);pointer-events:none;display:block;position:absolute;transform:translateY(-50%)}.home-layout>.assistant-compact.has-content,.home-layout>.assistant-compact:focus-within{right:var(--space-8);bottom:var(--space-8);width:min(520px, calc(100vw - (var(--space-8) * 2)));height:min(660px, calc(100dvh - (var(--space-8) * 2)));min-height:420px;max-height:calc(100dvh - (var(--space-8) * 2));padding:var(--space-8);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--lift-high);margin:0;display:flex;position:fixed;left:auto;overflow:hidden}}.student-detail-page{width:100%;max-width:none}.student-ledger-hero{gap:var(--space-6);margin:0 0 var(--space-10);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.student-ledger-identity{min-width:0}.student-ledger-name-row{align-items:center;gap:var(--space-5);min-width:0;display:flex}.student-ledger-name-row h1{min-width:0;color:var(--deep-ink);font-family:var(--font-display);font-size:clamp(var(--text-4xl), 4vw, calc(var(--text-4xl) + var(--space-5)));letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1}.student-ledger-dot{width:var(--text-lg);height:var(--text-lg);box-shadow:0 0 0 3px var(--card);border-radius:50%;flex:none}.student-ledger-status{padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--soft);color:var(--brand);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;flex:none;font-weight:700}.student-ledger-identity>p{margin:var(--space-3) 0 0 calc(var(--text-lg) + var(--space-5));color:var(--muted);font-size:var(--text-lg);line-height:1.4}.student-ledger-actions{gap:var(--space-4);display:flex}.student-ledger-actions button,.student-ledger-tools button,.student-ledger-tools select{border:1px solid var(--brand);border-radius:var(--radius-pill);min-height:42px;padding:var(--space-4) var(--space-7);background:var(--brand);color:#fff;font-size:var(--text-md);font-weight:650}.student-ledger-actions .is-secondary,.student-ledger-tools button,.student-ledger-tools select{border-color:var(--line);background:var(--card);color:var(--brand)}.student-ledger-layout{gap:var(--space-8);grid-template-columns:minmax(240px,286px) minmax(0,1fr);align-items:start;display:grid}.student-ledger-sidebar{gap:var(--space-5);display:grid}.student-balance-card,.student-ledger-side-card{border-radius:var(--radius-card)}.student-balance-card{padding:var(--space-10);color:#e6efe8;background:#1f3a30}.student-balance-card>span,.student-ledger-side-head h2{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;margin:0;font-weight:700}.student-balance-card>span{opacity:.72}.student-balance-card>b{margin-top:var(--space-3);font-family:var(--font-display);font-size:calc(var(--text-4xl) + var(--space-3));font-weight:400;line-height:1;display:block}.student-balance-card>small{margin-top:var(--space-5);color:#c1d1c7;font-size:var(--text-md);line-height:1.4;display:block}.student-balance-card>button{width:100%;min-height:42px;margin-top:var(--space-8);border-radius:var(--radius-pill);background:var(--accent);color:#183127;font-size:var(--text-md);border:0;font-weight:700}.student-ledger-side-card{padding:var(--space-8);background:var(--card)}.student-ledger-side-head{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.student-ledger-side-head h2{color:var(--muted)}.student-ledger-side-head button{padding:var(--space-2);color:var(--brand);font-size:var(--text-sm);background:0 0;border:0;font-weight:700}.student-ledger-facts{gap:var(--space-5);margin:0;display:grid}.student-ledger-facts>div{justify-content:space-between;align-items:baseline;gap:var(--space-5);display:flex}.student-ledger-facts dt,.student-ledger-facts dd{font-size:var(--text-md);margin:0}.student-ledger-facts dt{color:var(--muted)}.student-ledger-facts dd{color:var(--deep-ink);text-align:right;font-weight:700}.student-ledger-side-card .contact-record-list{gap:var(--space-3)}.student-ledger-side-card .contact-record-card{padding:var(--space-5) 0;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.student-ledger-side-card .contact-record-head b{font-family:var(--font-body);font-size:var(--text-md);font-weight:700}.student-ledger-side-card .contact-record-head span,.student-ledger-side-card .contact-record-head small{font-size:var(--text-xs)}.student-ledger-side-card .contact-record-tags{gap:var(--space-2);margin-top:var(--space-3)}.student-ledger-side-card .contact-record-tags span{padding:var(--space-1) var(--space-3)}.student-ledger-side-card .billing-payment-list{margin-top:var(--space-5)}.student-ledger-side-card .billing-payment-row{gap:var(--space-3);padding:var(--space-5) 0 0;border-top:1px solid var(--line);display:grid}.student-ledger-side-card .billing-payment-method{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.student-ledger-side-card .billing-payment-method button{border-radius:var(--radius-pill);min-height:32px;padding:var(--space-2) var(--space-5);background:var(--soft);color:var(--brand);font-size:var(--text-xs);border:0;font-weight:700}.student-ledger-card{border-radius:var(--radius-card);background:var(--card);min-width:0;box-shadow:var(--lift);overflow:hidden}.student-ledger-toolbar{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:76px;padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--line);display:flex}.student-ledger-tabs{padding:var(--space-1);border-radius:var(--radius-pill);background:var(--soft);display:flex}.student-ledger-tabs button{border-radius:var(--radius-pill);min-height:36px;padding:var(--space-3) var(--space-7);color:var(--muted);font-size:var(--text-md);background:0 0;border:0;font-weight:650}.student-ledger-tabs button.selected{background:var(--brand);color:#fff}.student-ledger-tools{gap:var(--space-3);align-items:center;display:flex}.student-ledger-tools select{appearance:auto;padding-right:var(--space-6)}.student-ledger-tools button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.student-ledger-columns,.student-ledger-row{gap:var(--space-5);grid-template-columns:92px minmax(220px,1fr) 96px 96px;display:grid}.student-ledger-columns{min-height:44px;padding:0 var(--space-8);background:color-mix(in srgb, var(--soft) 45%, var(--card));color:var(--muted);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;align-items:center;font-weight:700}.student-ledger-columns span:nth-child(n+3){text-align:right}.student-ledger-group-head{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:46px;padding:var(--space-4) var(--space-8);border-top:1px solid var(--line);background:color-mix(in srgb, var(--soft) 28%, var(--card));color:var(--muted);display:flex}.student-ledger-group:first-of-type .student-ledger-group-head{border-top:0}.student-ledger-group-head b{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase}.student-ledger-group-head span{font-size:var(--text-xs);text-align:right;font-weight:650}.student-ledger-group-head .is-owed{color:var(--danger)}.student-ledger-row{min-height:70px;padding:var(--space-5) var(--space-8);border-top:1px solid color-mix(in srgb, var(--line) 66%, transparent);align-items:center}.student-ledger-date,.student-ledger-balance{color:var(--muted);font-size:var(--text-md);font-weight:600}.student-ledger-event{min-width:0}.student-ledger-event b,.student-ledger-event small{display:block}.student-ledger-event b{color:var(--deep-ink);font-size:var(--text-lg);font-weight:650;line-height:1.3}.student-ledger-event small{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);line-height:1.35}.student-ledger-amount,.student-ledger-balance{text-align:right;white-space:nowrap}.student-ledger-amount{color:var(--deep-ink);font-size:var(--text-md)}.student-ledger-amount.is-payment{color:var(--brand)}.student-ledger-amount.is-refund{color:var(--danger)}.student-ledger-empty{padding:var(--space-11);color:var(--muted);font-size:var(--text-md);text-align:center;margin:0}.student-ledger-error{color:var(--danger)}.student-ledger-more{margin:0}@media (width>=900px){.clients-layout[data-detail=open]{display:block}.clients-layout[data-detail=open] .clients-roster{display:none}.clients-layout[data-detail=open] .student-record-back{display:grid}.student-ledger-sidebar{top:var(--space-9);position:sticky}}@media (width<=760px){.student-ledger-hero{grid-template-columns:auto minmax(0,1fr);align-items:start}.student-ledger-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.student-ledger-layout{flex-direction:column;display:flex}.student-ledger-sidebar{display:contents}.student-balance-card{order:1}.student-ledger-sidebar>.student-ledger-side-card{order:2}.student-ledger-card{order:3;width:100%}.student-ledger-sidebar .student-ledger-side-card:last-of-type{order:4}.student-ledger-more{order:5}}@media (width<=620px){.student-ledger-name-row{flex-wrap:wrap}.student-ledger-status{margin-left:calc(var(--text-lg) + var(--space-5))}.student-ledger-identity>p{margin-left:0}.student-ledger-toolbar{flex-direction:column;align-items:stretch}.student-ledger-tabs{grid-template-columns:repeat(3,1fr);display:grid}.student-ledger-tabs button{padding-inline:var(--space-4)}.student-ledger-tools{grid-template-columns:minmax(0,1fr) auto;display:grid}.student-ledger-tools select{width:100%}.student-ledger-columns{display:none}.student-ledger-group-head{align-items:flex-start;gap:var(--space-2);padding-block:var(--space-5);flex-direction:column}.student-ledger-group-head span{text-align:left}.student-ledger-row{gap:var(--space-2) var(--space-4);padding-block:var(--space-6);grid-template-rows:auto auto;grid-template-columns:62px minmax(0,1fr) auto}.student-ledger-date{padding-top:var(--space-1);grid-area:1/1/3;align-self:start}.student-ledger-event{grid-area:1/2}.student-ledger-amount{grid-area:1/3;align-self:start}.student-ledger-balance{text-align:left;grid-area:2/2/auto/4}.student-ledger-balance:before{content:"Balance ";font-size:var(--text-xs);font-weight:500}}
