:root{color-scheme:light;--background:var(--brand-ivory);--surface:var(--brand-white);--surface-soft:color-mix(in srgb,var(--brand-border) 32%,var(--surface));--surface-muted:var(--brand-ivory);--surface-subtle:var(--surface-muted);--surface-raised:var(--surface);--text-primary:var(--brand-graphite);--text-secondary:var(--brand-secondary);--text-muted:var(--brand-secondary);--text-secondary-strong:color-mix(in srgb,var(--text-secondary),var(--text-primary) 24%);--border:var(--brand-border);--border-strong:color-mix(in srgb,var(--border),var(--text-primary) 18%);--primary:var(--brand-graphite);--primary-hover:var(--brand-navy);--primary-dark:var(--brand-graphite);--primary-soft:color-mix(in srgb,var(--brand-border) 28%,var(--surface));--graphite:var(--brand-graphite);--graphite-soft:var(--brand-navy);--success:var(--accent-kids-deep);--success-soft:color-mix(in srgb,var(--accent-kids-soft) 18%,var(--surface));--warning:var(--accent-breaking-deep);--warning-soft:color-mix(in srgb,var(--accent-breaking-soft) 20%,var(--surface));--danger:var(--accent-ladyDance-deep);--danger-soft:color-mix(in srgb,var(--accent-ladyDance-soft) 15%,var(--surface));--focus:var(--brand-navy);--on-primary:var(--brand-ivory);--overlay:rgb(13 13 15/48%);--font-sans:"Inter","Segoe UI",Arial,sans-serif;--font-display:var(--font-sans);--text-xs:0.8125rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-display:clamp(2.8rem,9vw,5.5rem);--leading-tight:1.2857;--leading-normal:1.5;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--shadow-sm:none;--shadow-md:0 4px 16px rgb(42 45 49/7%);--shadow-float:0 8px 24px rgb(42 45 49/12%);--control-height:2.875rem;--control-height-lg:3.25rem;--sidebar-width:12.5rem;--content-max:75rem;--bottom-nav-height:4.5rem;--bottom-nav-offset:0rem;--mobile-header-height:4.3rem;--z-base:1;--z-sticky:20;--z-nav:40;--z-modal:80;--duration-fast:140ms;--duration-normal:220ms;--bg:var(--background);--panel:var(--surface);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--warn:var(--warning);--ok:var(--success);--soft:var(--primary-soft)}*{box-sizing:border-box}.sr-only,.visually-hidden-input{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{min-width:320px;scroll-behavior:smooth}body,html{background:var(--background)}body{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:var(--primary-soft);color:var(--text-primary)}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.content{overflow-x:clip}.sidebar{--surface:var(--brand-graphite);--surface-subtle:#34373B;--primary-soft:#393C40;--primary-dark:var(--brand-ivory);--primary:var(--brand-ivory);--on-primary:var(--brand-graphite);--text-primary:var(--brand-ivory);--text-secondary-strong:var(--brand-border);--border:var(--brand-secondary);color:var(--brand-ivory);position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-4);background:var(--surface);border-right:1px solid var(--border);overflow:auto;z-index:var(--z-sticky)}.brand-lockup{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand-copy{display:grid;line-height:1.1;min-width:0}.brand-lockup small{margin-top:.28rem;color:var(--text-secondary-strong);font-size:.68rem;font-weight:700;letter-spacing:.075em;white-space:nowrap}.motion-mark{flex:0 0 auto}.motion-lockup,.motion-mark{display:block;object-fit:contain}.motion-lockup{max-width:100%;height:auto}.motion-brand--inverse .motion-lockup{filter:brightness(0) invert(1)}.motion-wordmark{display:block;width:max-content;color:var(--graphite);font-family:var(--font-display);font-size:1.38rem;font-weight:400;line-height:1;letter-spacing:.16em}.motion-brand--inverse{color:var(--surface)}.motion-brand--inverse .motion-mark{filter:brightness(0) invert(1)}.motion-brand--inverse .motion-wordmark{color:var(--surface)}.motion-brand--inverse small{color:var(--surface-soft)}.sidebar-role{width:-moz-fit-content;width:fit-content;padding:0 .75rem;color:var(--text-secondary-strong);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.nav-entry{display:contents}.nav-section{display:block;margin:.9rem .75rem .2rem;color:var(--text-secondary-strong);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.nav{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.nav a{position:relative;min-height:2.7rem;display:flex;align-items:center;gap:var(--space-3);padding:.62rem .75rem;border-radius:var(--radius-md);color:var(--text-secondary-strong);font-weight:600;font-size:var(--text-sm);transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.nav a:hover{color:var(--text-primary);background:var(--surface-subtle);transform:translateX(2px)}.nav a.active{color:var(--primary-dark);background:var(--primary-soft);box-shadow:inset 2px 0 0 var(--primary)}.nav a.active svg{stroke-width:2.3}.sidebar-footer{margin-top:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.sidebar-footer-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.sidebar-user{min-width:0;display:grid;line-height:1.3}.sidebar-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-sm)}.sidebar-user small{color:var(--text-secondary-strong);font-size:var(--text-xs);overflow-wrap:anywhere}.user-avatar{width:2.35rem;height:2.35rem;display:inline-grid;place-items:center;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-dark);font-weight:700;flex:0 0 auto}.bottom-nav,.mobile-header{display:none}.bottom-nav{--surface:var(--brand-graphite);--primary-soft:#393C40;--primary-dark:var(--brand-ivory);--text-secondary-strong:var(--brand-border);--border:var(--brand-secondary)}.mobile-header-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-1)}.trainer-directory{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.trainer-directory-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;grid-gap:var(--space-5);gap:var(--space-5);min-height:104px;padding:var(--space-4) var(--space-6);border-top:1px solid var(--border)}.trainer-directory-row:first-child{border-top:0}.trainer-directory-row:hover{background:var(--surface-muted)}.trainer-directory-photo{display:grid;place-items:center;width:52px;height:65px;border-radius:var(--radius-sm);overflow:hidden;background:var(--brand-border);color:var(--graphite);font-size:var(--text-xl)}.trainer-directory-photo img{width:100%;height:100%;object-fit:cover}.trainer-directory-copy{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem}.trainer-directory-copy strong{font-size:var(--text-md)}.trainer-directory-copy small,.trainer-directory-copy span{color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis}.trainer-profile{max-width:64rem}.trainer-back{display:inline-block;margin-bottom:var(--space-5);color:var(--brand-navy);font-size:var(--text-sm);font-weight:600}.trainer-profile-hero{display:grid;grid-template-columns:102px minmax(0,1fr) auto;grid-gap:var(--space-8);gap:var(--space-8);align-items:start;padding:var(--space-8) 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.trainer-profile-photo{width:102px;height:128px;display:grid;place-items:center;overflow:hidden;background:var(--brand-border);color:var(--graphite);border-radius:var(--radius-sm);font-size:2.5rem}.trainer-profile-photo img{display:block;width:100%;height:100%;object-fit:cover}.trainer-profile-intro h2{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.2;font-weight:500}.trainer-profile-intro p{margin:var(--space-2) 0 0}.trainer-role{color:var(--brand-navy);font-weight:650}.trainer-specialization{color:var(--text-secondary);white-space:pre-line}.trainer-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:var(--space-10);column-gap:var(--space-10)}.trainer-profile-section{min-width:0;padding:var(--space-8) 0;border-bottom:1px solid var(--border)}.trainer-profile-section h3{margin:0 0 var(--space-4);font-size:var(--text-xs);letter-spacing:.075em;text-transform:uppercase;color:var(--brand-navy)}.trainer-profile-section p{margin:0 0 var(--space-2);white-space:pre-line;overflow-wrap:anywhere}.trainer-group-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.trainer-group-tags span{padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-sm)}.trainer-document-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.trainer-document{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.trainer-document-icon{width:22px;height:28px;border-radius:5px;border:1.5px solid var(--brand-navy);background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--brand-navy) 18%,transparent));box-shadow:0 0 10px -3px var(--brand-navy)}.trainer-document small,.trainer-document strong{display:block;overflow-wrap:anywhere}.trainer-document small{color:var(--text-secondary)}.trainer-document-manage{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.trainer-editor{margin-top:var(--space-6);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.trainer-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.trainer-document-manage label,.trainer-editor label,.trainer-file-tools label{display:grid;grid-gap:var(--space-2);gap:var(--space-2);color:var(--text-secondary-strong);font-size:var(--text-sm);font-weight:600}.trainer-editor input:not([type=checkbox]):not([type=file]),.trainer-editor textarea{width:100%;min-height:2.75rem;padding:.65rem .75rem;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.trainer-editor textarea{min-height:6rem;resize:vertical}.trainer-privacy{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin:var(--space-6) 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.trainer-privacy legend{color:var(--brand-navy);font-weight:650}.trainer-privacy label{display:flex;align-items:center;gap:var(--space-2)}.trainer-privacy p{flex-basis:100%;margin:0}.trainer-file-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.trainer-file-tools>div{display:grid;align-content:start;grid-gap:var(--space-3);gap:var(--space-3)}.trainer-file-tools h3,.trainer-file-tools p{margin:0}.trainer-file-tools input[type=file]{max-width:100%}.trainer-feedback{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}@media (max-width:740px){.trainer-profile-hero{grid-template-columns:78px minmax(0,1fr);gap:var(--space-4);padding:var(--space-5) 0}.trainer-profile-hero>.button{grid-column:2;justify-self:start}.trainer-profile-photo{width:78px;height:98px}.trainer-editor-grid,.trainer-file-tools,.trainer-profile-sections{grid-template-columns:1fr}.trainer-profile-section{padding:var(--space-6) 0}.trainer-directory-row{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.trainer-document{grid-template-columns:28px minmax(0,1fr)}.trainer-document>a{grid-column:2;justify-self:start}}.content{width:100%;max-width:calc(var(--content-max) + var(--space-8) * 2);margin:0 auto;padding:var(--space-8);display:grid;grid-gap:var(--space-6);gap:var(--space-6);align-content:start;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding-bottom:var(--space-2)}.page-title{margin:.25rem 0 0;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:-.035em}.page-header>div{min-width:0}.eyebrow-amateur,[data-participant=amateur] .eyebrow-sport{display:none}[data-participant=amateur] .eyebrow-amateur{display:inline}.page-title{overflow-wrap:anywhere}.eyebrow{color:var(--primary-dark);text-transform:uppercase;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em}.muted{color:var(--text-secondary-strong)}.warning{color:var(--warning)}.ok{color:var(--success)}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.finance-tabs{display:flex;gap:var(--space-1);overflow-x:auto;white-space:nowrap;padding-block:var(--space-2);margin-block:var(--space-2)}.finance-month{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-2)}.finance-month h2{flex:1 1 100%;margin:0;text-transform:capitalize}.finance-month form{margin:0;align-items:end}.finance-tab{flex:0 0 auto;padding:.65rem .9rem;border-radius:var(--radius-md);color:var(--text-secondary-strong);text-decoration:none}.finance-tab-active,.finance-tab:hover{background:var(--surface-subtle)}.finance-tab-active{color:var(--text-primary);font-weight:700}.workflow-item{display:grid;grid-gap:var(--space-2);gap:var(--space-2);overflow-wrap:anywhere}a.payment-list-item:hover,a.workflow-item:hover{background:var(--surface-subtle)}.detail-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.card{position:relative;min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card:before{display:none}.card h2,.card h3{margin:0 0 var(--space-3);line-height:1.3;letter-spacing:-.02em}.card h2{font-size:var(--text-lg)}.card h3{font-size:var(--text-md)}.card p{overflow-wrap:anywhere}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.card-header h2,.card-header h3{overflow-wrap:anywhere}.stat{margin:var(--space-2) 0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1;font-weight:800;letter-spacing:-.05em}.metric-card{min-height:9rem;display:flex;flex-direction:column;justify-content:space-between}.metric-card.accent{background:var(--surface);color:var(--text-primary);border-color:var(--border);border-top:2px solid var(--graphite);box-shadow:var(--shadow-sm)}.metric-card.accent .muted{color:var(--text-secondary-strong)}.metric-card.accent .text-link{color:var(--primary-dark)}.metric-label{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-secondary-strong);font-weight:600}.metric-icon{width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-dark)}.metric-card.accent .metric-icon{background:var(--surface-soft);color:var(--graphite)}.text-link{color:var(--primary-dark);font-weight:700;margin-top:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2)}.text-link:hover{text-decoration:underline;text-underline-offset:.2em}.quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-actions .button{flex:1 1 9.5rem}.button,button{min-height:var(--control-height);min-width:2.75rem;border:1px solid var(--primary-dark);border-radius:var(--radius-md);padding:.68rem 1rem;background:var(--primary-dark);color:var(--on-primary);cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:var(--space-2);text-align:center;font-weight:700;font-size:var(--text-sm);transition:transform var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast)}.button:hover,button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.button:active,button:active{transform:translateY(0)}.button-secondary{color:var(--graphite);background:var(--surface);border-color:var(--border-strong)}.button-secondary:hover{color:var(--on-primary)}.button-ghost,.icon-button{color:var(--text-secondary-strong);background:transparent;border-color:transparent}.button-ghost:hover,.icon-button:hover{color:var(--text-primary);background:var(--surface-subtle);box-shadow:none}.icon-button{width:2.75rem;padding:0;border-radius:var(--radius-md)}.notification-button{position:relative;flex:0 0 auto}.nav-count,.notification-count{min-width:1.2rem;height:1.2rem;display:inline-grid;place-items:center;padding:0 .28rem;border-radius:var(--radius-pill);background:var(--danger);color:var(--on-primary);font-size:.67rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px var(--surface)}.notification-count{position:absolute;top:-.15rem;right:-.15rem}.nav-count{margin-left:auto}.badge{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--radius-md);padding:.32rem .65rem;background:var(--primary-soft);color:var(--primary-dark);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.badge:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.empty-state{margin:0;border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-4);color:var(--text-secondary-strong);background:var(--surface-subtle)}.compact-row,.panel-row{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.compact-row>*,.panel-row>*{min-width:0}.compact-row strong,.panel-row strong{overflow-wrap:anywhere}.compact-row:first-of-type,.panel-row:first-of-type{padding-top:0}.compact-row:last-child,.panel-row:last-child{padding-bottom:0;border-bottom:0}.compact-row:is(a){border-radius:var(--radius-sm);transition:padding var(--duration-fast),background var(--duration-fast)}.compact-row:is(a):hover{padding-left:var(--space-2);padding-right:var(--space-2);background:var(--surface-subtle)}.panel-row{grid-template-columns:minmax(0,1fr) minmax(13rem,20rem);gap:var(--space-4);align-items:start}.table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;min-width:45rem}td,th{padding:.8rem .9rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:var(--surface-subtle);font-size:var(--text-xs);color:var(--text-secondary-strong);letter-spacing:.02em}tbody tr:last-child td{border-bottom:0}form{grid-gap:var(--space-3)}.form-grid,form{display:grid;gap:var(--space-3)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));grid-gap:var(--space-3)}.form-section{min-width:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.form-section legend{padding:0 var(--space-2);color:var(--text-primary);font-weight:700}.check-row{align-self:end;min-height:var(--control-height);display:flex;align-items:center;gap:var(--space-2)}.check-row input{width:1.15rem;min-height:1.15rem}label{display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary-strong);font-weight:600}input,select,textarea{width:100%;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.7rem .8rem;background:var(--surface);color:var(--text-primary);transition:border var(--duration-fast),box-shadow var(--duration-fast)}textarea{resize:vertical;line-height:var(--leading-normal)}input:hover,select:hover,textarea:hover{border-color:var(--text-secondary)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:0}.button.disabled,button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;transform:none}.inline-actions{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.button-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--danger-soft)}.button-danger:hover{color:var(--on-primary);border-color:var(--danger);background:var(--danger)}.direct-chat-card{padding-block:var(--space-4)}.chat-new{padding:12px;flex-shrink:0;max-height:70%;overflow-y:auto}.chat-new>button{width:100%;min-height:44px}.chat-new form{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.chat-new select{width:100%;min-width:0}.chat-group-toggle,.chat-person-picker label{display:flex;align-items:center;gap:8px;min-height:44px}.chat-group-toggle input,.chat-person-picker input{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;accent-color:var(--primary)}.chat-person-picker{min-width:0;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.chat-delete{position:relative;flex-shrink:0;font-size:var(--text-sm)}.chat-delete summary{cursor:pointer;display:flex;align-items:center;min-height:44px;padding:6px}.chat-delete-options{position:absolute;right:0;top:100%;z-index:10;display:grid;grid-gap:8px;gap:8px;width:min(240px,75vw);padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0002}.chat-delete-options button{white-space:normal;min-height:44px}.chat-edit-dialog{width:min(34rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary)}.chat-edit-dialog::-webkit-backdrop{background:var(--overlay)}.chat-edit-dialog::backdrop{background:var(--overlay)}.chat-edit-dialog form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4)}.chat-edit-dialog footer,.chat-edit-dialog header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.chat-edit-dialog h2,.chat-edit-dialog p{margin:0}.chat-edit-dialog .chat-person-picker{max-height:30dvh}.chat-edit-dialog .chat-person-picker label{overflow-wrap:anywhere}.chat-edit-dialog footer{justify-content:flex-end;flex-wrap:wrap}.chat-window-header>.icon-button{flex-shrink:0}.chat-window-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}@media (max-width:600px){.chat-window-header{flex-wrap:wrap}.chat-window-title{flex:1 1}.chat-window-actions{flex-basis:100%;justify-content:flex-end}.chat-window-actions:empty{display:none}}.direct-chat-card h2{font-size:var(--text-lg)}.direct-chat-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}@media (max-width:42rem){.direct-chat-form{grid-template-columns:1fr}}.calendar-attendance-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;list-style:none}.calendar-attendance-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.calendar-attendance-list li>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.calendar-attendance-list small{display:block}.calendar-attendance-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.calendar-attendance-actions button{min-height:2.75rem;padding-inline:.85rem;background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.calendar-attendance-actions button.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.calendar-event-actions{display:flex;justify-content:flex-end;margin-top:var(--space-3)}.calendar-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:var(--space-3);gap:var(--space-3);margin-block:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle)}.profile-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.admin-create-panel,.directory-card{padding:0;overflow:clip}.admin-create-panel>summary,.directory-card>summary{min-height:4.5rem;padding:var(--space-4) var(--space-5);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.admin-create-panel>summary span:first-child,.directory-card>summary span:first-child{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem;overflow-wrap:anywhere}.admin-create-body,.directory-card-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border)}.success-message{border-left:3px solid var(--success);color:var(--success);background:var(--success-soft)}.athlete-directory,.directory-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,29rem),1fr));align-items:start}.profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));grid-gap:var(--space-2);gap:var(--space-2)}.profile-facts>span{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);overflow-wrap:anywhere}.profile-facts small{color:var(--text-secondary-strong);font-size:var(--text-xs)}.profile-facts strong{line-height:1.35}.badge-success{color:var(--success);background:var(--success-soft)}.badge-warning{color:var(--warning);background:var(--warning-soft,color-mix(in srgb,var(--warning) 12%,transparent));width:-moz-fit-content;width:fit-content;margin:0}.directory-avatar{flex:none;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--surface-muted,color-mix(in srgb,var(--text-primary) 8%,transparent));font-weight:600;font-size:.9rem}.nested-edit-panel{padding-top:var(--space-2);border-top:1px solid var(--border)}.nested-edit-panel>summary{min-height:2.75rem;display:flex;align-items:center;cursor:pointer;color:var(--primary-dark);font-weight:700}.directory-card .directory-danger-zone,.directory-card .group-member-form{padding-top:var(--space-3);border-top:1px solid var(--border)}.directory-card .directory-danger-zone .button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--danger-soft)}.directory-card .directory-danger-zone .button:hover{color:var(--on-primary);border-color:var(--danger);background:var(--danger)}.page-intro{max-width:48rem;margin:calc(var(--space-3) * -1) 0 0;color:var(--text-secondary-strong)}.child-profile-card{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.child-profile-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:var(--space-4);gap:var(--space-4)}.child-profile-header h2{margin:var(--space-1) 0}.child-profile-header p{margin:0}.profile-score{min-width:5rem;display:grid;justify-items:end;color:var(--primary-dark)}.profile-score strong{font-size:var(--text-2xl);line-height:1}.profile-score small{color:var(--text-secondary-strong)}.profile-progress{display:grid}.profile-progress h3{margin-bottom:var(--space-2)}.group-roster{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;list-style:none}.group-roster li{min-height:3.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);overflow-wrap:anywhere}.group-member-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:var(--space-2);gap:var(--space-2)}.group-delete-form{display:flex;justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--border)}.payment-actions{min-width:min(18rem,75vw)}.payment-actions>summary{min-height:2.75rem;cursor:pointer;color:var(--primary-dark);font-weight:700}.payment-actions[open]{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.comment-details>summary,.progress-item>summary{min-height:2.75rem;cursor:pointer;color:var(--primary-dark);font-weight:700}.comment-details p,.progress-item p{max-width:42rem;margin-top:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere}.progress-item{padding-block:var(--space-2);border-top:1px solid var(--border)}@media (max-width:42rem){.calendar-attendance-list li{align-items:stretch;flex-direction:column}.calendar-attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-layout{display:grid;grid-template-columns:minmax(17rem,21.5rem) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch;min-height:min(46rem,calc(100dvh - 9rem))}.chat-list,.chat-window{min-width:0;height:min(52rem,calc(100dvh - 9rem));min-height:35rem;padding:0;display:flex;flex-direction:column;overflow:hidden}.chat-list:before,.chat-window:before{display:none}.chat-list-header{min-height:5rem;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.chat-list-header h2{margin:0;font-size:var(--text-xl)}.chat-count{min-width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:var(--radius-pill);color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.chat-search{padding:var(--space-3) var(--space-4) 0}.chat-search input{min-height:2.5rem;padding:.55rem .75rem;background:var(--surface-muted)}.chat-thread-list{flex:1 1;min-height:0;padding:var(--space-2);overflow-y:auto;overscroll-behavior:contain}.chat-thread{position:relative;min-height:5rem;display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);overflow-wrap:anywhere;transition:background var(--duration-fast)}.chat-thread.active,.chat-thread:hover{background:var(--surface-subtle)}.chat-thread.active{box-shadow:inset 3px 0 0 var(--primary)}.chat-avatar{width:2.65rem;height:2.65rem;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-dark);font-size:var(--text-lg);font-weight:800}.chat-thread-copy{min-width:0;display:grid;grid-gap:.12rem;gap:.12rem}.chat-title-line{min-width:0;display:flex;gap:var(--space-2);align-items:baseline;justify-content:space-between}.chat-context,.chat-thread small,.chat-title-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title-line time{flex:0 0 auto;font-size:.72rem}.chat-thread small,.chat-title-line time{color:var(--text-secondary-strong)}.chat-thread.unread small,.chat-thread.unread strong{color:var(--text-primary);font-weight:700}.chat-unread-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--primary-dark)}.chat-window-header{min-height:5rem;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.chat-back{display:none}.chat-window-title{min-width:0;display:grid;line-height:1.35}.chat-window-title small,.chat-window-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-window-title small{color:var(--text-secondary-strong)}.messages{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:var(--surface-muted)}.message-date{align-self:center;position:-webkit-sticky;position:sticky;top:.25rem;z-index:var(--z-base);margin:var(--space-2) 0}.message-date span{display:inline-flex;padding:.28rem .65rem;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary-strong);background:rgb(255 255 255/88%);font-size:var(--text-xs);font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message{align-self:flex-start;max-width:min(76%,34rem);display:grid;grid-gap:var(--space-2);gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-sm);padding:var(--space-3);background:var(--surface);overflow-wrap:anywhere;box-shadow:var(--shadow-sm)}.message--own{align-self:flex-end;border-color:color-mix(in srgb,var(--primary),var(--surface) 70%);border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-md);background:var(--primary-soft)}.message-author{color:var(--primary-dark);font-size:var(--text-xs);font-weight:700}.message-text{margin:0;white-space:pre-wrap}.message-time{justify-self:end;color:var(--text-secondary-strong);font-size:.7rem;line-height:1}.message-meta{min-height:1.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.message-actions{position:relative;min-height:2.75rem;z-index:var(--z-base)}.message-actions>.icon-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-pill)}.message-actions>.message-action-edit{position:absolute;right:0;bottom:2.75rem;min-height:2.75rem;white-space:nowrap;z-index:var(--z-modal);box-shadow:var(--shadow-float)}.message-edit{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:min(26rem,70vw)}.message-edit textarea{min-height:5rem;resize:vertical}.message-edit .inline-actions{display:flex;justify-content:flex-end}.message-images{width:min(28rem,60vw);display:grid;grid-gap:.2rem;gap:.2rem;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-sm);overflow:hidden}.message-images--1{grid-template-columns:1fr}.message-images--3 .message-image:first-child{grid-row:span 2}.message-image{min-width:0;min-height:8rem;height:11rem;padding:0;border:0;border-radius:0;background:var(--surface-muted);overflow:hidden;box-shadow:none}.message-image:hover{transform:none;box-shadow:none}.message-image img{width:100%;height:100%;display:block;object-fit:cover}.voice-player{width:min(24rem,62vw);display:grid;grid-template-columns:2.6rem minmax(5rem,1fr) auto auto;grid-template-areas:"play wave time speed" "play progress progress speed";align-items:center;grid-gap:.1rem var(--space-2);gap:.1rem var(--space-2)}.voice-player audio{display:none}.voice-play{grid-area:play;width:2.6rem;height:2.6rem;min-height:2.6rem;min-width:2.6rem;padding:0;border-radius:50%}.voice-wave{grid-area:wave;height:1.2rem;display:flex;align-items:center;gap:2px;color:var(--primary-dark);overflow:hidden}.voice-wave i{width:2px;height:45%;flex:0 0 auto;border-radius:var(--radius-pill);background:currentColor;opacity:.72}.voice-wave i:nth-child(3n){height:90%}.voice-wave i:nth-child(2n){height:65%}.voice-progress{grid-area:progress;min-height:0;height:.3rem;padding:0;border:0;border-radius:var(--radius-pill);accent-color:var(--primary-dark)}.voice-time{grid-area:time;color:var(--text-secondary-strong);font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.voice-speed{grid-area:speed;min-width:2.8rem;min-height:2.5rem;padding:.4rem;border:0;border-radius:var(--radius-pill);color:var(--primary-dark);background:var(--surface);font-size:var(--text-xs);box-shadow:none}.voice-speed:hover{color:var(--on-primary)}.chat-composer{position:relative;z-index:var(--z-base);gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border);background:var(--surface)}.composer-controls{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem 2.75rem;align-items:end;grid-gap:var(--space-2);gap:var(--space-2)}.composer-controls textarea{min-height:2.75rem;max-height:7.5rem;padding:.66rem .8rem;resize:none}.composer-attach,.composer-mic{border-color:var(--border);background:var(--surface-subtle)}.composer-mic.recording{color:var(--on-primary);background:var(--danger)}.chat-send{width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;border-radius:var(--radius-md)}.composer-hint{color:var(--text-secondary-strong);text-align:center;font-size:.7rem}.composer-images{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1)}.composer-image{position:relative;width:4.5rem;height:4.5rem;flex:0 0 auto;border-radius:var(--radius-sm);overflow:visible}.composer-image img{width:100%;height:100%;display:block;border-radius:var(--radius-sm);object-fit:cover}.composer-image button{position:absolute;top:-.4rem;right:-.4rem;width:1.65rem;height:1.65rem;min-width:1.65rem;min-height:1.65rem;padding:0;border:2px solid var(--surface);border-radius:50%;background:var(--graphite)}.composer-voice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface-subtle)}.voice-player--preview{width:100%}.recording-status{min-height:2.75rem;display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--danger)}.recording-status>span:last-child{color:var(--text-secondary-strong);font-size:var(--text-xs)}.recording-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--danger);animation:recording-pulse 1.1s infinite}@keyframes recording-pulse{50%{opacity:.35;transform:scale(.82)}}.chat-composer-message{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary-strong);background:var(--surface-subtle);font-size:var(--text-xs)}.chat-composer-message.error{color:var(--danger);background:var(--danger-soft)}.chat-empty-window{margin:auto;max-width:22rem;display:grid;justify-items:center;text-align:center}.chat-empty-window h2{margin:var(--space-3) 0 var(--space-1)}.chat-empty-window p{margin:0}.chat-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-5);background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-lightbox-content{width:min(60rem,100%);max-height:90dvh;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.chat-lightbox-content>img{width:100%;max-height:calc(90dvh - 4.5rem);object-fit:contain;border-radius:var(--radius-md);background:var(--graphite);box-shadow:var(--shadow-float)}.chat-lightbox-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.notification-center{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.notification-toolbar{min-height:var(--control-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.notification-toolbar .button{min-height:2.75rem}.notification-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.notification-item{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4)}.notification-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--primary-dark);background:var(--primary-soft)}.notification-copy{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.notification-copy>*{overflow-wrap:anywhere}.notification-empty{min-height:7rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-4);gap:var(--space-4)}.notification-empty>span:last-child{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.notification-empty small{color:var(--text-secondary-strong)}.push-permission-banner{position:fixed;right:var(--space-5);bottom:var(--space-5);width:min(31rem,calc(100vw - 2.5rem));z-index:var(--z-modal);display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:rgb(255 255 255/96%);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.push-permission-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--on-primary);background:var(--graphite)}.push-permission-copy{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.push-permission-copy small{color:var(--text-secondary-strong);line-height:1.4}.push-permission-actions{display:flex;align-items:center;gap:var(--space-2)}.push-permission-actions>button:not(.icon-button){min-height:2.75rem}.schedule-callout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5)}.schedule-callout:before{display:none}.schedule-callout-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--primary-dark);background:var(--primary-soft)}.schedule-callout-copy{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.schedule-callout-copy small,.schedule-callout-copy strong{overflow-wrap:anywhere}.schedule-callout-copy small{color:var(--text-secondary-strong)}.schedule-create-dialog{width:min(68rem,calc(100vw - 2rem));max-height:min(52rem,calc(100dvh - 2rem));padding:0;border:0;border-radius:var(--radius-lg);color:var(--text-primary);background:var(--background);box-shadow:var(--shadow-float)}.schedule-create-dialog::-webkit-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.schedule-create-dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.schedule-create-dialog>section{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5)}.schedule-create-dialog header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.schedule-create-dialog header h2{margin:var(--space-1) 0 0}.schedule-create-card,.schedule-register{padding:0;overflow:clip}.schedule-create-card>summary,.schedule-register>summary{min-height:4.5rem;padding:var(--space-4) var(--space-5);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.schedule-create-card>summary span,.schedule-register>summary span{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem;overflow-wrap:anywhere}.schedule-create-card>summary h3{margin:0;font-size:var(--text-md)}.schedule-create-body,.schedule-register-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border)}.schedule-register-body h3{margin-top:var(--space-3)}.parent-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.parent-schedule-card{min-height:8.25rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4)}.schedule-card-copy{min-width:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.schedule-card-copy>strong{font-size:var(--text-lg)}.schedule-card-copy .meta-list{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.schedule-card-action{align-self:stretch;height:auto;color:var(--primary-dark);background:var(--primary-soft)}.app-update-banner{position:fixed;left:50%;bottom:var(--space-4);z-index:var(--z-modal);width:min(38rem,calc(100% - 2rem));min-height:4.75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);background:rgb(255 255 255/96%);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateX(-50%)}.app-update-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--primary-dark);background:var(--primary-soft)}.app-update-copy{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem}.app-update-copy small{color:var(--text-secondary-strong);overflow-wrap:anywhere}.app-update-banner button{min-height:2.75rem}.attendance-choice{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:0;border:0}.attendance-choice legend{grid-column:1/-1;margin-bottom:var(--space-1);color:var(--text-secondary-strong);font-size:var(--text-xs);font-weight:700}.attendance-choice label{position:relative;display:block}.attendance-choice input{position:absolute;opacity:0;pointer-events:none}.attendance-choice span{min-height:2.75rem;display:grid;place-items:center;padding:.45rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary-strong);background:var(--surface);text-align:center;cursor:pointer}.attendance-choice input:checked+span{border-color:var(--primary-dark);color:var(--primary-dark);background:var(--primary-soft);font-weight:700}.attendance-choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);background:var(--surface);overflow:hidden}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,5rem);background:var(--graphite);color:var(--on-primary);overflow:hidden}.login-brand{position:relative;z-index:var(--z-base)}.login-brand .brand-lockup small{color:var(--surface-soft)}.login-statement{position:relative;z-index:var(--z-base);max-width:45rem}.login-statement h1{margin:0;font-family:var(--font-display);font-size:var(--text-display);font-weight:400;line-height:.94;letter-spacing:-.045em}.login-statement p{max-width:31rem;margin:var(--space-6) 0 0;font-size:var(--text-lg);opacity:.78}.login-panel{display:grid;place-items:center;padding:clamp(1.25rem,6vw,5rem);background:var(--background)}.login-card{width:min(27rem,100%);padding:clamp(1.5rem,4vw,2.2rem)}.login-card:before{opacity:1;width:4.5rem}.login-card h2{margin-bottom:var(--space-2);font-size:1.7rem}.login-card .button{width:100%;min-height:var(--control-height-lg)}.login-help{margin:0 0 var(--space-5);color:var(--text-secondary-strong)}.login-error{padding:var(--space-3);border-radius:var(--radius-md);color:var(--danger);background:var(--danger-soft)}.hero-card{min-height:14rem;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(12rem,.55fr);grid-gap:var(--space-6);gap:var(--space-6);color:var(--on-primary);background:var(--graphite);border-color:var(--graphite);box-shadow:var(--shadow-sm)}.hero-card:before{display:none}.hero-card:after{content:"";position:absolute;width:18rem;height:18rem;right:-8rem;bottom:-10rem;border-color:rgb(255 255 255/24%) rgb(255 255 255/24%) transparent transparent;border-style:solid;border-width:1px;border-radius:50%;transform:rotate(18deg)}.hero-card .meta-list,.hero-card .muted{color:var(--surface-soft)}.hero-card .badge{color:var(--surface);background:rgb(255 255 255/10%);border:1px solid rgb(255 255 255/16%)}.hero-card .badge:before{background:var(--primary)}.hero-card .quick-actions{align-self:end;z-index:var(--z-base)}.hero-card .button{background:var(--surface);border-color:var(--surface);color:var(--graphite)}.hero-card .button:hover{background:var(--surface-soft)}.hero-card .quick-actions .button+.button{background:transparent;border-color:rgb(255 255 255/54%);color:var(--surface)}.hero-card .quick-actions .button+.button:hover{background:rgb(255 255 255/10%);border-color:var(--surface)}.hero-metric{align-self:center;justify-self:end;text-align:right;z-index:var(--z-base)}.hero-metric .stat{font-size:clamp(3rem,7vw,5rem)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.section-heading h2{margin:0;font-size:var(--text-xl);letter-spacing:-.03em}.section-heading p{margin:var(--space-1) 0 0;color:var(--text-secondary-strong)}.segmented{display:flex;gap:var(--space-1);width:-moz-fit-content;width:fit-content;max-width:100%;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);overflow-x:auto}.segmented a,.segmented button{min-height:2.4rem;flex:0 0 auto;border:0;border-radius:var(--radius-pill);padding:.5rem .85rem;color:var(--text-secondary-strong);background:transparent;box-shadow:none}.segmented a.active,.segmented button.active{color:var(--on-primary);background:var(--primary-dark)}.lesson-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center}.date-tile{width:4.25rem;min-height:4.6rem;display:grid;place-items:center;align-content:center;border-radius:var(--radius-md);color:var(--primary-dark);background:var(--primary-soft);line-height:1.1}.date-tile strong{font-size:1.55rem}.date-tile small{text-transform:uppercase;font-size:.66rem;font-weight:800;letter-spacing:.08em}.meta-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);color:var(--text-secondary-strong);font-size:var(--text-sm)}.meta-list span{display:inline-flex;align-items:center;gap:.35rem}.attention-card{border-left:3px solid var(--warning)}.attention-desktop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.attention-mobile-list{display:none}.attention-task-row{min-height:4.25rem;display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto 1.25rem;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);color:var(--text-primary)}.attention-task-icon,.success-card-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning)}.attention-task-copy{min-width:0;display:grid;line-height:1.25}.attention-task-copy strong{overflow-wrap:anywhere}.attention-task-copy small{color:var(--text-secondary-strong);font-size:var(--text-xs)}.attention-task-count{min-width:1.5rem;text-align:right;font-size:var(--text-xl)}.success-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5)}.success-card:before{display:none}.success-card-icon{background:var(--success-soft);color:var(--success)}.success-card h2,.success-card p{margin:0}.success-card p{color:var(--text-secondary-strong)}.coach-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.loading-skeleton{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.loading-skeleton span{height:.9rem;border-radius:var(--radius-sm);background:var(--border);animation:skeleton 1.3s ease-in-out infinite alternate}.loading-skeleton span:nth-child(2){width:78%}.loading-skeleton span:nth-child(3){width:58%}@keyframes skeleton{to{opacity:.4}}.state-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5);background:var(--background)}.state-card{width:min(31rem,100%);display:grid;grid-gap:var(--space-8);gap:var(--space-8);padding:clamp(1.5rem,5vw,2.5rem)}.state-card h1{margin:var(--space-2) 0;font-size:var(--text-2xl);line-height:var(--leading-tight)}.state-card p{margin:0}@media (max-width:900px){html{scroll-padding-bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 1rem + env(safe-area-inset-bottom))}.app-shell{display:block}.sidebar{display:none}.mobile-header{position:-webkit-sticky;position:sticky;top:0;height:calc(var(--mobile-header-height) + env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:env(safe-area-inset-top) var(--space-6) 0;background:var(--surface);border-bottom:1px solid var(--border);z-index:var(--z-nav)}.mobile-header .motion-mark{width:2.25rem;height:2.25rem}.mobile-header .motion-wordmark{font-size:1.16rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-nav)}.bottom-nav a{position:relative;min-width:0;min-height:3.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:var(--radius-md);color:var(--text-secondary-strong);font-size:.72rem;font-weight:700;line-height:1}.bottom-nav .nav-count{position:absolute;top:.15rem;left:calc(50% + .45rem);margin:0;box-shadow:0 0 0 2px rgb(255 253 249/95%)}.bottom-nav a.active{color:var(--primary-dark);background:var(--primary-soft)}.bottom-nav a svg{width:1.25rem;height:1.25rem}.content{padding:var(--space-6) var(--space-6) calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 1rem + env(safe-area-inset-bottom));gap:var(--space-6)}.page-header{align-items:flex-start}.desktop-notification-button{display:none}.chat-layout,.two-columns{grid-template-columns:1fr}.chat-layout{min-height:0}.chat-list,.chat-window{height:calc(100dvh - var(--bottom-nav-height) - var(--bottom-nav-offset) - 12.5rem - env(safe-area-inset-bottom));min-height:31rem}.chat-layout--thread-open .chat-list,.chat-layout:not(.chat-layout--thread-open) .chat-window{display:none}body.chat-thread-active{height:100%;overflow:hidden;overscroll-behavior:none}.chat-layout--thread-open{position:fixed;left:0;right:0;top:calc(var(--chat-visual-top, 0px) + var(--mobile-header-height) + env(safe-area-inset-top));height:calc(var(--chat-visual-height, 100dvh) - var(--mobile-header-height) - env(safe-area-inset-top));min-height:0;margin:0;z-index:calc(var(--z-nav) - 1);background:var(--background)}.chat-layout--thread-open .chat-window{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}body.chat-thread-active .bottom-nav{display:none}.chat-back{display:inline-flex}.messages{padding:var(--space-4)}.message{max-width:88%}.message-edit{min-width:min(22rem,76vw)}.message-images{width:min(26rem,68vw)}.voice-player{width:min(23rem,68vw)}.composer-hint{display:none}.composer-controls textarea{font-size:1rem}.notification-item{grid-template-columns:2.75rem minmax(0,1fr)}.notification-item>.button{grid-column:1/-1;width:100%}.push-permission-banner{left:var(--space-3);right:var(--space-3);bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + env(safe-area-inset-bottom) + var(--space-3));width:auto;grid-template-columns:2.75rem minmax(0,1fr)}.push-permission-actions{grid-column:1/-1;justify-content:flex-end}body.chat-thread-active .push-permission-banner{display:none}.app-update-banner{bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 1rem + env(safe-area-inset-bottom))}.panel-row{grid-template-columns:1fr}.schedule-create-dialog{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top));margin:auto 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.schedule-create-dialog>section{padding:var(--space-4) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}.login-page{grid-template-columns:1fr}.login-visual{min-height:17rem;padding:var(--space-6) var(--space-5)}.login-statement h1{font-size:clamp(2.9rem,15vw,4.7rem)}.login-statement p{margin-top:var(--space-3);font-size:var(--text-md)}.login-panel{padding:var(--space-5) var(--space-4)}.hero-card{grid-template-columns:1fr}.attention-desktop-grid,.hero-metric{display:none}.attention-mobile-list{display:grid;padding:0 var(--space-4)}.attention-task-row{margin:0;padding:0;border-bottom:1px solid var(--border)}.attention-task-row:last-child{border-bottom:0}.coach-dashboard-grid{grid-template-columns:1fr}.content>:last-child{scroll-margin-block-end:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 1rem + env(safe-area-inset-bottom))}:where(a,button,input,select,textarea,[tabindex]):focus{scroll-margin-block-end:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 1rem + env(safe-area-inset-bottom))}}@media (max-width:700px){.profile-management-grid{grid-template-columns:1fr}.admin-create-body,.admin-create-panel>summary,.directory-card-body,.directory-card>summary{padding:var(--space-4)}.directory-card>summary{align-items:flex-start;flex-direction:column}.child-profile-header{grid-template-columns:minmax(0,1fr) auto}.group-roster li{align-items:stretch;flex-direction:column}.calendar-booking,.group-member-form{grid-template-columns:1fr}.table-wrap{border:0;background:transparent;overflow:visible}table,tbody,td,th,thead,tr{display:block;min-width:0}thead{display:none}tbody{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-sm)}td{border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(7rem,38%) minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:.65rem .45rem;overflow-wrap:anywhere}td:last-child{border-bottom:0}td:before{content:attr(data-label);color:var(--text-secondary-strong);font-size:var(--text-xs)}.lesson-card{grid-template-columns:auto minmax(0,1fr)}.lesson-card>:last-child{grid-column:1/-1}}@media (max-width:430px){:root{--bottom-nav-offset:var(--space-2)}.content{padding-left:var(--space-6);padding-right:var(--space-6)}.mobile-header{padding:env(safe-area-inset-top) var(--space-6) 0}.card{padding:var(--space-4);border-radius:var(--radius-md)}.chat-list,.chat-window{min-height:29rem;padding:0}.chat-list-header,.chat-window-header{padding-left:var(--space-3);padding-right:var(--space-3)}.messages{padding:var(--space-3)}.message{max-width:92%}.message-images{width:min(20rem,72vw)}.message-image{height:9rem;min-height:7rem}.voice-player{width:min(19rem,74vw);grid-template-columns:2.5rem minmax(3.5rem,1fr) auto auto}.voice-wave i:nth-child(n+9){display:none}.chat-composer{padding-left:var(--space-2);padding-right:var(--space-2)}.composer-controls{gap:var(--space-1)}.attendance-choice{grid-template-columns:1fr}.notification-toolbar{align-items:stretch;flex-direction:column}.notification-toolbar .button{width:100%}.schedule-callout{grid-template-columns:auto minmax(0,1fr);padding:var(--space-4)}.schedule-callout .button{grid-column:1/-1;width:100%}.parent-schedule-card{min-height:7.5rem;grid-template-columns:auto minmax(0,1fr) 2.75rem;gap:var(--space-3)}.schedule-date-tile{width:4rem;min-height:4.25rem}.schedule-date-tile strong{font-size:1.3rem}.schedule-card-action{align-self:center;width:2.75rem;height:2.75rem}.app-update-banner{grid-template-columns:auto minmax(0,1fr)}.app-update-banner button{grid-column:1/-1;width:100%}.card-header{display:grid}.form-grid{grid-template-columns:1fr}.quick-actions .button{flex-basis:100%}.bottom-nav{left:0;right:0}.bottom-nav a{font-size:.7rem}td{grid-template-columns:1fr;gap:var(--space-1)}}.motion-calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.motion-calendar-toolbar h2{flex:1 1;margin:0;font-size:1.1rem}.motion-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin:16px 0;text-align:center}.motion-calendar-days button{min-width:0;min-height:56px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.motion-calendar-days button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:-3px;font-weight:700}.motion-calendar-days small{font-size:11px}.motion-calendar-event{border-top:1px solid var(--border);padding:12px 0;overflow-wrap:anywhere}.motion-calendar-event>summary{cursor:pointer;min-height:44px;list-style:none}.motion-calendar-event>summary::-webkit-details-marker{display:none}.motion-calendar-event>summary::marker{content:""}.motion-calendar-event summary{cursor:pointer;min-height:44px}.motion-calendar-event summary span{display:block;margin-top:4px}.motion-calendar-event[data-accent] summary{border-left:4px solid var(--group-accent);padding-left:12px}[data-accent=kids]{--group-accent:var(--accent-kids-soft)}[data-accent=prof]{--group-accent:var(--accent-prof-soft)}[data-accent=ladyDance]{--group-accent:var(--accent-ladyDance-soft)}[data-accent=breaking]{--group-accent:var(--accent-breaking-soft)}[data-accent=choreography]{--group-accent:var(--accent-choreography-soft)}body{font-synthesis:none}.button,button,input,select,textarea{border-radius:var(--radius-sm)}.page-header{border-bottom:1px solid var(--border);padding-bottom:var(--space-5)}.page-title{font-size:clamp(1.875rem,2.5vw,2.25rem);font-weight:600;letter-spacing:-.04em;line-height:1.05}.eyebrow{color:var(--brand-navy);font-weight:500;letter-spacing:.04em}.card h2,.card h3,.stat{font-weight:600}.message-date span,.push-permission-banner{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-header .motion-lockup{width:164px}.login-brand .motion-lockup{width:230px}.bottom-nav .nav-count{box-shadow:0 0 0 2px var(--surface)}.bottom-nav a{font-weight:500}@media (max-width:360px){.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav a{font-size:.625rem}}button:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--surface-soft);color:var(--text-secondary);border-color:var(--border)}@media (max-width:900px){.content:has(.chat-layout:not(.chat-layout--thread-open)){height:calc(100dvh - var(--mobile-header-height) - env(safe-area-inset-top));grid-template-rows:auto minmax(0,1fr)}.chat-layout:not(.chat-layout--thread-open){height:100%}.chat-layout:not(.chat-layout--thread-open) .chat-list{height:100%;min-height:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.entry-title{font-size:var(--text-2xl)}.public-page{max-width:1100px;margin:0 auto;padding:24px 24px max(40px,env(safe-area-inset-bottom))}.public-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--border)}.public-header .motion-lockup{width:190px}.public-intro{padding-block:32px 16px;max-width:680px}.public-intro h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;line-height:1.25}.public-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:24px}.public-links a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--border)}.public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.public-wide{grid-column:1/-1}.public-page h2{scroll-margin-top:24px}.public-notice,.public-page p{overflow-wrap:anywhere;white-space:pre-line}.public-notice+.public-notice{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.public-notice h3{margin:8px 0}.public-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px}.public-filters label{flex:1 1;min-width:170px}.public-period{display:flex;gap:8px}.public-period button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.public-slots{list-style:none;margin:16px 0 0;padding:0}.public-slot{display:grid;grid-template-columns:136px minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding-block:20px;border-top:1px solid var(--border)}.public-slot small,.public-slot strong{display:block;overflow-wrap:anywhere}.public-slot small{margin-top:4px;color:var(--text-secondary-strong)}.public-favorite[aria-pressed=true]{border-color:var(--primary);background:var(--surface-soft);color:var(--text-primary)}.public-favorite[aria-pressed=true]:hover{background:var(--border)}.public-empty{padding-block:24px;color:var(--text-secondary-strong)}.public-tariff{border-top:1px solid var(--border);padding-block:16px}.public-tariff>div{display:flex;justify-content:space-between;gap:24px}.public-tariff>div strong:last-child{white-space:nowrap}.public-feedback{margin-bottom:24px;border-left:4px solid var(--primary)}.public-unavailable{display:flex;flex-wrap:wrap;gap:8px}.public-unavailable p{flex-basis:100%}.public-checkbox{display:flex;align-items:center;flex-direction:row;gap:12px;min-height:44px}.public-checkbox input{width:20px;height:20px;min-height:20px;flex:0 0 20px}.public-admin-details{padding-block:16px;border-top:1px solid var(--border)}.public-admin-details>summary{cursor:pointer;min-height:44px}.public-admin-details>form{padding-top:16px}@media (max-width:650px){.public-grid{grid-template-columns:minmax(0,1fr);gap:16px}.public-header .motion-lockup{width:150px}.public-header .button{padding-inline:12px}.public-slot{grid-template-columns:96px minmax(0,1fr);gap:12px}.public-favorite{grid-column:1/-1;justify-self:start}.public-filters{align-items:stretch}.public-period{flex:1 0 100%}.public-period>button{flex:1 1}}.payment-receipts a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px;overflow-wrap:anywhere;max-width:100%}.client-group-cards{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.client-group-card{min-width:0;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.client-group-card h3,.client-group-card p{margin:0}.client-group-schedule{margin:0;padding-left:1.1rem}.repeat-choice{border:1px solid var(--border);border-radius:.5rem;padding:.25rem .5rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:0}.repeat-choice legend{font-size:.8rem;padding:0 .25rem}.repeat-choice label{display:inline-flex;gap:.35rem;align-items:center;min-height:44px}.result-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.result-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.result-date{color:var(--text-secondary,inherit);font-size:.85rem}.result-main{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0;overflow-wrap:anywhere}.result-main small{color:var(--text-secondary,inherit)}.result-place{font-weight:600;text-align:right;max-width:9rem}.result-main small.result-ftsarr{color:var(--focus);font-weight:600}@media (max-width:480px){.result-row{grid-template-columns:minmax(0,1fr) auto}.result-date{grid-column:1/-1}}.document-rows,.news-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.document-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.document-kind{font-size:.75rem;letter-spacing:.08em;color:var(--text-secondary)}.document-main{display:grid;grid-gap:.15rem;gap:.15rem}.document-main small{color:var(--text-secondary);overflow-wrap:anywhere}.document-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.document-actions a{min-height:44px;display:inline-flex;align-items:center}.document-manage{grid-column:1/-1}.news-row{display:grid;grid-gap:.35rem;gap:.35rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.news-row p{margin:0;white-space:pre-line;overflow-wrap:anywhere}.news-row small{color:var(--text-secondary)}.about-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.about-row{display:grid;grid-template-columns:8rem minmax(0,1fr);grid-gap:.75rem;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.about-row>span:first-child{color:var(--text-secondary);font-size:.85rem}@media (max-width:480px){.document-row{grid-template-columns:3rem minmax(0,1fr)}.document-actions{grid-column:2;justify-content:flex-start}.about-row{grid-template-columns:1fr;gap:.25rem}}.rating-card{display:grid;grid-template-columns:9rem minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:center}.rating-score{width:9rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand-navy,var(--text-primary)) var(--score),color-mix(in srgb,var(--border) 60%,transparent) 0)}.rating-score>span{width:78%;aspect-ratio:1;border-radius:50%;background:var(--surface);display:grid;place-content:center;text-align:center}.rating-score b{font-size:2rem;line-height:1}.rating-score small{color:var(--text-secondary);font-size:.75rem}.rating-stage{font-size:1.35rem;letter-spacing:-.02em}.rating-micro{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 0}.rating-micro div{border-top:1px solid var(--border);padding-top:.4rem;min-width:5rem}.rating-micro dt{font-size:.75rem;color:var(--text-secondary)}.rating-micro dd{margin:0;font-weight:600}.rating-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.rating-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.rating-list li{padding:.55rem 0;border-bottom:1px solid var(--border)}.rating-editorial{border-left:2px solid var(--text-primary);padding:.2rem 0 .2rem 1rem;display:grid;grid-gap:.25rem;gap:.25rem}.rating-editorial span{color:var(--text-secondary);white-space:pre-line}.criteria-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:1.25rem;column-gap:1.25rem}.criteria-rows li{display:flex;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.criteria-rows li>span:last-child,.criteria-rows small{color:var(--text-secondary)}@media (max-width:640px){.rating-card{grid-template-columns:6.5rem minmax(0,1fr);gap:1rem}.rating-score{width:6.5rem}.rating-score b{font-size:1.5rem}.criteria-rows,.rating-columns{grid-template-columns:1fr}}main{overflow-wrap:break-word}.content{grid-template-columns:minmax(0,1fr)}.list-row .list-main>*{min-width:0;overflow-wrap:anywhere}.list-row .list-left{overflow:hidden}.list-row .list-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-actions{gap:.75rem;justify-content:space-between;margin-bottom:1.25rem}.page-actions,.page-actions form{display:flex;flex-wrap:wrap;align-items:end}.page-actions form{gap:.5rem;margin:0}.page-actions label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.8rem;color:var(--text-secondary)}.month-switch{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.25rem}.month-switch strong{font-size:1.15rem;font-weight:600;text-transform:capitalize;margin-right:.5rem}.month-switch a{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px}.month-switch form{display:flex;gap:.5rem;margin:0 0 0 auto}.month-switch input{min-height:44px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1.75rem}.summary-strip>div{padding:1rem 1.25rem 1rem 0;display:grid;grid-gap:.25rem;gap:.25rem;align-content:start;min-width:0}.summary-strip>div+div{padding-left:1.25rem;border-left:1px solid var(--border)}.summary-strip small{color:var(--text-secondary);font-size:.78rem}.summary-strip strong{font-size:1.6rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.summary-strip details{font-size:.85rem}.summary-strip-2{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip-3{grid-template-columns:repeat(3,minmax(0,1fr))}.list-row .list-right small{font-size:.75rem}.list-row details summary{cursor:pointer;color:var(--text-secondary);font-size:.8rem}.summary-strip ul{margin:.4rem 0 0;padding-left:1rem}@media (max-width:760px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip>div:nth-child(3){padding-left:0;border-left:0}.summary-strip>div:nth-child(n+3){border-top:1px solid var(--border)}}.list-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.list-row{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;min-height:58px;padding:.6rem 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.list-row:hover strong{text-decoration:underline}.list-row .list-left{color:var(--text-secondary);font-size:.82rem;display:flex;align-items:center;gap:.5rem;min-width:0}.list-row .list-main{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.list-row .list-main strong{font-weight:500}.list-row .list-main small{color:var(--text-secondary);font-size:.8rem}.list-row .list-right{color:var(--text-secondary);font-size:.85rem;text-align:right}.group-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--brand-navy)}@media (max-width:600px){.list-row{grid-template-columns:5.25rem minmax(0,1fr) auto;gap:.6rem}.list-row .list-left{font-size:.75rem}}.client-group-card{grid-template-columns:4px minmax(0,1fr);column-gap:.9rem;border-radius:14px;background:var(--surface)}.client-group-card>.group-mark{grid-row:1/span 6;align-self:stretch;border-radius:99px;background:var(--group-accent,var(--brand-navy))}.client-group-card>:not(.group-mark){grid-column:2}.group-rows{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.group-row{display:grid;grid-template-columns:4px minmax(0,1fr) auto;grid-gap:.9rem;gap:.9rem;align-items:center;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:inherit;text-decoration:none}.group-row:hover{border-color:var(--border-strong)}.group-row>.group-mark{align-self:stretch;min-height:2.2rem;border-radius:99px}.group-row-main{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.group-row-main>*{min-width:0;overflow-wrap:anywhere}.group-row-main strong{font-weight:600}.group-row-main small,.group-row-side{color:var(--text-secondary);font-size:.82rem}.group-row-side{text-align:right;white-space:nowrap}.editorial-note{margin:0;padding:.2rem 0 .2rem 1rem;border-left:2px solid var(--text-primary)}.editorial-note b{display:block;font-weight:600}.editorial-note span{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.85rem;line-height:1.55}.create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.create-grid .create-choice{position:relative;display:grid;grid-gap:.35rem;gap:.35rem;align-content:start;justify-content:stretch;justify-items:start;min-height:7rem;padding:1.1rem 2.75rem 1.1rem 1.1rem;text-align:left;white-space:normal;font-weight:400;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:none}.create-grid .create-choice:hover{color:var(--text-primary);background:var(--surface);border-color:var(--border-strong)}.create-choice .create-n{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary)}.create-choice b{font-size:1.05rem;font-weight:600}.create-choice .create-p{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.create-choice:after{content:"→";position:absolute;right:1rem;bottom:.9rem;font-size:1.1rem;color:var(--text-secondary)}.schedule-note{margin:-.75rem 0 0;color:var(--text-secondary);font-size:.85rem}@media (max-width:760px){.create-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.summary-strip-2,.summary-strip-3{grid-template-columns:minmax(0,1fr)}.summary-strip-2>div+div,.summary-strip-3>div+div{padding-left:0;border-left:0;border-top:1px solid var(--border)}}.group-row-main h2{margin:0;font-size:1rem;font-weight:600;letter-spacing:0}.section-caption{margin:.75rem 0 0;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.page-actions form label{flex:1 1 12rem}.page-actions form input,.page-actions form select{width:100%}@media (max-width:600px){.page-actions>.button{width:100%}.month-switch form{margin-left:0;flex:1 1 100%}.month-switch form input{flex:1 1;min-width:0}}.group-head{display:grid;grid-template-columns:4px minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:.25rem 0 1.5rem;border-bottom:1px solid var(--border)}.group-head>.group-mark{align-self:stretch;min-height:3rem;border-radius:99px}.group-head>div{min-width:0;overflow-wrap:anywhere}.group-head p{margin:0 0 .35rem}.group-head .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.chip-plain{display:inline-flex;align-items:center;padding:.3rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.78rem}.roster-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.roster-rows>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;min-height:52px;padding:.6rem 0;border-bottom:1px solid var(--border)}.roster-rows>li>*{min-width:0;overflow-wrap:anywhere}.roster-rows>li.roster-block{display:grid;justify-content:stretch}.roster-rows small{display:block;margin-top:.15rem;color:var(--text-secondary);font-size:.8rem}.roster-rows .actions{gap:.5rem 1rem;align-items:start}.roster-rows details summary,.section-form>summary{cursor:pointer;color:var(--text-secondary);font-size:.85rem}.section-form{margin-top:.9rem}.roster-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}.roster-line>*{min-width:0;overflow-wrap:anywhere}.roster-line .list-right{text-align:right;color:var(--text-secondary);font-size:.85rem}.link-button{min-height:32px;min-width:0;padding:.2rem 0;border:0;color:var(--text-secondary-strong);font-size:.8rem;text-decoration:underline;text-underline-offset:3px}.link-button,.link-button:hover{background:transparent;box-shadow:none}.link-button:hover{color:var(--text-primary);transform:none}.portrait-editor{display:grid;grid-gap:.4rem;gap:.4rem;max-width:18rem}.portrait-editor-actions{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.portrait-crop{display:grid;grid-gap:.4rem;gap:.4rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.portrait-crop label{display:grid;grid-gap:.15rem;gap:.15rem;font-size:.78rem;color:var(--text-secondary)}.portrait-crop .button{min-height:36px}.list-person{display:flex;align-items:center;gap:.75rem;min-width:0}.row-avatar{flex:none;width:36px;height:45px;border-radius:8px;object-fit:cover;display:grid;place-items:end center;padding-bottom:4px;background:color-mix(in srgb,var(--brand-taupe) 32%,var(--surface));color:var(--text-secondary);font-size:.72rem;font-weight:500}img.row-avatar{padding:0}.notice-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:.75rem;max-width:46rem}.notice-gallery a{display:block;overflow:hidden;border-radius:12px;background:var(--surface-subtle,var(--border));aspect-ratio:4/3}.notice-gallery a:first-child{grid-column:1/-1;aspect-ratio:16/9}.notice-gallery-single a:first-child{aspect-ratio:auto;max-height:32rem}.notice-gallery img{display:block;width:100%;height:100%;object-fit:cover}.notice-gallery-single img{height:auto;max-height:32rem;object-fit:contain}.notice-images-editor{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.notice-thumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.notice-thumbs li{display:grid;grid-gap:.2rem;gap:.2rem;justify-items:start}.notice-thumbs img{width:96px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}@media (max-width:600px){.notice-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.child-card-photo{width:56px;height:70px;border-radius:12px}.child-profile-header:has(>.child-card-photo){grid-template-columns:auto minmax(0,1fr) auto}.nav-progress{position:fixed;top:env(safe-area-inset-top,0);left:0;right:0;z-index:1000;height:3px;box-shadow:0 0 8px color-mix(in srgb,var(--brand-navy) 60%,transparent);pointer-events:none;opacity:0;transform:scaleX(0);transform-origin:left;background:var(--brand-navy);transition:opacity .2s ease}html[data-navigating] .nav-progress{opacity:1;animation:nav-progress 8s cubic-bezier(.1,.7,.2,1) forwards}@keyframes nav-progress{0%{transform:scaleX(.08)}to{transform:scaleX(.92)}}@media (prefers-reduced-motion:reduce){html[data-navigating] .nav-progress{animation:none;transform:scaleX(.6)}}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(6px)}}details[open]>:not(summary){animation:motion-rise-in .2s ease-out}.rating-score{background:conic-gradient(var(--accent-editorial-soft) 0,var(--brand-navy) var(--score),color-mix(in srgb,var(--border) 60%,transparent) 0);filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--brand-navy) 35%,transparent))}.rating-score>span{box-shadow:inset 0 2px 10px color-mix(in srgb,var(--brand-graphite) 10%,transparent)}.rating-card{padding:1rem;border-radius:18px;background:radial-gradient(120% 120% at 0 0,color-mix(in srgb,var(--accent-editorial-soft) 14%,transparent),transparent 60%)}body{background:radial-gradient(60rem 40rem at 100% -10%,color-mix(in srgb,var(--accent-ladyDance-soft) 9%,transparent),transparent 70%),radial-gradient(50rem 36rem at -10% 110%,color-mix(in srgb,var(--accent-kids-soft) 10%,transparent),transparent 70%),var(--background);background-attachment:fixed}.sidebar{background:radial-gradient(120% 40% at 0 0,color-mix(in srgb,var(--accent-ladyDance-soft) 22%,transparent),transparent 70%),radial-gradient(120% 40% at 100% 100%,color-mix(in srgb,var(--brand-navy) 40%,transparent),transparent 70%),var(--brand-graphite)}.sidebar a.active{box-shadow:inset 3px 0 0 var(--accent-ladyDance-soft),0 0 22px -10px var(--accent-ladyDance-soft)}.page-title{background:linear-gradient(100deg,var(--brand-graphite) 30%,var(--brand-navy));-webkit-background-clip:text;background-clip:text;color:transparent}.card{border-color:color-mix(in srgb,var(--brand-border) 75%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-ivory) 55%,var(--surface)) 0,var(--surface) 72px);box-shadow:0 1px 0 color-mix(in srgb,var(--brand-white) 90%,transparent) inset,0 16px 36px -28px color-mix(in srgb,var(--brand-graphite) 70%,transparent)}.button:not(.button-ghost):not(.button-secondary):not(.button-danger):not(.link-button){background-image:linear-gradient(135deg,var(--brand-graphite),color-mix(in srgb,var(--brand-navy) 55%,var(--brand-graphite)))}.button:not(.button-ghost):not(.button-secondary):hover{box-shadow:0 10px 22px -12px color-mix(in srgb,var(--brand-navy) 80%,transparent)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-navy) 18%,transparent),0 0 18px -6px color-mix(in srgb,var(--brand-navy) 60%,transparent)}.badge{box-shadow:0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)}.list-row{transition:background-color .16s ease}a.list-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-navy) 7%,transparent),transparent)}.motion-calendar-event[open]{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-navy) 6%,transparent),transparent 60%);box-shadow:inset 2px 0 0 var(--brand-navy);padding-left:10px;border-radius:0 10px 10px 0}@media (max-width:900px){.mobile-header{background:color-mix(in srgb,var(--brand-white) 78%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}.bottom-nav{background:color-mix(in srgb,var(--brand-graphite) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-top-color:color-mix(in srgb,var(--brand-ivory) 12%,transparent);box-shadow:0 -12px 30px -18px #000}.bottom-nav a.active{background:color-mix(in srgb,var(--brand-ivory) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-ivory) 14%,transparent),0 0 20px -8px var(--accent-ladyDance-soft)}}.trainer-directory-row{transition:background-color .16s ease,box-shadow .16s ease}.trainer-directory-row:active,.trainer-directory-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-navy) 8%,transparent),transparent 70%);box-shadow:inset 3px 0 0 var(--brand-navy)}.bottom-nav a,.button,.icon-button,.list-row,button{transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-duration:.16s;transition-timing-function:ease-out}.button:active,.icon-button:active,button:not(:disabled):active{transform:scale(.97)}.list-row:active{background-color:color-mix(in srgb,var(--brand-navy) 6%,transparent)}.bottom-nav a:active{transform:scale(.92)}.group-row:active,a.card:active{transform:scale(.985)}@media (prefers-reduced-motion:reduce){html body details[open]>:not(summary){animation:motion-fade-in .18s ease-out!important}html body .bottom-nav a,html body .button,html body .icon-button,html body .list-row,html body button{transition-duration:.12s!important}html body .bottom-nav a:active,html body .button:active,html body .group-row:active,html body .icon-button:active,html body a.card:active,html body button:active{transform:none;opacity:.75}}.text-link{color:inherit;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word}