.page-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.page-tabs::-webkit-scrollbar{display:none}.page-tab{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease;border-radius:4px 4px 0 0;background:none;border-top:none;border-left:none;border-right:none;white-space:nowrap;flex-shrink:0}.page-tab:hover{color:var(--text-primary);background:var(--surface-2)}.page-tab .tab-ct{background:#ffffff14;border-radius:10px;padding:0 .35rem;font-size:.65rem;margin-left:.3rem}.page-header{margin-bottom:1.25rem}.page-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}@media(max-width:900px){.page-header h1{font-size:1.35rem}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);font-size:.78rem;font-weight:500;font-family:var(--font-body);transition:var(--transition)}.theme-toggle:hover{color:var(--text-primary)}.theme-toggle-track{width:44px;height:24px;border-radius:12px;background:var(--surface-3);border:1px solid var(--border-bright);position:relative;flex-shrink:0;transition:background .2s,border-color .2s;display:flex;align-items:center}.theme-toggle-track[data-dark=true]{background:var(--accent-dim);border-color:var(--accent)}.theme-toggle-thumb{position:absolute;left:2px;width:18px;height:18px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000040;transition:transform .2s var(--ease-spring, cubic-bezier(.34,1.56,.64,1));color:var(--accent)}.theme-toggle-track[data-dark=true] .theme-toggle-thumb{transform:translate(20px)}.theme-toggle-label{font-size:.76rem;color:var(--text-muted);-webkit-user-select:none;user-select:none}.theme-toggle.compact .theme-toggle-label{display:none}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky);height:64px;display:flex;align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm)}.skip-nav{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-nav:focus{position:static;width:auto;height:auto}.navbar-container{max-width:1140px;margin:0 auto;padding:0 var(--space-5);display:flex;align-items:center;gap:0;width:100%;height:100%}.navbar-brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;margin-right:var(--space-8);flex-shrink:0}.brand-icon{color:var(--color-brand);display:flex;align-items:center}.brand-text{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wider);line-height:1}.navbar-menu{display:flex;align-items:center;gap:var(--space-0-5);flex:1;height:100%}.nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);text-decoration:none;color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-body);transition:var(--transition);white-space:nowrap;position:relative;min-height:36px}.nav-item:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.nav-item--active{color:var(--color-text-brand);background:var(--color-brand-tonal);font-weight:var(--font-semibold)}.nav-item--active:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:24px;height:2.5px;background:var(--color-brand);border-radius:var(--radius-full)}.nav-icon{display:flex;align-items:center;opacity:.7}.nav-item--active .nav-icon{opacity:1}.nav-label{line-height:1}.navbar-user{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;flex-shrink:0}.user-name{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium);font-family:var(--font-body);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:transparent;border:1px solid var(--color-border-bright);color:var(--color-text-muted);border-radius:var(--radius-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:36px}.btn-logout:hover{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-tonal)}.nav-item--child-attendance{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-5)}.nav-item--child-attendance .nav-icon{opacity:.5}.nav-item--child-attendance.nav-item--active{color:var(--color-text-brand)}.nav-item--child-attendance.nav-item--active .nav-icon{opacity:.8}.nav-menu-footer{display:none}.navbar-toggle{display:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:var(--space-2);margin-left:var(--space-2);border-radius:var(--radius-2);min-width:44px;min-height:44px;align-items:center;justify-content:center}.navbar-toggle:hover{background:var(--color-surface-2)}@media(max-width:820px){.navbar-container{justify-content:space-between}.navbar-brand{margin-right:0}.navbar-toggle{display:flex;margin-left:auto}.navbar-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--color-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);flex-direction:column;align-items:stretch;gap:var(--space-1);z-index:var(--z-overlay);box-shadow:var(--shadow-xl);height:auto}.navbar-menu.active{display:flex}.nav-item{padding:var(--space-3) var(--space-4);font-size:var(--text-lg);border-radius:var(--radius-2);min-height:44px}.nav-item--active:after{display:none}.nav-item--active{background:var(--color-brand-tonal);border-left:3px solid var(--color-brand);padding-left:calc(var(--space-4) - 3px)}.navbar-user{display:none}.nav-menu-footer{display:block;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-bright)}.nav-menu-footer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.nav-item--child-attendance{padding-left:calc(var(--space-4) + var(--space-4));font-size:var(--text-base)}.brand-text{font-size:var(--text-lg)}}@media(max-width:480px){.navbar-container{padding:0 var(--space-3)}}.admin-app{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{width:240px;min-height:100vh;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;flex-shrink:0}.admin-brand{padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid var(--border)}.admin-brand-logo-row{display:flex;align-items:center;gap:.75rem}.admin-brand-logo{width:36px;height:36px;border-radius:8px;object-fit:contain;flex-shrink:0}.admin-brand-initials{width:36px;height:36px;border-radius:8px;background:var(--accent-dim, rgba(59,110,255,.15));color:var(--accent-bright, #7c6eff);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;font-family:var(--font-heading);letter-spacing:.04em;flex-shrink:0}.admin-brand-text{min-width:0}.admin-brand-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-brand-name span{color:var(--accent)}.admin-brand-sub{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.2rem;font-family:var(--font-body);font-weight:500}.admin-nav{flex:1;padding:1rem .65rem;display:flex;flex-direction:column;gap:.1rem;overflow-y:auto}.admin-nav-section-label{font-family:var(--font-heading);font-size:.6rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;padding:.85rem .75rem .3rem}.admin-nav-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;border:none;background:none;width:100%;text-align:left;position:relative;letter-spacing:.01em;min-height:44px}.admin-nav-item:hover{background:var(--surface-2);color:var(--text-secondary)}.admin-nav-item.active{background:var(--accent-dim);color:var(--text-primary);font-weight:600}.admin-nav-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.admin-nav-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0;opacity:.8;display:flex;align-items:center;justify-content:center}.admin-nav-item.active .admin-nav-icon{opacity:1}.admin-nav-label{flex:1}.admin-sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.admin-user-info{margin-bottom:.65rem}.admin-user-name{font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-role{font-size:.68rem;color:var(--text-muted);text-transform:capitalize;margin-top:.1rem;letter-spacing:.04em}.admin-logout-btn{width:100%;padding:.5rem;background:transparent;border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-body);font-size:.78rem;cursor:pointer;transition:var(--transition);min-height:44px}.admin-logout-btn:hover{background:var(--danger-dim);border-color:#ff475759;color:var(--danger)}.admin-nav-group{display:flex;flex-direction:column}.admin-nav-sub{padding-left:2.4rem!important;font-size:.78rem!important;min-height:36px!important;color:var(--text-muted);opacity:.9}.admin-nav-sub:hover{background:var(--surface-2);color:var(--text-secondary)}.admin-nav-sub.active{background:var(--accent-dim);color:var(--accent-bright);font-weight:600;opacity:1}.admin-nav-sub.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.admin-nav-sub-icon{width:16px!important}.nav-badge{background:var(--danger);color:#fff;font-size:.6rem;font-weight:800;border-radius:20px;padding:.1rem .45rem;min-width:18px;text-align:center;margin-left:auto}.admin-main{margin-left:240px;flex:1;min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.admin-content{flex:1;padding:0}.admin-mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--surface);border-bottom:1px solid var(--border);z-index:200;align-items:center;justify-content:space-between;padding:0 1rem}.admin-mobile-brand{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase}.admin-mobile-brand span{color:var(--accent)}.admin-mobile-actions{display:flex;align-items:center;gap:.5rem}.admin-hamburger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition)}.admin-hamburger:hover{background:var(--surface-2)}.admin-mobile-badge{background:var(--danger);color:#fff;font-size:.6rem;font-weight:800;border-radius:20px;padding:.15rem .5rem;min-width:20px;text-align:center}.admin-drawer-overlay{display:none;position:fixed;inset:0;background:#000000a6;z-index:300;opacity:0;pointer-events:none;transition:opacity .25s ease}.admin-drawer-overlay.open{opacity:1;pointer-events:all}.admin-drawer{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--surface);border-right:1px solid var(--border);z-index:400;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.admin-drawer.open{transform:translate(0)}.admin-drawer-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.admin-drawer-brand{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase}.admin-drawer-brand span{color:var(--accent)}.admin-drawer-brand-sub{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.15rem;font-family:var(--font-body)}.admin-drawer-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface-2);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:var(--transition)}.admin-drawer-close:hover{color:var(--text-primary)}.admin-drawer-nav{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}.admin-drawer-nav .admin-nav-item{padding:.75rem 1rem;font-size:.95rem;min-height:52px;border-radius:var(--radius-md)}.admin-drawer-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.admin-drawer-user-name{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-drawer-user-role{font-size:.7rem;color:var(--text-muted);text-transform:capitalize;letter-spacing:.04em;margin-bottom:.25rem}@media(max-width:900px){.admin-sidebar{display:none}.admin-mobile-header{display:flex}.admin-drawer-overlay{display:block}.admin-main{margin-left:0;padding-top:56px}.admin-content{padding:1rem}.admin-bottom-bar{display:none!important}}@media(max-width:480px){.admin-content{padding:.875rem}}.admin-mobile-noshow-btn{display:flex;align-items:center;gap:5px;padding:.3rem .65rem;background:#ff475726;border:1px solid rgba(255,71,87,.4);border-radius:var(--radius-sm);color:var(--danger);font-size:.72rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:34px}.admin-mobile-noshow-btn:hover{background:#ff475740}[data-theme=light] .admin-sidebar{background:#fff;border-right-color:#00000014}[data-theme=light] .admin-nav-item{color:#3d4f72}[data-theme=light] .admin-nav-item:hover{background:#f0f2f8;color:#0f1623}[data-theme=light] .admin-nav-item.active{background:#2c5ae00f;color:#2c5ae0}[data-theme=light] .admin-nav-item.active:before{background:#2c5ae0}[data-theme=light] .admin-mobile-header{background:#fff;border-bottom-color:#00000014}[data-theme=light] .admin-main{background:#f4f6fb}[data-theme=light] .admin-brand-name{color:#0f1623}[data-theme=light] .admin-brand-name span{color:#2c5ae0}[data-theme=light] .admin-sidebar-footer,[data-theme=light] .admin-drawer-footer{border-top-color:#00000014}[data-theme=light] .admin-user-name,[data-theme=light] .admin-drawer-user-name{color:#0f1623}[data-theme=light] .admin-user-role,[data-theme=light] .admin-drawer-user-role{color:#6b7a99}[data-theme=light] .admin-logout-btn{color:#6b7a99;border-color:#00000014}[data-theme=light] .admin-logout-btn:hover{color:#dc2626;border-color:#dc2626;background:#dc26260d}[data-theme=light] .admin-brand{border-bottom-color:#00000014}[data-theme=light] .admin-nav-section-label{color:#6b7a99}.admin-sidebar-theme{padding:.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:.5rem;display:flex;justify-content:center}.transfer-mode-global-banner{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,var(--color-warning),#d97706);color:#1a1a2e;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s}.transfer-mode-global-banner:hover{background:linear-gradient(135deg,#d97706,#b45309)}@media(max-width:800px){.transfer-mode-global-banner{left:0;top:56px}}.auth-container{min-height:100vh;background:var(--color-bg);display:flex;align-items:center;justify-content:center;padding:var(--space-6);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(59,110,255,.06) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.auth-card{background:var(--color-surface);border:1px solid var(--color-border-bright);border-radius:var(--radius-5);padding:var(--space-8) var(--space-6);width:100%;max-width:400px;box-shadow:var(--shadow-lg);position:relative;z-index:1}.auth-card h1{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-align:center;margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.auth-card h2{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-muted);text-align:center;margin:0 0 var(--space-6)}.auth-mode-toggle{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1)}.auth-mode-btn{flex:1;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-full);border:none;cursor:pointer;font-weight:var(--font-semibold);font-size:var(--text-sm);font-family:var(--font-body);transition:var(--transition);min-height:40px;background:transparent;color:var(--color-text-muted)}.auth-mode-btn:hover{color:var(--color-text-primary);background:var(--color-surface-3)}.auth-mode-btn.active{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-button)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form .form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.auth-form .form-group label{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);font-family:var(--font-body)}.auth-form .form-group input{background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-body);width:100%;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);min-height:48px;box-sizing:border-box}.auth-form .form-group input:focus{border-color:var(--color-brand);box-shadow:var(--shadow-input-active);outline:none}.auth-form .form-group input::placeholder{color:var(--color-text-muted)}.auth-form .form-group input:disabled{opacity:.5}.auth-form .form-group input[type=tel]{font-size:var(--text-lg);letter-spacing:var(--tracking-wide)}.auth-form .form-group input[inputMode=numeric]{font-size:var(--text-4xl);letter-spacing:.3em;text-align:center;font-family:var(--font-heading);font-weight:var(--font-bold);padding:var(--space-4);min-height:56px}.auth-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1);font-family:var(--font-body)}.auth-sent-to{text-align:center;margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-base);font-family:var(--font-body)}.auth-sent-to strong{color:var(--color-text-primary)}.auth-form .btn-primary{display:flex;align-items:center;justify-content:center;padding:var(--space-3-5) var(--space-5);background:var(--color-brand);border:none;border-radius:var(--radius-2);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:48px;box-shadow:var(--shadow-button);text-decoration:none}.auth-form .btn-primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:var(--shadow-button-focus);transform:translateY(-1px)}.auth-form .btn-primary:active:not(:disabled){transform:translateY(0)}.auth-form .btn-primary:disabled{opacity:.55;cursor:default}.auth-back-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-body);font-weight:var(--font-medium);margin-top:var(--space-2);width:100%;text-align:center;padding:var(--space-2) 0;transition:color var(--duration-fast) var(--ease-out)}.auth-back-btn:hover{color:var(--color-text-secondary)}.auth-not-found{text-align:center}.auth-not-found-icon{width:56px;height:56px;border-radius:var(--radius-full);margin:0 auto var(--space-4);background:var(--color-warning-tonal);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl)}.auth-not-found h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.auth-not-found p{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:var(--leading-normal);font-family:var(--font-body)}.auth-not-found-actions{display:flex;flex-direction:column;gap:var(--space-3)}.auth-not-found-actions .btn-primary{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:0 var(--space-4);background:var(--color-brand);border:none;border-radius:var(--radius-2);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);min-height:48px;line-height:1.2;box-shadow:var(--shadow-button);transition:var(--transition)}.auth-not-found-actions .btn-primary:hover{background:var(--color-brand-hover)}.auth-not-found-actions .btn-outline{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;padding:0 var(--space-4);border-radius:var(--radius-2);border:1px solid var(--color-border-bright);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);background:transparent;cursor:pointer;transition:var(--transition);min-height:48px}.auth-not-found-actions .btn-outline:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.auth-expired-banner{background:var(--color-warning-tonal);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);color:var(--color-text-warning);font-size:var(--text-base);text-align:center;font-family:var(--font-body)}.demo-info{margin-top:var(--space-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-body)}.demo-info strong{color:var(--color-text-secondary)}.auth-link{text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-body)}.auth-field-error{color:var(--color-error);font-size:var(--text-sm);font-family:var(--font-body)}@media(max-width:480px){.auth-container{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-12)}.auth-card{padding:var(--space-6) var(--space-4);border-radius:var(--radius-4)}.auth-card h1{font-size:var(--text-xl)}}.belt-badge{display:inline-flex;width:60px;height:22px;border-radius:4px;border:1px solid transparent;flex-shrink:0}.belt-badge-striped{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.belt-stripe{position:absolute;width:100%;height:3px;top:50%;transform:translateY(-50%);left:0}.belt-bar-wrap{display:inline-flex;align-items:center}.belt-bar{display:inline-block;width:36px;height:7px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 1px 2px #0000004d}.dashboard-container{padding:var(--space-3) var(--space-4) var(--space-8);max-width:480px;margin:0 auto}.dashboard-content{display:flex;flex-direction:column;gap:var(--space-3)}.lean-dashboard{gap:var(--space-3-5)}.lean-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-20) var(--space-4);color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-body)}.lean-loading-spinner{width:28px;height:28px;border:2.5px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:lean-spin .7s linear infinite}@keyframes lean-spin{to{transform:rotate(360deg)}}.lean-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-4);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out)}.lean-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3-5);color:var(--color-text-muted)}.lean-card-header h3{margin:0;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.lean-info-card{padding:var(--space-5) var(--space-4) var(--space-4)}.lean-greeting{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;color:var(--color-text-primary);margin-bottom:var(--space-3-5);line-height:var(--leading-tight);letter-spacing:-.03em}.lean-info-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2-5)}.lean-belt-display{display:flex;align-items:center;gap:var(--space-2-5)}.lean-belt-text{font-size:var(--text-md);font-weight:var(--font-semibold);font-family:var(--font-body);letter-spacing:.01em}.lean-plan-name{font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap;font-weight:var(--font-medium);font-family:var(--font-body)}.lean-billing-grid{display:flex;flex-direction:column;gap:0}.lean-billing-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2-5) 0;border-bottom:1px solid var(--color-border)}.lean-billing-item:last-child{border-bottom:none;padding-bottom:0}.lean-billing-item:first-child{padding-top:0}.lean-billing-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium);font-family:var(--font-body)}.lean-billing-value{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:right;font-family:var(--font-body)}.lean-billing-value.status-active{color:var(--color-text-success)}.lean-billing-value.status-past-due{color:var(--color-text-error);font-weight:var(--font-bold)}.lean-billing-value.status-canceled{color:var(--color-text-muted)}.lean-attendance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);text-align:center}.lean-attendance-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border-radius:var(--radius-2-5);transition:background var(--duration-normal) var(--ease-out)}.lean-stat-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;color:var(--color-text-primary);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.lean-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--font-semibold);font-family:var(--font-body)}.lean-attendance-stat:last-child .lean-stat-value{text-shadow:0 0 20px rgba(245,158,11,.15)}.lean-last-class{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;font-weight:var(--font-medium);font-family:var(--font-body)}.lean-kids-card{border-color:#c8202a26}.lean-kids-grid{display:flex;flex-direction:column;gap:var(--space-2)}.lean-kid-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-2-5);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);width:100%;text-align:left;font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.lean-kid-item:hover,.lean-kid-item:active{border-color:#c8202a4d;background:var(--color-surface-3)}.lean-kid-item:active{transform:scale(.98)}.lean-kid-belt-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:var(--shadow-xs)}.lean-kid-info{flex:1;min-width:0}.lean-kid-name{display:block;font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:1.3;font-family:var(--font-body)}.lean-kid-belt{display:block;font-size:var(--text-sm);color:var(--color-text-muted);text-transform:capitalize;font-weight:var(--font-medium);margin-top:.1rem;font-family:var(--font-body)}@media(min-width:480px){.dashboard-container{padding:var(--space-4) var(--space-5) var(--space-8)}.lean-card{padding:var(--space-5)}.lean-info-card{padding:var(--space-6) var(--space-5) var(--space-5)}.lean-greeting,.lean-stat-value{font-size:var(--text-4xl)}}@media(min-width:640px){.dashboard-container{padding:var(--space-5) var(--space-6) var(--space-10)}.lean-card{border-radius:var(--radius-4)}}.parent-info-details{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-4)}.parent-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2-5) 0;border-bottom:1px solid var(--color-border)}.parent-info-row:last-child{border-bottom:none;padding-bottom:0}.parent-info-row:first-child{padding-top:0}.parent-info-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-muted);font-family:var(--font-body);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-size:var(--text-2xs)}.parent-info-value{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);font-family:var(--font-body)}.parent-info-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1-5) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:36px}.parent-info-edit-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-brand)}.lean-announcements-card{border-color:#3b6eff1f}.lean-announcements-list{display:flex;flex-direction:column;gap:0}.lean-announcement-item{position:relative;display:block;width:100%;text-align:left;background:none;border:none;font-family:inherit;color:inherit;cursor:pointer;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);transition:var(--transition);-webkit-tap-highlight-color:transparent}.lean-announcement-item:hover{background:var(--color-surface-2);margin:0 calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3);border-radius:var(--radius-1-5)}.lean-announcement-item:last-child{border-bottom:none;padding-bottom:0}.lean-announcement-item:first-child{padding-top:0}.lean-announcement-pinned{padding-left:var(--space-4)}.lean-ann-pin-icon{position:absolute;left:0;top:var(--space-3-5);color:var(--color-warning)}.lean-announcement-pinned:first-child .lean-ann-pin-icon{top:var(--space-0-5)}.lean-announcement-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);font-family:var(--font-body);line-height:var(--leading-snug);margin-bottom:var(--space-1)}.lean-announcement-body{font-size:var(--text-sm);color:var(--color-text-secondary);font-family:var(--font-body);line-height:var(--leading-normal)}.lean-announcement-image{width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius-2);margin-top:var(--space-2)}.lean-announcement-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-1-5)}.lean-announcement-date{font-size:var(--text-2xs);color:var(--color-text-muted);font-family:var(--font-body)}.lean-announcement-read-more{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-2xs);color:var(--color-brand);font-weight:var(--font-medium);font-family:var(--font-body)}.profile-container{padding:var(--space-4) var(--space-5) var(--space-8);max-width:640px;margin:0 auto}.profile-header{margin-bottom:var(--space-5)}.profile-header h1{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0}.profile-content{display:flex;flex-direction:column;gap:var(--space-4)}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out)}.profile-card:hover{border-color:var(--color-border-bright)}.profile-card h3{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.profile-header-section{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.profile-avatar{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-brand-tonal);border:3px solid var(--color-brand);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-brand);flex-shrink:0;box-shadow:0 0 20px #3b6eff40,0 0 0 6px #3b6eff14;transition:var(--transition);cursor:pointer;overflow:hidden;position:relative}.profile-avatar:hover{box-shadow:0 0 28px #3b6eff59,0 0 0 8px #3b6eff1f;transform:scale(1.04)}.profile-avatar.profile-avatar-readonly{cursor:default}.profile-avatar.profile-avatar-readonly:hover{transform:none}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.profile-avatar-overlay{position:absolute;bottom:-2px;right:-2px;width:28px;height:28px;border-radius:50%;background:#000000b3;border:2px solid var(--color-surface);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);pointer-events:none}.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-avatar.profile-avatar-uploading{opacity:.6;pointer-events:none}.profile-avatar.profile-avatar-uploading .profile-avatar-overlay{opacity:0}.profile-avatar-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.profile-avatar-spinner:after{content:"";width:28px;height:28px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:avatar-spin .7s linear infinite}@keyframes avatar-spin{to{transform:rotate(360deg)}}.profile-title{flex:1;min-width:0}.profile-title h2{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:var(--tracking-tight)}.profile-title p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-body)}.edit-actions{display:flex;gap:var(--space-2);flex-shrink:0}.profile-details{display:flex;flex-direction:column;gap:0}.detail-row{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base);font-family:var(--font-body);transition:background var(--duration-fast) var(--ease-out)}.detail-row:last-child{border-bottom:none}.detail-row:hover{background:var(--color-surface-2)}.detail-row label{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);min-width:110px;flex-shrink:0;font-family:var(--font-body)}.detail-row span{color:var(--color-text-primary)}.status-badge.active{background:var(--color-success-tonal);color:var(--color-text-success);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-full);text-transform:capitalize;border:1px solid var(--color-border-success)}.profile-edit-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-group label{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);font-family:var(--font-body)}.form-input{background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-body);width:100%;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);min-height:44px;box-sizing:border-box}.form-input:focus{border-color:var(--color-brand);box-shadow:var(--shadow-input-active);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-input[type=date],.form-input[type=time],.form-input[type=datetime-local]{color-scheme:dark}.form-note{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-3);padding:var(--space-4) var(--space-4) var(--space-3);margin-bottom:var(--space-1)}.form-fieldset legend{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);padding:0 var(--space-2);font-family:var(--font-body)}.form-row-split{display:flex;gap:var(--space-3)}.form-row-split .form-group{flex:1}.form-group-sm{max-width:90px}.comm-pref-section{display:flex;flex-direction:column;gap:var(--space-3)}.comm-pref-options{display:flex;gap:var(--space-2);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1)}.comm-pref-btn{flex:1;padding:var(--space-2-5) var(--space-3);border:2px solid transparent;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition);text-align:center;min-height:44px;font-family:var(--font-body)}.comm-pref-btn:hover{color:var(--color-text-primary);background:var(--color-surface-3)}.comm-pref-btn.selected{background:var(--color-brand-tonal);border-color:var(--color-brand);color:var(--color-text-brand);box-shadow:0 0 12px #3b6eff33}.preferences-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-3);overflow:hidden;margin-bottom:var(--space-4)}.preference-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);min-height:44px}.preference-item:last-child{border-bottom:none}.preference-item:hover{background:var(--color-surface-2)}.preference-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-brand);flex-shrink:0;cursor:pointer}.preference-item span{display:flex;flex-direction:column;gap:var(--space-1)}.preference-item strong{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);font-family:var(--font-body)}.preference-item small{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-body)}.prefs-save-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.loading-inline{font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-3) 0;font-family:var(--font-body)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-brand);border:none;border-radius:var(--radius-2);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:44px;box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:var(--shadow-button-focus);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-secondary:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-border-bright)}.btn-danger{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-tonal);border:1px solid rgba(255,64,64,.3);border-radius:var(--radius-2);color:var(--color-error);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:44px}.btn-danger:hover:not(:disabled){background:#ff404033}.btn-danger:disabled{opacity:.4;cursor:default}.password-change-form{display:flex;flex-direction:column;gap:var(--space-3)}.password-change-form h4{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.danger-zone{border-color:#ff404026}.danger-zone:hover{border-color:#ff404040}.danger-description{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-3);line-height:var(--leading-normal);font-family:var(--font-body)}.danger-description a{color:var(--color-text-brand)}.data-export-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:44px}.data-export-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-bright);background:var(--color-surface-2)}.btn-back{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-body);padding:var(--space-1) var(--space-2);border-radius:var(--radius-2);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.btn-back:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.profile-child-header{display:flex;align-items:center;gap:var(--space-3)}.profile-child-header h1{margin:0}.child-attendance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);text-align:center;padding:var(--space-2) 0}.child-attendance-grid .child-stat-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;color:var(--color-text-primary);line-height:var(--leading-tight)}.child-attendance-grid .child-stat-label{font-size:var(--text-sm);text-transform:uppercase;color:var(--color-text-muted);letter-spacing:var(--tracking-wider);font-family:var(--font-body)}.btn-inline-link{background:none;border:none;cursor:pointer;color:var(--color-text-brand);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);display:inline-flex;align-items:center;gap:var(--space-1);transition:color var(--duration-fast) var(--ease-out)}.btn-inline-link:hover{color:var(--color-brand-hover)}.success-message,.success-inline{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-success);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body)}.error-message,.error-inline{color:var(--color-error);font-size:var(--text-sm);background:var(--color-error-tonal);border:1px solid rgba(255,64,64,.2);border-radius:var(--radius-2);padding:var(--space-3) var(--space-3);font-family:var(--font-body)}@media(max-width:600px){.profile-avatar:not(.profile-avatar-readonly) .profile-avatar-overlay{opacity:.8}.profile-container{padding:var(--space-3) var(--space-3) var(--space-6)}.profile-card{padding:var(--space-4);border-radius:var(--radius-3)}.profile-header-section{flex-wrap:wrap;gap:var(--space-3)}.profile-header-section .btn-secondary,.profile-header-section .edit-actions{width:100%}.edit-actions{flex-direction:row}.edit-actions .btn-primary,.edit-actions .btn-secondary{flex:1}.detail-row{flex-direction:column;gap:var(--space-1)}.detail-row label{min-width:unset}.prefs-save-row{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{width:100%;justify-content:center}.comm-pref-options{flex-direction:column;border-radius:var(--radius-3)}.comm-pref-btn{border-radius:var(--radius-2)}.form-row-split{flex-direction:column;gap:var(--space-3)}.form-group-sm{max-width:unset}}@media(max-width:380px){.profile-container{padding:var(--space-2) var(--space-2) var(--space-5)}.profile-avatar{width:56px;height:56px;font-size:var(--text-xl)}.profile-title h2{font-size:var(--text-lg)}.profile-header h1{font-size:var(--text-3xl)}}.btn-view-attendance{display:block;width:100%;margin-top:var(--space-4);padding:0;height:48px;background:#2563eb;color:#fff;border:none;border-radius:var(--radius-3);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-body);cursor:pointer;transition:background var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out);text-align:center;line-height:48px;box-shadow:0 2px 8px #2563eb40}.btn-view-attendance:hover{background:#3b82f6;box-shadow:0 4px 14px #2563eb59;transform:translateY(-1px)}.btn-view-attendance:active{background:#1d4ed8;transform:translateY(0);box-shadow:0 1px 4px #2563eb33}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-text{height:.85em;width:100%;margin-bottom:.4rem;border-radius:var(--radius-xs)}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.skeleton-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.skeleton-row:last-child{border-bottom:none}@media(max-width:768px){.container,.page{padding:1rem}}@media(max-width:480px){h1{font-size:1.2rem}button{width:100%}}.payment-history-container{padding:var(--space-4) var(--space-5) var(--space-8);max-width:640px;margin:0 auto}.payment-header{margin-bottom:var(--space-5)}.payment-header h1{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.payment-header p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.payment-content{display:flex;flex-direction:column;gap:var(--space-4)}.billing-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-6) var(--space-5);text-align:center;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.billing-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-brand),var(--color-success))}.billing-summary-amount{font-family:var(--font-heading);font-size:clamp(2rem,8vw,3rem);font-weight:800;color:var(--color-text-primary);line-height:1;margin-bottom:var(--space-3);letter-spacing:var(--tracking-tight)}.billing-summary-period{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-muted);margin-left:var(--space-1)}.billing-summary-date{font-size:var(--text-base);color:var(--color-text-secondary);font-family:var(--font-body);margin-bottom:var(--space-1)}.billing-summary-plan{font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-body);font-weight:var(--font-medium);margin-top:var(--space-3);display:inline-block;background:var(--color-surface-2);border:1px solid var(--color-border);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.payment-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out)}.payment-section:hover{border-color:var(--color-border-bright)}.payment-section h2{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.test-mode-banner{background:var(--color-warning-tonal);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-warning);font-weight:var(--font-medium);font-family:var(--font-body)}.billing-status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:0;overflow:hidden;box-shadow:var(--shadow-card)}.status-indicator{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);position:relative}.status-indicator:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.status-indicator.status-active:before{background:linear-gradient(90deg,var(--color-success),var(--mint-500))}.status-indicator.status-warning:before{background:linear-gradient(90deg,var(--color-warning),var(--warning-400))}.status-indicator.status-neutral:before{background:var(--color-border-bright)}.status-content h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1)}.status-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-family:var(--font-body)}.billing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0}.stat-box{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);border-right:1px solid var(--color-border);text-align:center}.stat-box:last-child{border-right:none}.stat-box .stat-label{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);font-family:var(--font-body)}.stat-box .stat-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:var(--leading-tight)}.stat-box.warning .stat-value{color:var(--color-text-warning)}.stat-box .stat-note{font-size:var(--text-2xs);color:var(--color-text-muted);font-style:italic;font-family:var(--font-body)}.payment-method-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,var(--color-surface-2) 0%,var(--color-surface-3) 100%);border:1px solid var(--color-border-bright);border-radius:var(--radius-3);position:relative;overflow:hidden}.payment-method-card:before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(59,110,255,.08) 0%,transparent 70%);pointer-events:none}.method-type{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1);font-family:var(--font-body)}.method-details{font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-0-5);font-family:var(--font-mono);letter-spacing:.12em;font-weight:var(--font-medium)}.method-date{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.payment-method-actions{flex-shrink:0}.portal-error{margin-top:var(--space-3)}.payment-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.payment-header-row h2{margin:0;padding:0;border:none}.payment-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.filter-tabs{display:flex;gap:var(--space-1);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-0-5);margin-bottom:var(--space-4)}.tab{padding:var(--space-1-5) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:34px}.tab:hover{color:var(--color-text-primary);background:var(--color-surface-3)}.tab.active{background:var(--color-brand-tonal);border-color:var(--color-brand);color:var(--color-text-brand);font-weight:var(--font-semibold)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:44px}.btn-secondary:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text-primary)}.btn-secondary:disabled{opacity:.5;cursor:default}.btn-refresh{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:36px}.btn-refresh:hover{color:var(--color-text-primary);border-color:var(--color-border-bright);background:var(--color-surface-2)}.payment-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.payment-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-family:var(--font-body)}.payment-table th{padding:var(--space-3) var(--space-3);text-align:left;font-size:var(--text-2xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-bright)}.payment-table td{padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.payment-table tr:last-child td{border-bottom:none}.payment-table tbody tr:nth-child(2n) td{background:var(--color-surface-2)}.payment-table tbody tr:hover td{background:var(--color-surface-2)}.date-cell{white-space:nowrap;font-size:var(--text-sm);color:var(--color-text-muted)}.description-cell .payment-description{display:flex;flex-direction:column;gap:var(--space-0-5)}.description-cell .type{font-weight:var(--font-semibold);color:var(--color-text-primary)}.description-cell .subscription-id{font-size:var(--text-2xs);color:var(--color-text-muted);font-family:var(--font-mono)}.amount-cell .amount{font-family:var(--font-heading);font-weight:var(--font-bold);color:var(--color-text-primary);font-size:var(--text-base)}.badge{display:inline-flex;align-items:center;font-size:var(--text-2xs);font-weight:var(--font-bold);padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.badge-success{background:var(--color-success-tonal);color:var(--color-text-success);border:1px solid var(--color-border-success)}.badge-warning{background:var(--color-warning-tonal);color:var(--color-text-warning);border:1px solid rgba(245,158,11,.3)}.badge-danger{background:var(--color-error-tonal);color:var(--color-text-error);border:1px solid rgba(255,64,64,.3)}.badge-info{background:var(--color-brand-tonal);color:var(--color-text-brand);border:1px solid var(--color-border-accent)}.badge-default{background:var(--color-surface-3);color:var(--color-text-muted);border:1px solid var(--color-border)}.invoice-status{font-size:var(--text-2xs);font-weight:var(--font-bold);border-radius:var(--radius-full);padding:var(--space-0-5) var(--space-2)}.invoice-paid{background:var(--color-success-tonal);color:var(--color-text-success)}.invoice-open{background:var(--color-error-tonal);color:var(--color-text-error)}.invoice-draft{background:var(--color-surface-3);color:var(--color-text-muted)}.btn-link{background:none;border:none;color:var(--color-text-brand);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;padding:0;margin-left:var(--space-2);text-decoration:underline;text-underline-offset:2px}.btn-link:disabled{color:var(--color-text-muted);cursor:default;text-decoration:none}.btn-small{font-size:var(--text-2xs)}.actions-cell{white-space:nowrap}.invoice-items{display:flex;flex-direction:column;gap:0}.invoice-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base);transition:background var(--duration-fast) var(--ease-out)}.invoice-item:last-child{border-bottom:none}.invoice-item:hover{background:var(--color-surface-2)}.invoice-date{color:var(--color-text-muted);font-size:var(--text-sm);min-width:90px;flex-shrink:0;font-family:var(--font-body)}.invoice-amount{font-family:var(--font-heading);font-weight:var(--font-bold);color:var(--color-text-primary);min-width:60px;flex-shrink:0}.add-card-form{display:flex;flex-direction:column;gap:var(--space-4)}.add-card-hint{font-size:var(--text-base);color:var(--color-text-muted);font-family:var(--font-body);margin:0;line-height:var(--leading-normal)}.billing-info{display:flex;flex-direction:column;gap:var(--space-2)}.billing-info p{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;font-family:var(--font-body)}.billing-info .btn-secondary{margin-top:var(--space-3)}.billing-info-edit{display:flex;flex-direction:column;gap:var(--space-3)}.billing-info-field{display:flex;flex-direction:column;gap:var(--space-1)}.billing-info-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.billing-info-field input{padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-body)}.billing-info-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6366f133}.billing-info-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.placeholder{color:var(--color-text-muted);font-size:var(--text-base);text-align:center;padding:var(--space-6) 0;font-family:var(--font-body)}@media(max-width:640px){.payment-history-container{padding:var(--space-3) var(--space-3) var(--space-6)}.payment-section{padding:var(--space-4);border-radius:var(--radius-3)}.payment-method-card{flex-direction:column;align-items:flex-start}.payment-method-actions{width:100%}.payment-method-actions .btn-secondary{width:100%;justify-content:center}.payment-header-row{flex-direction:column;align-items:flex-start}.payment-header-actions{width:100%;justify-content:space-between}.invoice-item{flex-wrap:wrap;gap:var(--space-2)}.btn-link{margin-left:0}.billing-info .btn-secondary{width:100%;justify-content:center}.billing-stats{grid-template-columns:1fr}.stat-box{border-right:none;border-bottom:1px solid var(--color-border)}.stat-box:last-child{border-bottom:none}.filter-tabs{flex-wrap:wrap;border-radius:var(--radius-3)}.tab{border-radius:var(--radius-2)}}@media(max-width:420px){.filter-tabs{gap:var(--space-0-5)}.tab{padding:var(--space-1-5) var(--space-2-5);font-size:var(--text-2xs)}.payment-table thead{display:none}.payment-table,.payment-table tbody,.payment-table tr,.payment-table td{display:block;width:100%}.payment-table tr{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.payment-table td{padding:var(--space-1) 0;border:none}.payment-table td:before{content:attr(data-label);font-size:var(--text-2xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);display:block;margin-bottom:var(--space-0-5);font-family:var(--font-body)}.payment-header h1{font-size:var(--text-3xl)}}.attendance-container{padding:var(--space-4) var(--space-5) var(--space-8);max-width:720px;margin:0 auto}.attendance-header{margin-bottom:var(--space-5)}.attendance-header h1{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.attendance-header p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.attendance-container .btn-back{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-body);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-2);border-radius:var(--radius-2);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.attendance-container .btn-back:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.attendance-content{display:flex;flex-direction:column;gap:var(--space-4)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1-5);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out);min-height:110px;justify-content:center}.stat-card:hover{border-color:var(--color-border-bright)}.stat-card .stat-icon{font-size:var(--text-lg);color:var(--color-text-muted);display:flex;align-items:center}.stat-card .stat-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);font-family:var(--font-body)}.stat-card .stat-value{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:800;color:var(--color-text-primary);line-height:1;letter-spacing:-.02em}.stat-card .stat-sub{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);font-family:var(--font-body);margin-top:-2px}.stat-card-streak{position:relative;overflow:hidden}.stat-card-streak:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-warning),var(--warning-400));opacity:.6}.streak-progress-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-card)}.streak-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.streak-progress-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-family:var(--font-body)}.streak-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-warning);background:var(--color-warning-tonal);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);border:1px solid rgba(245,158,11,.3)}.streak-progress-bar-track{height:8px;background:var(--color-surface-3);border-radius:var(--radius-full);overflow:hidden}.streak-progress-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-warning),#f97316);transition:width .6s var(--ease-spring);box-shadow:0 0 12px #f59e0b4d}.attendance-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-card)}.attendance-section h2{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.heatmap-section{position:relative;overflow:hidden}.heatmap-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-brand),var(--color-success))}.heatmap-container{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.heatmap-day-labels{display:flex;flex-direction:column;gap:3px;padding-top:22px;flex-shrink:0;position:sticky;left:0;z-index:2;background:var(--color-surface)}.heatmap-day-label{font-size:9px;font-weight:var(--font-semibold);color:var(--color-text-muted);height:14px;display:flex;align-items:center;font-family:var(--font-body);letter-spacing:var(--tracking-wide)}.heatmap-grid{display:flex;gap:3px;min-width:600px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-week-label{font-size:9px;font-weight:var(--font-semibold);color:var(--color-text-muted);height:16px;display:flex;align-items:flex-end;white-space:nowrap;font-family:var(--font-body)}.heatmap-day{width:14px;height:14px;border-radius:var(--radius-0-5);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.heatmap-day:hover{transform:scale(1.3);z-index:2}.heatmap-empty{background:var(--color-surface-3)}.heatmap-low{background:#00c8964d}.heatmap-mid{background:#00c8968c;box-shadow:0 0 4px #00c89633}.heatmap-high{background:var(--color-success);box-shadow:0 0 8px #00c89659}.heatmap-future{background:var(--color-surface-2);opacity:.3}.heatmap-legend{display:flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-3);justify-content:flex-end}.heatmap-legend-label{font-size:9px;font-weight:var(--font-medium);color:var(--color-text-muted);font-family:var(--font-body)}.heatmap-legend-dot{width:12px!important;height:12px!important;border-radius:var(--radius-0-5)!important}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.section-header h2{border:none;padding:0;margin:0}.section-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.btn-export{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:36px}.btn-export:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-border-bright);background:var(--color-surface-2)}.btn-export:disabled{opacity:.4;cursor:default}.time-range-select{appearance:none;-webkit-appearance:none;background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);min-height:36px;cursor:pointer;transition:var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.time-range-select:hover{border-color:var(--color-brand);background-color:var(--color-surface-3)}.time-range-select:focus{outline:2px solid var(--color-brand);outline-offset:1px}.time-range-select option{background:var(--color-surface);color:var(--color-text-primary)}.attendance-list{display:flex;flex-direction:column;gap:0}.attendance-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);transition:background var(--duration-fast) var(--ease-out);border-radius:var(--radius-1)}.attendance-item:last-child{border-bottom:none}.attendance-item:hover{background:var(--color-surface-2)}.attendance-date{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:120px}.attendance-date .date-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);font-family:var(--font-body)}.attendance-date .time-text{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.attendance-details{flex:1;display:flex;flex-direction:column;gap:var(--space-0-5)}.attendance-details .class-type{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);font-family:var(--font-body)}.attendance-details .instructor{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-body)}.attendance-status .status-badge.present{background:var(--color-success-tonal);color:var(--color-text-success);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);border:1px solid var(--color-border-success)}.monthly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.month-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-3);padding:var(--space-3) var(--space-2);text-align:center;transition:var(--transition);cursor:default}.month-card:hover{border-color:var(--color-border-bright);transform:translateY(-1px)}.month-name{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);display:block;margin-bottom:var(--space-1);font-family:var(--font-body)}.month-count{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);display:block;line-height:var(--leading-tight)}.month-heat-0{opacity:.5}.month-heat-1{border-color:#00c89626}.month-heat-1 .month-count{color:#00c896b3}.month-heat-2{border-color:#00c8964d;background:#00c8960f}.month-heat-2 .month-count{color:var(--color-text-success)}.month-heat-3{border-color:var(--color-border-success);background:var(--color-success-tonal);box-shadow:0 0 12px #00c8961a}.month-heat-3 .month-count{color:var(--color-text-success)}.current-month{border-color:var(--color-brand)!important;background:var(--color-brand-tonal)!important;box-shadow:0 0 16px #3b6eff26}.current-month .month-count{color:var(--color-text-brand)!important}.current-month .month-name{color:var(--color-text-brand)}.future-month{opacity:.3}.empty-state{text-align:center;padding:var(--space-8) 0;color:var(--color-text-muted);font-size:var(--text-base);font-family:var(--font-body)}.error-message{color:var(--color-error);font-size:var(--text-sm);background:var(--color-error-tonal);border:1px solid rgba(255,64,64,.2);border-radius:var(--radius-2);padding:var(--space-3) var(--space-3);margin-bottom:var(--space-3);font-family:var(--font-body)}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}.monthly-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:600px){.attendance-container{padding:var(--space-3) var(--space-3) var(--space-6)}.stat-card{padding:var(--space-4) var(--space-4);min-height:100px}.stat-card .stat-value{font-size:var(--text-4xl)}.attendance-section{padding:var(--space-4);border-radius:var(--radius-3)}.section-header{flex-direction:column;align-items:flex-start}.section-header-actions{width:100%;justify-content:space-between}.time-range-select{width:100%}.attendance-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.attendance-date{flex-direction:row;gap:var(--space-2);min-width:unset}.monthly-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:380px){.attendance-container{padding:var(--space-2) var(--space-2) var(--space-5)}.attendance-header h1{font-size:var(--text-3xl)}.stat-card{padding:var(--space-4);min-height:96px}.stat-card .stat-value{font-size:var(--text-4xl)}.monthly-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-1-5)}}.att-bar-chart{width:100%;padding:var(--space-3) 0}.att-bar-chart-inner{display:flex;align-items:flex-end;gap:var(--space-2);height:140px;width:100%}.att-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;min-width:0}.att-bar-val{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);margin-bottom:var(--space-1);min-height:16px}.att-bar-wrap{width:100%;flex:1;display:flex;align-items:flex-end;background:var(--color-surface-2);border-radius:var(--radius-2) var(--radius-2) 0 0;overflow:hidden}.att-bar-fill{width:100%;background:linear-gradient(to top,#667eea,#8b5cf6);border-radius:var(--radius-2) var(--radius-2) 0 0;min-height:2px;transition:height .4s ease}.att-bar-current .att-bar-fill{background:linear-gradient(to top,#22d3ee,#6366f1)}.att-bar-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);text-align:center;font-weight:var(--font-medium)}.att-bar-current .att-bar-label{color:var(--color-text-primary);font-weight:var(--font-bold)}@media(max-width:420px){.att-bar-chart-inner{gap:var(--space-1);height:110px}.att-bar-val,.att-bar-label{font-size:9px}}.belt-container{padding:var(--space-4) var(--space-5) var(--space-8);max-width:640px;margin:0 auto}.belt-header{margin-bottom:var(--space-5)}.belt-header h1{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.belt-header p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.belt-content{display:flex;flex-direction:column;gap:var(--space-4)}.current-rank,.progression,.promotion-info,.achievements,.promotion-history{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5);box-shadow:var(--shadow-card);transition:border-color var(--duration-normal) var(--ease-out)}.current-rank:hover,.progression:hover,.promotion-info:hover,.achievements:hover,.promotion-history:hover{border-color:var(--color-border-bright)}.current-rank h2,.progression h2,.promotion-info h2,.achievements h2,.promotion-history h2{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.current-rank{position:relative;overflow:hidden}.current-rank:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-brand),var(--purple-500))}.rank-display{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5)}.rank-badge{padding:var(--space-3) var(--space-6);border-radius:var(--radius-3);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-shrink:0;min-width:120px;text-align:center;box-shadow:var(--shadow-md);position:relative}.white-belt{background:linear-gradient(135deg,#e5e7eb,#f9fafb);color:#111}.blue-belt{background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;box-shadow:var(--shadow-md),0 0 20px #1d4ed84d}.purple-belt{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;box-shadow:var(--shadow-md),0 0 20px #7c3aed4d}.brown-belt{background:linear-gradient(135deg,#78350f,#a16207);color:#fff;box-shadow:var(--shadow-md),0 0 20px #78350f4d}.black-belt{background:linear-gradient(135deg,#111827,#374151);color:#fff;box-shadow:var(--shadow-md),0 0 24px #ffffff14,inset 0 1px #ffffff1a}.rank-info{flex:1}.rank-name{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1-5)}.rank-stripes{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-1);font-family:var(--font-body)}.rank-date,.rank-instructor{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-0-5);font-family:var(--font-body)}.rank-notes{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 0;font-style:italic;font-family:var(--font-body)}.stripe-display{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-3)}.stripe-dot{width:24px;height:24px;border-radius:var(--radius-full);transition:var(--transition-spring)}.stripe-dot.earned{background:var(--color-brand);box-shadow:0 0 12px #3b6eff80,0 0 4px #3b6effcc;animation:stripe-pulse 3s ease-in-out infinite}.stripe-dot.empty{background:var(--color-surface-3);border:2px solid var(--color-border-bright)}.stripe-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-muted);margin-left:var(--space-2);font-family:var(--font-body)}@keyframes stripe-pulse{0%,to{box-shadow:0 0 12px #3b6eff80,0 0 4px #3b6effcc}50%{box-shadow:0 0 20px #3b6effb3,0 0 8px #3b6eff}}.belt-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:var(--space-2)}.belt-timeline:before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:3px;background:linear-gradient(180deg,var(--color-success) 0%,var(--color-brand) 40%,var(--color-border-bright) 70%,var(--color-border) 100%);border-radius:4px;z-index:0}.belt-step{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4) 0;position:relative;z-index:1}.belt-dot{width:32px;height:32px;border-radius:var(--radius-full);flex-shrink:0;transition:var(--transition);position:relative}.belt-step.achieved .belt-dot{box-shadow:0 0 0 3px var(--color-bg),0 0 14px #10b98180}.belt-step.current .belt-dot{width:36px;height:36px;box-shadow:0 0 0 4px var(--color-bg),0 0 0 6px #f59e0b4d,0 0 20px #f59e0b99;animation:current-belt-glow 2.5s ease-in-out infinite}.belt-step.pending .belt-dot{box-shadow:0 0 0 3px var(--color-bg);opacity:.45}@keyframes current-belt-glow{0%,to{box-shadow:0 0 0 4px var(--color-bg),0 0 0 6px #f59e0b4d,0 0 20px #f59e0b99}50%{box-shadow:0 0 0 4px var(--color-bg),0 0 0 8px #f59e0b66,0 0 32px #f59e0bd9}}.belt-label{flex:1}.belt-label .rank{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.current-tag{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-text-warning);background:var(--color-warning-tonal);padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-full);border:1px solid rgba(245,158,11,.3);font-family:var(--font-body)}.belt-label .date{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-family:var(--font-body)}.belt-label .progress{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-style:italic;font-family:var(--font-body)}.belt-step.achieved .belt-label .rank{color:var(--color-text-primary)}.belt-step.pending .belt-label .rank{color:var(--color-text-muted);font-size:var(--text-lg)}.info-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-3);padding:var(--space-4) var(--space-5)}.next-belt{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:var(--leading-loose);font-family:var(--font-body)}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.achievement-badge{background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-3);padding:var(--space-4) var(--space-2);text-align:center;transition:var(--transition);position:relative;overflow:hidden}.achievement-badge:not(.locked){border-color:var(--color-brand);background:var(--color-brand-dim);box-shadow:0 0 16px #3b6eff26}.achievement-badge:not(.locked):hover{transform:translateY(-2px);box-shadow:0 0 24px #3b6eff40}.achievement-badge:not(.locked):after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-brand),var(--color-success))}.achievement-badge.locked{opacity:.35;filter:grayscale(.5)}.achievement-badge .icon{font-size:var(--text-3xl);display:block;margin-bottom:var(--space-2)}.achievement-badge .name{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-family:var(--font-body)}.history-list{display:flex;flex-direction:column;gap:0}.history-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base);transition:background var(--duration-fast) var(--ease-out)}.history-item:last-child{border-bottom:none}.history-item:hover{background:#ffffff05}.history-belt-dot{width:16px;height:16px;border-radius:var(--radius-full);flex-shrink:0;margin-top:4px;box-shadow:0 0 6px #ffffff1a}.history-details{flex:1;color:var(--color-text-primary);line-height:var(--leading-normal);font-family:var(--font-body)}.history-date,.history-instructor{color:var(--color-text-muted);font-size:var(--text-sm);font-family:var(--font-body)}.history-notes{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0;font-style:italic;font-family:var(--font-body)}.loading{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);padding:var(--space-12) 0;font-size:var(--text-base);font-family:var(--font-body)}.error-message{color:var(--color-error);font-size:var(--text-sm);background:var(--color-error-tonal);border:1px solid rgba(255,64,64,.2);border-radius:var(--radius-2);padding:var(--space-3) var(--space-3);font-family:var(--font-body)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:44px}.btn-secondary:hover{background:var(--color-surface-3);color:var(--color-text-primary)}@media(max-width:600px){.belt-container{padding:var(--space-3) var(--space-3) var(--space-6)}.current-rank,.progression,.promotion-info,.achievements,.promotion-history{padding:var(--space-4);border-radius:var(--radius-3)}.rank-display{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.rank-badge{min-width:unset;width:100%}.achievement-grid{grid-template-columns:repeat(2,1fr)}.stripe-dot{width:20px;height:20px}.belt-dot{width:28px;height:28px}.belt-step.current .belt-dot{width:32px;height:32px}.belt-timeline:before{left:13px}}@media(max-width:380px){.belt-container{padding:var(--space-2) var(--space-2) var(--space-5)}.belt-header h1{font-size:var(--text-3xl)}.stripe-dot{width:18px;height:18px}.achievement-grid{gap:var(--space-2)}.achievement-badge{padding:var(--space-3) var(--space-1-5)}.achievement-badge .icon{font-size:var(--text-2xl)}}.post-view-container{max-width:640px;margin:0 auto;padding:1rem 1rem 4rem}.post-view-back{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;font-family:var(--font-body);cursor:pointer;padding:.35rem .5rem;border-radius:var(--radius-sm);transition:var(--transition)}.post-view-back:hover{color:var(--text-primary);background:var(--surface-2)}.post-view-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-top:.75rem}.post-view-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.post-view-type-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;letter-spacing:.03em;text-transform:uppercase}.post-view-type-badge--general{background:var(--accent-dim);color:var(--accent-bright)}.post-view-type-badge--kids{background:var(--success-dim);color:var(--success)}.post-view-type-badge--tournament{background:var(--warning-dim);color:var(--warning)}.post-view-type-badge--schedule{background:var(--info-dim);color:var(--info)}.post-view-date,.post-view-author{font-size:.75rem;color:var(--text-muted)}.post-view-author:before{content:"·";margin-right:.5rem}.post-view-pinned{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;letter-spacing:.03em;text-transform:uppercase;background:var(--warning-dim);color:var(--warning)}.post-view-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.25}.post-view-body p{margin-bottom:.75rem;line-height:1.6;color:var(--text-secondary);font-size:.9rem}.post-view-body h2{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin:1.25rem 0 .5rem;color:var(--text-primary)}.post-view-body strong,.post-view-body b{font-weight:700;color:var(--text-primary)}.post-view-body em,.post-view-body i{font-style:italic}.post-view-body u{text-decoration:underline}.post-view-body a{color:var(--accent-bright);text-decoration:none;transition:var(--transition)}.post-view-body a:hover{text-decoration:underline}.post-view-body ul,.post-view-body ol{padding-left:1.5rem;margin-bottom:.75rem}.post-view-body li{margin-bottom:.25rem;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.post-view-body img{max-width:100%;border-radius:var(--radius-sm);margin:.75rem 0}.post-view-body blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:.75rem 0;color:var(--text-muted);font-style:italic}.post-view-image{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-sm);margin-top:1rem}.post-view-loading{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-muted);font-size:.85rem;gap:.5rem}.post-view-loading:before{content:"";width:16px;height:16px;border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;animation:post-view-spin .6s linear infinite}@keyframes post-view-spin{to{transform:rotate(360deg)}}.post-view-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.85rem}.dashboard-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.dash-loading{padding:3rem;text-align:center;color:var(--text-muted)}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.dash-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.dash-subtitle{font-size:.82rem;color:var(--text-muted);margin-top:.2rem}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.dash-kpi{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}.dash-kpi.dash-kpi-new{border-left-color:var(--success)}.dash-kpi.dash-kpi-risk{border-left-color:var(--warning)}.dash-kpi.dash-kpi-overdue{border-left-color:var(--danger)}.dash-kpi-val{font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;color:var(--text-primary);line-height:1}.dash-kpi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.35rem}.dash-mid-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1rem}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.dash-card-title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.dash-count-chip{background:var(--surface-2);border-radius:10px;padding:.05rem .5rem;font-size:.75rem;color:var(--text-secondary);font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:600}.dash-empty{font-size:.8rem;color:var(--text-muted);text-align:center;padding:1rem 0}.dash-programs{display:flex;flex-direction:column;gap:0}.dash-prog-row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.dash-prog-row:last-child{border-bottom:none}.dash-prog-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dash-prog-name{font-size:.82rem;color:var(--text-secondary);width:60px;flex-shrink:0}.dash-prog-track{flex:1;height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.dash-prog-fill{height:100%;border-radius:3px;min-width:4px;transition:width .4s ease}.dash-prog-count{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--text-primary);width:24px;text-align:right;flex-shrink:0}.dash-class-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.dash-class-row:last-child{border-bottom:none}.dash-class-time{font-size:.72rem;color:var(--text-muted);width:44px;flex-shrink:0;font-family:var(--font-heading)}.dash-class-name{font-size:.82rem;color:var(--text-primary);font-weight:600}.dash-class-coach{font-size:.68rem;color:var(--text-muted);margin-top:.1rem}.dash-alert{border-left:3px solid var(--danger)}.dash-alert-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:var(--transition)}.dash-alert-row:hover{background:var(--surface-2);margin:0 -1.25rem;padding:.5rem 1.25rem}.dash-alert-row:last-child{border-bottom:none}.dash-alert-name{font-size:.82rem;color:var(--text-primary)}.dash-alert-tag{font-size:.62rem;font-weight:700;background:var(--danger-dim);color:var(--danger);border-radius:20px;padding:.1rem .45rem}.dash-alert-more{font-size:.72rem;color:var(--text-muted);margin-top:.5rem}.dash-members-card{margin-top:0}.dash-table-wrap{overflow-x:auto}.dash-member-table{width:100%;border-collapse:collapse;font-size:.85rem}.dash-member-table th{padding:.6rem .85rem;text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.sortable-th{cursor:pointer;transition:color .15s}.sortable-th:hover{color:var(--text-primary)}.sort-arrow{font-size:.65rem;opacity:.6;margin-left:2px}.dash-member-table td{padding:.7rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.dash-member-table tr:last-child td{border-bottom:none}.dash-member-row{cursor:pointer;transition:background .1s}.dash-member-row:hover td{background:var(--surface-2)}.dash-cell-muted{color:var(--text-muted);font-size:.82rem}.dash-member-name-cell{display:flex;align-items:center;gap:.65rem}.dash-member-initials{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.78rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.dash-member-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.dash-member-since{font-size:.68rem;color:var(--text-muted);margin-top:.1rem}.dash-prog-badge{display:inline-block;padding:.15rem .6rem;border-radius:20px;font-size:.68rem;font-weight:700;border:1px solid;letter-spacing:.02em}.dash-belt-cell{display:flex;align-items:center;gap:.5rem}.dash-belt-name{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.billing-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.billing-ok{background:var(--success);box-shadow:0 0 6px #00c89666}.billing-overdue{background:var(--danger);box-shadow:0 0 6px #ff475766}@media(max-width:900px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-mid-row{grid-template-columns:1fr}.dash-member-table{font-size:.8rem}}@media(max-width:768px){.dashboard-page{padding:1rem}.dash-kpis{grid-template-columns:repeat(2,1fr);gap:.5rem}.dash-kpi{padding:.85rem}.dash-title{font-size:1.3rem}.dash-mid-row{grid-template-columns:1fr;gap:.5rem}.dash-card{padding:1rem;margin-bottom:.75rem}}@media(max-width:480px){.dashboard-page{padding:.75rem}.dash-kpis{grid-template-columns:1fr}.dash-kpi{padding:.75rem}.dash-kpi-val{font-size:clamp(1.5rem,4vw,1.8rem)}.dash-kpi-label{font-size:.6rem}.dash-title{font-size:1.2rem;margin-bottom:1rem}.dash-header{flex-direction:column;gap:1rem}.dash-mid-row{grid-template-columns:1fr}.dash-card{padding:.85rem}.dash-card-title{font-size:.65rem;margin-bottom:.75rem}.dash-count-chip{font-size:.65rem;padding:.03rem .4rem}.dash-member-table{font-size:.75rem}.dash-member-table th,.dash-member-table td{padding:.4rem}.dash-prog-name{width:50px;font-size:.75rem}.dash-prog-count{width:20px;font-size:.8rem}.dash-class-row{gap:.5rem;padding:.4rem 0}.dash-class-time{width:40px;font-size:.65rem}.dash-class-name{font-size:.78rem}.dash-alert-tag{font-size:.55rem;padding:.08rem .35rem}}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.breakdown-card{display:flex;flex-direction:column}.breakdown-total{font-family:var(--font-heading);font-size:2.8rem;font-weight:700;color:var(--text-primary);line-height:1;margin-top:.25rem}.breakdown-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.25rem}.breakdown-bars{display:flex;flex-direction:column;gap:.65rem}.breakdown-row{display:flex;flex-direction:column;gap:.3rem}.breakdown-row-header{display:flex;align-items:center;justify-content:space-between}.breakdown-row-name{font-size:.78rem;color:var(--text-secondary);font-weight:500}.breakdown-row-stats{display:flex;align-items:center;gap:.5rem}.breakdown-row-count{font-family:var(--font-heading);font-size:.82rem;font-weight:700;color:var(--text-primary)}.breakdown-row-pct{font-size:.68rem;color:var(--text-muted);min-width:2.5rem;text-align:right}.breakdown-track{width:100%;height:7px;background:var(--surface-2);border-radius:4px;overflow:hidden}.breakdown-fill{height:100%;border-radius:4px;min-width:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}@media(max-width:640px){.breakdown-grid{grid-template-columns:1fr}.breakdown-total{font-size:2.2rem}}.dash-trial-status{display:inline-block;padding:.12rem .5rem;border-radius:20px;font-size:.65rem;font-weight:700;text-transform:capitalize}.dash-trial-booked{background:#3b6eff1a;color:var(--accent-bright)}.dash-trial-attended{background:#00c8961f;color:var(--success)}.dash-trial-no_show{background:#ff47571a;color:var(--danger)}.dash-trial-converted{background:#7c6eff1f;color:#a78bfa}.retention-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;margin:.75rem 0 .5rem;gap:2px}.retention-bar-seg{min-width:4px;border-radius:3px;transition:width .3s ease}.retention-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.7rem;color:var(--text-muted)}.retention-legend-item{display:flex;align-items:center;gap:4px}.retention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.insight-row{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.06))}.insight-row:last-child{border-bottom:none}.insight-icon{font-size:1rem;line-height:1.4;flex-shrink:0}.insight-label{font-size:.75rem;font-weight:600;color:var(--text-primary)}.insight-detail{font-size:.68rem;color:var(--text-muted);margin-top:1px}@media(max-width:768px){.dash-header{flex-direction:column;align-items:flex-start;gap:.75rem}.dash-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-member-table th:nth-child(5),.dash-member-table td:nth-child(5){display:none}}.at-risk-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:#ffffff06;cursor:pointer;transition:background .15s}.at-risk-row:hover{background:#ffffff0f}.at-risk-info{flex:1;min-width:0}.at-risk-name{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.at-risk-meta{font-size:.7rem;color:var(--text-muted);margin-top:1px}.at-risk-days{font-weight:700;font-size:.875rem;min-width:32px;text-align:right;flex-shrink:0}.at-risk-nudge{flex-shrink:0;width:56px;padding:4px 0;font-size:.72rem;border-radius:6px;border:none;cursor:pointer;font-weight:600;background:#6c47ff33;color:var(--accent-bright);transition:background .15s;text-align:center}.at-risk-nudge:hover:not(:disabled){background:#6c47ff59}.at-risk-nudge:disabled{opacity:.6;cursor:default}.at-risk-nudge.nudge-sent{background:#22c55e26;color:var(--success)}.at-risk-nudge.nudge-error{background:#ef444426;color:var(--danger)}@media(max-width:480px){.at-risk-nudge{width:48px;font-size:.68rem}.at-risk-name{font-size:.82rem}}.admin-members{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.admin-members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.admin-members-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.members-toolbar{margin-bottom:1rem}.members-search{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.65rem 1rem;font-size:.875rem;color:var(--text-primary);margin-bottom:.85rem;font-family:var(--font-body)}.members-search::placeholder{color:var(--text-muted)}.members-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}[data-theme=light] .members-search{background:#fff;border-color:#00000024;color:#0f1623}.filter-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.5rem}.filter-tab{display:flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:.3rem .85rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.filter-tab:hover{color:var(--text-primary);border-color:var(--border-accent);background:var(--surface-2)}.filter-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.tab-count{background:var(--white-alpha-8);border-radius:10px;padding:.05rem .4rem;font-size:.65rem;font-weight:700}.filter-tab.active .tab-count{background:var(--color-brand-glow)}.filter-subtabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:.5rem 0;padding:.5rem 0;border-top:1px solid var(--border)}.filter-subtab{display:flex;align-items:center;gap:.3rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:.22rem .65rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.filter-subtab:hover{color:var(--text-secondary);border-color:var(--border-accent)}.filter-subtab.active{background:var(--surface-2);border-color:var(--border-bright);color:var(--text-primary)}.subtab-count{background:var(--white-alpha-7);border-radius:10px;padding:0 .3rem;font-size:.62rem}.segment-note{margin-top:.5rem;padding:.5rem .9rem;border-radius:var(--radius-sm);font-size:.78rem;line-height:1.4}.visitor-note{background:var(--color-warning-dim);color:var(--warning);border-left:3px solid var(--warning)}.frozen-note{background:var(--color-brand-dim);color:var(--accent-bright);border-left:3px solid var(--accent)}.members-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:visible}.members-table-wrap .members-table th:first-child{border-top-left-radius:var(--radius-lg)}.members-table-wrap .members-table th:last-child{border-top-right-radius:var(--radius-lg)}.members-table-wrap .members-table tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.members-table-wrap .members-table tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.members-table{width:100%;border-collapse:collapse;font-size:.85rem}.members-table th{padding:.65rem .9rem;text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.members-table td{padding:.75rem .9rem;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}.members-table tr:last-child td{border-bottom:none}.members-table tbody tr{cursor:pointer;transition:background .1s}.members-table tbody tr:hover td{background:var(--surface-2)}.member-name-cell{display:flex;align-items:center;gap:.65rem}.member-initials{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.78rem;font-weight:700;color:var(--text-secondary);flex-shrink:0;overflow:hidden;position:relative}.member-initials img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.member-email{font-size:.68rem;color:var(--text-muted);margin-top:.1rem}.status-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:capitalize}.status-active{background:var(--color-success-tonal);color:var(--success)}.status-trial{background:var(--info-dim, var(--color-brand-dim));color:var(--accent-bright)}.status-noshow{background:var(--danger-dim, var(--color-error-dim));color:var(--danger)}.status-lost{background:var(--surface-3);color:var(--text-muted)}.status-visitor{background:var(--color-warning-tonal);color:var(--warning)}.status-frozen{background:var(--color-brand-dim);color:var(--accent-bright)}.status-canceled,.status-lead{background:var(--surface-3);color:var(--text-muted)}.program-badge{display:inline-block;padding:.15rem .6rem;border-radius:20px;font-size:.68rem;font-weight:700;border:1px solid;letter-spacing:.02em}.members-empty{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem}.empty-icon{margin-bottom:.5rem;display:flex;justify-content:center}.members-toast{position:fixed;top:1rem;right:1rem;z-index:9999;background:var(--surface-3);border:1px solid var(--border-bright);border-left:3px solid var(--success);border-radius:var(--radius);padding:.75rem 1.25rem;font-size:.85rem;color:var(--text-primary);box-shadow:var(--shadow-lg);animation:toast-in .22s ease-out}.modal-overlay{position:fixed;inset:0;background:var(--black-alpha-80);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.crud-modal{background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius-xl);width:520px;max-width:95vw;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.crud-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.crud-modal-header h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.modal-close-btn:hover{color:var(--text-primary);border-color:var(--danger)}.crud-modal-form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.form-field input,.form-field select{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.875rem;font-family:var(--font-body)}.form-field input::placeholder{color:var(--text-muted)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-field select option{background:var(--surface-3);color:var(--text-primary)}.form-error{background:var(--danger-dim, var(--color-error-dim));border:1px solid var(--color-error-tonal);color:var(--danger);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.82rem}.crud-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.member-since{font-size:.68rem;color:var(--text-muted);margin-top:.1rem}.billing-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em}.billing-ok-badge{background:var(--color-success-tonal);color:var(--success)}.billing-overdue-badge{background:var(--color-error-dim);color:var(--danger)}.col-desktop{display:table-cell}@media(max-width:768px){.col-desktop{display:none!important}}@media(max-width:900px){.members-table{font-size:.8rem}}@media(max-width:700px){.admin-members{padding:1rem}.admin-members-header h1{font-size:1.3rem}.form-row{grid-template-columns:1fr}.filter-subtabs{flex-wrap:wrap;gap:.5rem}.members-table th,.members-table td{padding:.5rem .6rem}}@media(max-width:480px){.admin-members{padding:.75rem}.admin-members-header{flex-direction:column;gap:.75rem;align-items:flex-start}.admin-members-header h1{font-size:1.2rem}.members-table{font-size:.75rem}.members-table th,.members-table td{padding:.4rem .5rem}.member-initials{width:28px;height:28px;font-size:.65rem}.member-name{font-size:.78rem}.member-email{font-size:.62rem}.filter-subtabs{flex-direction:column}.filter-subtab{width:100%;text-align:left;padding:.5rem}}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--text-secondary)}.sort-active{color:var(--accent-bright)!important}.sort-arrow{font-size:.6rem}.billing-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;cursor:default}.billing-dot-none{background:#9ca3af;box-shadow:0 0 5px var(--color-border-default)}.billing-dot-expiring{background:#eab308;box-shadow:0 0 5px var(--color-warning-tonal)}.billing-dot-active{background:#22c55e;box-shadow:0 0 5px var(--color-success-tonal)}.billing-dot-past-due,.billing-dot-cancelled{background:#ef4444;box-shadow:0 0 5px var(--color-error-tonal)}.members-table tbody tr.row-at-risk td,.members-table tbody tr.row-at-risk:hover td{background:var(--color-error-dim)}.last-visit-danger{color:var(--danger, #ef4444);font-size:.82rem;font-weight:600}.billing-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.billing-ok{background:var(--success);box-shadow:0 0 4px var(--color-success-tonal)}.billing-overdue{background:var(--danger);box-shadow:0 0 4px var(--color-error-tonal)}.retention-score-badge{display:inline-block;padding:.1rem .4rem;border-radius:10px;font-size:.65rem;font-weight:700;min-width:28px;text-align:center}.retention-strong{background:var(--color-success-tonal);color:#22c55e}.retention-healthy{background:var(--color-brand-tonal);color:#3b82f6}.retention-watch{background:var(--color-warning-dim);color:#eab308}.retention-risk{background:var(--color-warning-tonal);color:var(--color-warning)}.retention-critical{background:var(--color-error-tonal);color:#ef4444}.trial-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:10px;font-size:.7rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.trial-status-booked{background:var(--color-brand-tonal);color:#3b82f6}.trial-status-attended{background:var(--color-success-tonal);color:#22c55e}.trial-status-converted{background:var(--color-success-tonal);color:#10b981}.trial-status-noshow{background:var(--color-warning-tonal);color:var(--color-warning)}.trial-status-cancelled{background:var(--color-error-tonal);color:#ef4444}@media(max-width:768px){.filter-tabs-desktop,.filter-subtabs-desktop{display:none!important}}@media(max-width:768px){.mobile-filter-select-wrap{display:block;margin-bottom:.75rem}}.members-cards-mobile{display:none}.members-table-desktop{display:block}@media(max-width:640px){.members-table-desktop{display:none!important}.members-cards-mobile{display:block!important}}.members-card-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.member-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .85rem;cursor:pointer;transition:background .15s,border-color .15s}.member-card:hover,.member-card:focus-visible{background:var(--surface-2);border-color:var(--border-accent);outline:none}.member-card-at-risk{border-left:3px solid var(--danger, #ef4444);background:var(--color-error-dim)}.member-card-top{display:flex;align-items:center;gap:.65rem}.member-card-avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--text-secondary);flex-shrink:0;overflow:hidden;position:relative}.member-card-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-card-info{flex:1;min-width:0}.member-card-name{font-weight:600;color:var(--text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card-meta{display:flex;align-items:center;gap:.4rem;margin-top:.2rem}.member-card-visit{margin-top:.45rem;padding-top:.4rem;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-muted)}.member-card-visit-danger{color:var(--danger, #ef4444);font-weight:600}.canceled-note{background:var(--color-error-dim);color:var(--text-muted);border-left:3px solid var(--danger, #ef4444)}.btn-danger{background:var(--danger, #ef4444);color:#fff;border:none;border-radius:var(--radius-sm, 6px);padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#dc2626}.member-action-cell{position:relative;width:40px;text-align:center;padding:0!important}.member-action-menu{position:relative;display:inline-block}.member-action-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:1.1rem;font-weight:700;letter-spacing:1px;cursor:pointer;border-radius:var(--radius-sm, 6px);width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.member-action-btn:hover{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.member-action-dropdown{position:absolute;right:0;top:100%;z-index:100;min-width:160px;background:var(--surface-3, #1a1a2e);border:1px solid var(--border-bright, #333);border-radius:var(--radius, 8px);box-shadow:var(--shadow-lg, 0 8px 24px var(--black-alpha-40));padding:.3rem 0;animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.member-action-item{padding:.45rem .85rem;font-size:.78rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .1s}.member-action-item:hover{background:var(--surface-2, var(--white-alpha-6));color:var(--text-primary)}.member-action-move{font-weight:600}.member-action-submenu{border-top:1px solid var(--border, var(--white-alpha-8));padding:.2rem 0}.member-action-submenu-item{padding-left:1.4rem;font-size:.75rem}.member-action-divider{height:1px;background:var(--border, var(--white-alpha-8));margin:.2rem 0}.member-action-delete{color:var(--danger, #ef4444)!important;font-weight:600}.member-action-delete:hover{background:var(--color-error-dim)!important}.ms-stats-page{display:flex;flex-direction:column;gap:0}.ms-section-header{font-family:var(--font-heading, "Jost", sans-serif);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted, #4a5568);padding:1.25rem 0 .6rem;border-top:1px solid var(--border, rgba(255,255,255,.07));margin-top:.5rem}.ms-section-header:first-child{margin-top:0;border-top:none;padding-top:0}.ms-chart-card{background:var(--surface, #0e1420);border:1px solid var(--border, rgba(255,255,255,.07));border-radius:var(--radius-lg, 12px);padding:1.25rem 1.4rem 1.1rem}.ms-chart-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #4a5568);margin-bottom:1rem}.ms-donut-row{display:grid;gap:1rem;margin-bottom:.25rem}.ms-donut-row-3{grid-template-columns:repeat(3,1fr)}.ms-donut-row-2{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.ms-donut-row-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.ms-donut-row-3,.ms-donut-row-2{grid-template-columns:1fr}}.ms-donut-card{display:flex;flex-direction:column;align-items:stretch}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem}.donut-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #4a5568);text-align:center;margin-bottom:.25rem}.donut-svg-wrap{flex-shrink:0}.donut-legend{width:100%;display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem}.donut-legend-row{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:.5rem;font-size:.75rem}.donut-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-legend-label{color:var(--text-secondary, #8a9bc0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-legend-count{font-weight:700;color:var(--text-primary, #f0f4ff);text-align:right;min-width:24px}.donut-legend-pct{font-size:.68rem;color:var(--text-muted, #4a5568);min-width:32px;text-align:right}.ms-hbar-section{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:.25rem}@media(max-width:900px){.ms-hbar-section{grid-template-columns:1fr}}.ms-hbar-card{background:var(--surface, #0e1420);border:1px solid var(--border, rgba(255,255,255,.07));border-radius:var(--radius-lg, 12px);padding:1.1rem 1.25rem}.ms-hbar-list{display:flex;flex-direction:column;gap:.45rem}.ms-hbar-row{display:flex;align-items:center;gap:.5rem}.ms-hbar-label{font-size:.68rem;color:var(--text-muted, #4a5568);width:28px;flex-shrink:0;text-align:right}.ms-hbar-track{flex:1;height:7px;background:var(--surface-2, #141b2a);border-radius:4px;overflow:hidden}.ms-hbar-fill{height:100%;border-radius:4px;transition:width .4s ease}.ms-hbar-val{font-size:.7rem;font-weight:700;color:var(--text-primary, #f0f4ff);min-width:20px;text-align:right}.ms-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1rem}@media(max-width:900px){.ms-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ms-kpi-grid{grid-template-columns:1fr 1fr;gap:.6rem}}.ms-kpi-card{background:var(--surface, #0e1420);border:1px solid var(--border, rgba(255,255,255,.07));border-top:3px solid var(--accent, #3b6eff);border-radius:var(--radius-lg, 12px);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}.ms-kpi-icon{margin-bottom:.25rem}.ms-kpi-val{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.7rem;font-weight:800;color:var(--text-primary, #f0f4ff);line-height:1}.ms-kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted, #4a5568)}.ms-kpi-sub{font-size:.68rem;color:var(--text-muted, #4a5568)}@media(max-width:480px){.donut-legend-row{font-size:.68rem}.ms-kpi-val{font-size:1.4rem}}.member-profile{padding:1.75rem 2rem;max-width:900px;margin:0 auto}.mp-back{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:.4rem .85rem;font-size:.8rem;cursor:pointer;transition:var(--transition);margin-bottom:1.25rem;display:inline-flex;align-items:center;gap:.4rem}.mp-back:hover{color:var(--text-primary);border-color:var(--border-accent);background:var(--surface)}.mp-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:1.25rem}.mp-avatar{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:#fff;flex-shrink:0;position:relative;overflow:hidden}.mp-avatar-upload{cursor:pointer;transition:box-shadow .15s}.mp-avatar-upload:hover{box-shadow:0 0 0 3px var(--accent, rgba(102,126,234,.6))}.mp-avatar-upload:hover .mp-avatar-overlay{opacity:1}.mp-avatar-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.mp-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transition:opacity .15s}.mp-avatar-uploading .mp-avatar-overlay{opacity:1}.mp-avatar-upload:focus-visible{outline:2px solid var(--accent, #667eea);outline-offset:3px}.mp-header-info{flex:1;min-width:0}.mp-header-info h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem}.mp-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.belt-badge-lg{font-size:.75rem;font-weight:700;text-transform:capitalize}.stage-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:capitalize}.stage-active{background:#00c8961f;color:var(--success)}.stage-trial{background:#3b6eff1a;color:var(--accent-bright)}.stage-noshow{background:#ff47571a;color:var(--danger)}.stage-lost{background:var(--surface-3);color:var(--text-muted)}.stage-frozen{background:#3b6eff1a;color:var(--accent-bright)}.stage-canceled,.stage-lead{background:var(--surface-3);color:var(--text-muted)}.role-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.6rem;font-weight:800;letter-spacing:.06em}.role-badge-coach{background:#fbbf2426;color:#f59e0b;border:1px solid rgba(251,191,36,.3)}.role-badge-staff{background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.billing-status-badge{display:inline-block;padding:.12rem .45rem;border-radius:20px;font-size:.55rem;font-weight:700;letter-spacing:.05em}.billing-comp{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.25)}.membership-badge{display:inline-block;padding:.12rem .5rem;border-radius:20px;font-size:.62rem;font-weight:700;background:var(--surface-3);color:var(--text-secondary)}.membership-plan-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.03em}.mp-header-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.mp-action-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:var(--transition);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);min-width:64px}.mp-action-icon{font-size:1rem;line-height:1}.mp-action-label{font-size:.62rem;white-space:nowrap}.mp-action-btn:hover{color:var(--text-primary);border-color:var(--border-accent);background:var(--surface-3)}.mp-action-msg:hover{border-color:var(--accent);color:var(--accent-bright);background:#667eea14}.mp-action-checkin:hover{border-color:var(--success);color:var(--success);background:#22c55e14}.mp-action-edit:hover{border-color:var(--border-accent);color:var(--text-primary)}.mp-action-btn:disabled{opacity:.5;cursor:not-allowed}.mp-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1rem}.mp-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem;text-align:center}.mp-stat-val{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.mp-stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-top:.3rem}.mp-stat-highlight{border-color:var(--border-accent, rgba(102,126,234,.3));background:var(--surface-2)}.mp-belt-progression{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem}.mp-belt-prog-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.85rem}.mp-belt-prog-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.mp-belt-prog-total{font-size:.68rem;color:var(--text-muted)}.mp-belt-prog-list{display:flex;flex-direction:column;gap:0}.mp-belt-prog-step{display:flex;align-items:flex-start;gap:.75rem;padding:.1rem 0}.mp-belt-prog-dot-wrap{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0;padding-top:3px}.mp-belt-prog-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mp-belt-prog-line{width:2px;flex:1;min-height:18px;background:var(--border);margin-top:3px}.mp-belt-prog-info{flex:1;padding-bottom:.65rem}.mp-belt-prog-step:last-child .mp-belt-prog-info{padding-bottom:0}.mp-belt-prog-name{font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:.4rem;margin-bottom:.15rem}.mp-belt-prog-current-tag{font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-dim, rgba(59,110,255,.12));color:var(--accent-bright);padding:.05rem .4rem;border-radius:10px;font-weight:700}.mp-belt-prog-stats{font-size:.72rem;color:var(--text-muted)}.mp-belt-prog-date{opacity:.75}.mp-belt-prog-step-current .mp-belt-prog-info{background:var(--surface-2);border-radius:var(--radius-sm);padding:.4rem .6rem;margin-left:-.6rem}.page-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.page-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:.6rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}.page-tab:hover{color:var(--text-primary)}.page-tab.active{color:var(--accent-bright);border-bottom-color:var(--accent)}.mp-overview{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mp-overview-left,.mp-overview-right{display:flex;flex-direction:column;gap:1rem}.mp-info-clean-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.25rem 0;display:grid;grid-template-columns:1fr 1fr;gap:0}.mp-field{padding:.75rem 1.1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem}.mp-field:nth-child(1),.mp-field:nth-child(3),.mp-field:nth-child(5){grid-column:1 / -1}.mp-field:nth-last-child(1),.mp-field:nth-last-child(2){border-bottom:none}.mp-field-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.mp-field-value{font-size:.82rem;font-weight:500;color:var(--text-primary);line-height:1.4}.mp-field-link{text-decoration:none;color:var(--accent-bright);font-weight:500;font-size:.82rem;transition:opacity .15s}.mp-field-link:hover{opacity:.8;text-decoration:underline}.mp-field-link-phone{white-space:nowrap}.mp-field-ec{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mp-field-ec-rel{color:var(--text-muted);font-size:.78rem}.mp-field-ec-phone{font-size:.78rem!important}.cell-muted{color:var(--text-muted);font-size:.82rem}.mp-info-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.mp-info-item{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text-primary)}.mp-info-item:last-child{border-bottom:none}.mp-info-label{color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.contact-card-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.85rem 1.1rem .5rem}.contact-card-body{padding:0 .5rem .65rem}.contact-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .65rem;border-radius:var(--radius-sm);font-size:.82rem}.contact-row-link{text-decoration:none;color:inherit;transition:background .15s ease;cursor:pointer}.contact-row-link:hover{background:var(--surface-2)}.contact-icon{font-size:1rem;flex-shrink:0;width:24px;text-align:center}.contact-details{flex:1;min-width:0}.contact-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.1rem}.contact-value{color:var(--text-primary);font-weight:500;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-tap-hint{font-size:.6rem;color:var(--accent-bright);font-weight:600;background:var(--accent-dim, rgba(59,110,255,.12));padding:.15rem .45rem;border-radius:10px;white-space:nowrap;flex-shrink:0}.contact-row-emergency{cursor:default}.contact-ec-phone{display:block;color:var(--accent-bright);font-size:.78rem;text-decoration:none;margin-top:.15rem}.contact-ec-phone:hover{text-decoration:underline}.belt-timeline-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.belt-timeline-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:1rem}.belt-timeline{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:.25rem}.belt-timeline::-webkit-scrollbar{height:3px}.belt-timeline::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.bt-node{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}.bt-segment-wrap{display:flex;align-items:flex-start;flex-shrink:0}.bt-connector{width:40px;height:2px;background:var(--border);margin-top:11px;flex-shrink:0}.bt-dot{width:14px;height:14px;border-radius:50%;background:var(--border);flex-shrink:0;transition:box-shadow .2s}.bt-dot-join{background:var(--text-muted)}.bt-dot-pulse{animation:bt-pulse 2.5s ease-in-out infinite}@keyframes bt-pulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 5px transparent}}.bt-label{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center;max-width:72px}.bt-belt-name{font-size:.72rem;font-weight:700;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;gap:.2rem}.bt-current-badge{font-size:.52rem;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-dim, rgba(59,110,255,.12));color:var(--accent-bright);padding:.05rem .35rem;border-radius:10px;font-weight:700}.bt-date,.bt-classes{font-size:.6rem;color:var(--text-muted)}.bt-node-current .bt-belt-name{color:var(--text-primary)}.mp-quick-actions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.qa-title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.85rem}.qa-buttons{display:flex;flex-direction:column;gap:.4rem}.qa-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.55rem .85rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:left}.qa-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.qa-primary:hover{border-color:var(--accent);color:var(--accent-bright);background:var(--accent-dim, rgba(59,110,255,.08))}.qa-success:hover{border-color:var(--success);color:var(--success)}.qa-warning:hover{border-color:var(--warning);color:var(--warning)}.qa-danger:hover{border-color:var(--danger);color:var(--danger)}.mp-info-emergency{flex-direction:column!important;align-items:flex-start!important;gap:.3rem;padding:.65rem 0!important}.mp-emergency-info{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem}.mp-emergency-rel{color:var(--text-muted);font-size:.72rem}.mp-emergency-phone{color:var(--accent-bright);font-size:.78rem;background:var(--surface-2);padding:.1rem .45rem;border-radius:10px;border:1px solid var(--border)}.heatmap-wrap{overflow-x:auto;width:100%}.heatmap-wrap svg{width:100%!important;max-width:100%!important}.heatmap-legend{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.65rem;color:var(--text-muted);justify-content:flex-end}.heatmap-legend-cell{width:10px;height:10px;border-radius:2px;display:inline-block}.att-chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.att-chart-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.75rem}.att-events-list{display:flex;flex-direction:column;gap:0}.att-event-row{display:flex;align-items:center;gap:1rem;padding:.55rem .85rem;border-bottom:1px solid var(--border);background:var(--surface);font-size:.82rem}.att-event-row:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border);border-bottom:1px solid var(--border)}.att-event-row:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border:1px solid var(--border);border-top:none}.att-event-row:only-child{border-radius:var(--radius-lg)}.att-event-row:not(:first-child):not(:last-child){border-left:1px solid var(--border);border-right:1px solid var(--border)}.att-event-date{color:var(--text-muted);font-size:.75rem;width:90px;flex-shrink:0}.att-event-class{color:var(--text-primary);font-weight:500}.billing-event-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-bottom:1px solid var(--border);background:var(--surface);font-size:.82rem}.billing-event-row:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border)}.billing-event-row:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border:1px solid var(--border);border-top:none}.billing-event-row:only-child{border-radius:var(--radius-lg)}.billing-event-row:not(:first-child):not(:last-child){border-left:1px solid var(--border);border-right:1px solid var(--border)}.be-date{color:var(--text-muted);font-size:.75rem;width:90px;flex-shrink:0}.be-type{color:var(--text-primary);text-transform:capitalize;flex:1}.be-amount{font-family:var(--font-heading);font-weight:700;color:var(--text-primary)}.be-status{font-size:.62rem;font-weight:700;text-transform:uppercase;padding:.1rem .4rem;border-radius:10px}.be-succeeded,.be-paid{background:#00c8961f;color:var(--success)}.be-failed{background:#ff47571a;color:var(--danger)}.be-pending{background:#f59e0b1a;color:var(--warning)}.be-refunded{background:var(--surface-3);color:var(--text-muted)}.note-input-wrap{display:flex;gap:.5rem;margin-bottom:1rem;align-items:flex-start}.note-input-wrap textarea{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.85rem;font-family:var(--font-body);resize:vertical;min-height:60px}.note-input-wrap textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow, rgba(59,110,255,.15))}.note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:.5rem;transition:border-color .15s}.note-card-pinned{border-color:var(--accent, rgba(102,126,234,.5));background:var(--surface-2)}.note-ts{font-size:.68rem;color:var(--text-muted);margin-bottom:.4rem;display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.note-pin-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-bright);background:var(--accent-dim, rgba(59,110,255,.12));padding:.05rem .45rem;border-radius:10px}.note-ts-ago{font-weight:600;color:var(--text-secondary)}.note-ts-full{color:var(--text-muted)}.note-actions{margin-left:auto;display:flex;gap:.25rem;align-items:center}.note-action-btn{background:transparent;border:none;cursor:pointer;font-size:.8rem;padding:.15rem .3rem;border-radius:var(--radius-sm);opacity:.4;transition:opacity .15s,background .15s}.note-action-btn:hover{opacity:1;background:var(--surface-3)}.note-action-pinned{opacity:1}.note-action-delete:hover{background:#ef44441f}.note-text{font-size:.85rem;color:var(--text-primary);line-height:1.5}.mp-loading{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--bg, #0a0a14);min-height:100vh}.empty-msg{padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem}.action-toast{position:fixed;top:1rem;right:1rem;z-index:9999;background:var(--surface-3);border:1px solid var(--border-bright);border-left:3px solid var(--success);border-radius:var(--radius);padding:.75rem 1.25rem;font-size:.85rem;color:var(--text-primary);box-shadow:var(--shadow-lg)}.qa-dropdown-wrap{position:relative}.mp-action-more:hover{border-color:var(--border-accent);color:var(--text-primary);background:var(--surface-3)}.qa-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface-2);border:1px solid var(--border-accent);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:190px;z-index:9999;padding:.35rem;display:flex;flex-direction:column;gap:.1rem}@media(max-width:600px){.qa-dropdown-menu{right:auto;left:0}}.qa-dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s,color .12s;width:100%}.qa-dropdown-item:hover{background:var(--surface-3);color:var(--text-primary)}.qa-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.qa-dropdown-divider{border-top:1px solid var(--border);margin:.25rem 0}.qa-dropdown-danger{color:var(--danger)!important}.qa-dropdown-danger:hover{background:#ef44441f!important}.mp-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.mp-summary-card-title{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.85rem}.mp-summary-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.mp-summary-item{text-align:center;padding:.35rem 0}.mp-summary-val{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1}.mp-summary-val-sm{font-size:.88rem;padding-top:.2rem}.mp-summary-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:.25rem}.mp-billing-card-body{display:flex;flex-direction:column;gap:0}.mp-billing-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.82rem}.mp-billing-row:last-child{border-bottom:none}.mp-billing-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.mp-billing-val{color:var(--text-primary);font-weight:500}.mp-billing-val-cost{font-family:var(--font-heading);font-weight:700;font-size:.9rem}.mp-billing-status-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em}@media(max-width:768px){.member-profile{padding:1rem}.mp-header{flex-wrap:wrap;gap:1rem;padding:1.25rem}.mp-header-actions{width:100%;justify-content:stretch}.mp-action-btn{flex:1}.mp-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.mp-stat{padding:.75rem}.mp-stat-val{font-size:1.2rem}.mp-overview{grid-template-columns:1fr}.page-tabs{overflow-x:auto;flex-wrap:nowrap}.page-tab{white-space:nowrap;padding:.5rem .75rem;font-size:.75rem}.mp-info-clean-card{grid-template-columns:1fr}.mp-field:nth-child(1),.mp-field:nth-child(3),.mp-field:nth-child(5){grid-column:1}.mp-field{border-bottom:1px solid var(--border)}.mp-field:last-child{border-bottom:none}}@media(max-width:480px){.member-profile{padding:.75rem}.mp-header-info h1{font-size:1.2rem}.mp-stats{grid-template-columns:1fr 1fr}.mp-avatar{width:48px;height:48px;font-size:1.1rem}.mp-badges{justify-content:center}.qa-buttons{gap:.35rem}.qa-btn{font-size:.72rem;padding:.5rem .75rem}.mp-action-label{display:none}.mp-action-icon{font-size:1.25rem}.mp-action-btn{padding:.6rem;min-width:44px}}@media(max-width:768px){.page-tabs-desktop{display:none!important}.mp-back{margin-bottom:.75rem;font-size:.82rem}.mp-header{padding:1rem!important;gap:.75rem}.mp-avatar{width:56px!important;height:56px!important;font-size:1.1rem!important}.mp-header-info h1{font-size:1.15rem!important}.mp-badges{flex-wrap:wrap;gap:.3rem}.mp-stats{grid-template-columns:repeat(2,1fr)!important;gap:.5rem}.mp-stat{padding:.625rem .75rem!important}.mp-stat-val{font-size:1.15rem!important}.mp-stat-label{font-size:.6rem!important}.mp-overview{grid-template-columns:1fr!important}.att-log-table{font-size:.78rem}.att-log-table th,.att-log-table td{padding:.4rem .5rem}.note-card,.ai-insights{padding:.75rem!important}.belt-timeline{gap:0}}@media(max-width:480px){.mp-stats{grid-template-columns:repeat(2,1fr)!important}}.comp-team-toggle{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:.3rem .8rem;cursor:pointer;font-size:.8rem;font-weight:600;transition:var(--transition)}.comp-team-toggle:hover{border-color:var(--border-accent);color:var(--text-primary)}.comp-team-toggle.comp-team-active{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}.comp-team-toggle.comp-team-active:hover{background:#f59e0b40}.mp-retention-card{text-align:center}.mp-retention-score-display{margin-bottom:1rem}.mp-retention-score-number{font-family:var(--font-heading);font-size:3rem;font-weight:800;line-height:1}.mp-retention-score-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}.mp-retention-breakdown{display:flex;flex-direction:column;gap:.6rem;text-align:left}.mp-retention-factor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.mp-retention-factor-name{font-size:.68rem;font-weight:600;color:var(--text-secondary)}.mp-retention-factor-weight{font-size:.6rem;color:var(--text-muted);font-weight:600}.mp-retention-bar-track{width:100%;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.mp-retention-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.mp-activity-feed{display:flex;flex-direction:column;gap:0}.mp-activity-item{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.mp-activity-item:last-child{border-bottom:none}.mp-activity-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:50%;font-size:.8rem}.mp-activity-info{flex:1;min-width:0}.mp-activity-desc{font-size:.78rem;font-weight:500;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mp-activity-time{font-size:.62rem;color:var(--text-muted);margin-top:.15rem}.mp-ai-custom-send{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.mp-ai-custom-title{display:flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.6rem}.mp-ai-trigger-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.3rem .75rem;background:var(--surface-2);border:1px solid var(--border);color:var(--accent-bright, #7c6cff);border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.mp-ai-trigger-btn:hover{border-color:var(--accent);background:var(--accent-dim, rgba(59,110,255,.08))}.mp-ai-trigger-btn:disabled{opacity:.5;cursor:not-allowed}.mp-send-textarea{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:.6rem .85rem;font-family:var(--font-body);font-size:.85rem;resize:vertical}.mp-send-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow, rgba(59,110,255,.15))}.form-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #888);margin:.75rem 0 .4rem;padding-bottom:.3rem;border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.monthly-chart-wrap{width:100%}.monthly-chart-legend{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem;font-size:.7rem;color:var(--text-muted)}.mcl-item{display:flex;align-items:center;gap:.35rem}.mcl-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.mcl-dash{width:14px;height:1px;background:#667eea80;border-top:1px dashed rgba(102,126,234,.6)}.mcl-avg{color:#667eeacc}.comm-pref-select{background:var(--card-bg, #1a1a2e);border:1px solid var(--border, #333);border-radius:6px;color:var(--text, #f0f0f0);padding:.35rem .5rem;font-size:.8rem;cursor:pointer;outline:none;min-width:140px}.comm-pref-select:focus{border-color:#667eea}.comm-pref-select option{background:var(--card-bg, #1a1a2e);color:var(--text, #f0f0f0)}.billing-section{margin-bottom:.5rem}.billing-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.billing-section-title{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--text-primary)}.billing-card-display{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface-2);border-radius:var(--radius-sm, 8px);border:1px solid var(--border)}.billing-card-info{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-primary)}.billing-card-brand-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.billing-card-brand{font-weight:600}.billing-card-last4{font-family:SF Mono,Fira Code,monospace;font-weight:600;letter-spacing:.5px}.billing-card-exp{font-size:.75rem;color:var(--text-muted)}.billing-card-exp.billing-exp-warning{color:var(--warning, #ffc46c)}.billing-card-exp.billing-exp-critical{color:var(--danger, #ff6c9d);font-weight:600}.billing-card-exp.billing-exp-expired{color:var(--danger, #ff6c9d);font-weight:700;text-decoration:line-through}.billing-exp-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.billing-exp-badge.billing-exp-warning{background:#ffc46c1f;color:var(--warning, #ffc46c);border:1px solid rgba(255,196,108,.25)}.billing-exp-badge.billing-exp-critical{background:#ff6c9d1f;color:var(--danger, #ff6c9d);border:1px solid rgba(255,108,157,.25);animation:pulse-badge 2s ease-in-out infinite}.billing-exp-badge.billing-exp-expired{background:#ff6c9d26;color:var(--danger, #ff6c9d);border:1px solid rgba(255,108,157,.3)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.billing-card-collect{padding:1rem;background:var(--surface-2);border-radius:var(--radius-sm, 8px);border:1px solid var(--border)}.billing-card-form{display:flex;flex-direction:column}.stripe-card-element{padding:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);min-height:44px}.billing-card-success{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#6cffcb14;border:1px solid rgba(108,255,203,.2);border-radius:var(--radius-sm, 8px);color:var(--success, #6cffcb);font-size:.85rem;font-weight:600}.billing-history-list{display:flex;flex-direction:column;gap:0}.billing-history-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--border)}.billing-history-row:last-child{border-bottom:none}.billing-history-left{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.billing-history-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.billing-history-desc{font-size:.8rem;color:var(--text-primary);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-history-date{font-size:.7rem;color:var(--text-muted);margin-top:.1rem}.billing-history-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;margin-left:.5rem}.billing-history-amount{font-size:.85rem;font-weight:600;color:var(--text-primary);font-family:SF Mono,Fira Code,monospace}.billing-history-amount.failed{color:var(--danger, #ff6c9d);text-decoration:line-through}.billing-history-status{font-size:.65rem;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.billing-charges-table{border:1px solid var(--border);border-radius:var(--radius-sm, 8px);overflow:hidden}.billing-charges-header{display:grid;grid-template-columns:110px 1fr 90px 100px 90px;padding:.5rem .75rem;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.billing-charges-row{display:grid;grid-template-columns:110px 1fr 90px 100px 90px;padding:.55rem .75rem;border-bottom:1px solid var(--border);align-items:center;font-size:.8rem}.billing-charges-row:last-child{border-bottom:none}.billing-charges-row:hover{background:var(--surface-2)}.bch-date{font-size:.75rem;color:var(--text-muted)}.bch-desc{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bch-amount{font-family:SF Mono,Fira Code,monospace;font-weight:600;color:var(--text-primary)}.bch-status{display:flex;align-items:center}.bch-actions{display:flex;align-items:center;justify-content:flex-end}.billing-charge-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.billing-charge-badge-paid{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.25)}.billing-charge-badge-refunded{background:#6b72801f;color:#9ca3af;border:1px solid rgba(107,114,128,.25)}.billing-charge-badge-failed{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.billing-refund-btn{background:transparent;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s}.billing-refund-btn:hover{background:#ef44441a;border-color:#ef444480}@media(max-width:640px){.billing-card-display{flex-direction:column;align-items:flex-start;gap:.5rem}.billing-history-desc{max-width:150px}.billing-charges-header,.billing-charges-row{grid-template-columns:80px 1fr 70px 80px 70px;font-size:.7rem;padding:.4rem .5rem}.billing-charges-header{font-size:.6rem}}@media(max-width:420px){.billing-charges-table{min-width:380px}.billing-charges-header,.billing-charges-row{grid-template-columns:70px 1fr 60px 70px 60px;font-size:.65rem;padding:.35rem .4rem;gap:0}.billing-history-desc{max-width:120px}.billing-card-brand-badge{font-size:.65rem;padding:.15rem .35rem}}.waiver-sign{max-width:640px;margin:0 auto;padding:24px 0}.waiver-sign.waiver-compact{padding:0}.waiver-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.waiver-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary, #f0f0f5);margin:0}.waiver-header svg{color:var(--accent-bright, #7c6cff)}.waiver-error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:16px}.waiver-text-box{background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;max-height:320px;overflow-y:auto;padding:20px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--border-subtle, #2a2a45) transparent}.waiver-text-box::-webkit-scrollbar{width:6px}.waiver-text-box::-webkit-scrollbar-track{background:transparent}.waiver-text-box::-webkit-scrollbar-thumb{background:var(--border-subtle, #2a2a45);border-radius:3px}.waiver-text{font-family:inherit;font-size:.85rem;line-height:1.7;color:var(--text-secondary, #a0a0b8);white-space:pre-wrap;word-wrap:break-word;margin:0}.waiver-loading{color:var(--text-muted, #666);font-size:.85rem;text-align:center;padding:40px 0}.waiver-agree-row{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;cursor:pointer;margin-bottom:16px;transition:border-color .2s,background .2s}.waiver-agree-row:hover{border-color:var(--accent-bright, #7c6cff);background:#7c6cff08}.waiver-agree-row input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--accent-bright, #7c6cff);cursor:pointer;flex-shrink:0}.waiver-agree-row span{font-size:.9rem;color:var(--text-primary, #f0f0f5);line-height:1.4}.waiver-name-field{margin-bottom:16px}.waiver-name-field label{display:block;font-size:.8rem;color:var(--text-muted, #888);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.waiver-name-input{width:100%;padding:12px 16px;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;color:var(--text-primary, #f0f0f5);font-size:1rem;transition:border-color .2s;box-sizing:border-box}.waiver-name-input:focus{outline:none;border-color:var(--accent-bright, #7c6cff);box-shadow:0 0 0 2px #7c6cff26}.waiver-name-input::placeholder{color:var(--text-muted, #555)}.sig-field{margin-bottom:16px}.sig-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sig-field-label{font-size:.8rem;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.sig-field-clear{background:none;border:1px solid var(--border-subtle, #2a2a45);color:var(--text-muted, #888);font-size:.75rem;padding:4px 12px;border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s}.sig-field-clear:hover{color:var(--text-primary, #f0f0f5);border-color:var(--text-muted, #555)}.sig-field-canvas-wrap{position:relative;background:#fff;border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;overflow:hidden}.sig-field-canvas{display:block;width:100%;height:140px;cursor:crosshair;touch-action:none}.sig-field-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#bbb;font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none}.waiver-sig-date-row{text-align:right;margin-bottom:20px}.waiver-sig-date-row .waiver-sig-date{font-size:.75rem;color:var(--text-muted, #888)}.waiver-sig-preview{display:flex;align-items:baseline;justify-content:space-between;padding:16px 20px;background:var(--bg-card, #1a1a2e);border:1px dashed var(--accent-bright, #7c6cff);border-radius:10px;margin-bottom:20px}.waiver-sig-text{font-family:Brush Script MT,Segoe Script,Dancing Script,cursive;font-size:1.6rem;color:var(--accent-bright, #7c6cff);letter-spacing:.02em}.waiver-sig-date{font-size:.75rem;color:var(--text-muted, #888)}.waiver-actions{display:flex;gap:12px;justify-content:flex-end}.waiver-btn-cancel{padding:12px 24px;background:transparent;border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;color:var(--text-secondary, #a0a0b8);font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s}.waiver-btn-cancel:hover{background:#ffffff08;border-color:var(--text-muted, #555)}.waiver-btn-sign{padding:12px 28px;background:var(--accent-bright, #7c6cff);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s,transform .1s}.waiver-btn-sign:hover:not(:disabled){background:var(--accent-hover, #6b5ce7);transform:translateY(-1px)}.waiver-btn-sign:disabled{opacity:.4;cursor:not-allowed}.waiver-view-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.waiver-view-modal{background:var(--bg-page, #0f0f1a);border:1px solid var(--border-subtle, #2a2a45);border-radius:14px;width:100%;max-width:640px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.waiver-view-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border-subtle, #2a2a45)}.waiver-view-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #f0f0f5)}.waiver-view-header-actions{display:flex;align-items:center;gap:6px}.waiver-view-action-btn{background:none;border:1px solid var(--border-subtle, #2a2a45);color:var(--text-muted, #888);cursor:pointer;padding:6px 10px;border-radius:6px;transition:background .15s,color .15s,border-color .15s;display:flex;align-items:center;gap:4px}.waiver-view-action-btn:hover:not(:disabled){background:#ffffff0f;color:var(--text-primary, #f0f0f5);border-color:var(--text-muted, #555)}.waiver-view-action-btn:disabled{opacity:.4;cursor:not-allowed}.waiver-view-action-loading{font-size:.75rem}.waiver-view-close{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:4px;border-radius:6px;transition:background .15s}.waiver-view-close:hover{background:#ffffff0f}.waiver-view-card{padding:0}.waiver-view-text{padding:20px 22px;max-height:300px;overflow-y:auto}.waiver-view-text pre{font-family:inherit;font-size:.82rem;line-height:1.7;color:var(--text-secondary, #a0a0b8);white-space:pre-wrap;word-wrap:break-word;margin:0}.waiver-view-signed-section{padding:18px 22px;border-top:1px solid var(--border-subtle, #2a2a45);background:#7c6cff08}.waiver-view-signed-label{font-size:.7rem;font-weight:700;color:var(--success, #22c55e);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.waiver-view-signatures{display:flex;gap:24px;flex-wrap:wrap}.waiver-view-sig-block{flex:1;min-width:120px;text-align:center}.waiver-view-sig-img{display:block;max-width:180px;max-height:60px;margin:0 auto 6px;object-fit:contain}.waiver-view-sig-typed{font-family:Brush Script MT,Segoe Script,Dancing Script,cursive;font-size:1.4rem;color:var(--accent-bright, #7c6cff);margin-bottom:6px}.waiver-view-sig-line{width:100%;height:1px;background:var(--border-subtle, #2a2a45);margin:4px 0}.waiver-view-sig-name{font-size:.75rem;color:var(--text-muted, #888)}.waiver-view-sig-date-block .waiver-view-sig-date-value{font-size:.9rem;color:var(--text-primary, #f0f0f5);margin-bottom:6px}.waiver-view-meta{padding:12px 22px;border-top:1px solid var(--border-subtle, #2a2a45);font-size:.72rem;color:var(--text-muted, #666)}.waiver-inline-card{background:#fff;border:1px solid var(--border-subtle, #2a2a45);border-radius:12px;overflow:hidden;margin-bottom:16px;color:#1a1a2e}.waiver-inline-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#fafafa}.waiver-inline-title{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;color:#1a1a2e}.waiver-inline-title svg{color:var(--accent-bright, #7c6cff)}.waiver-inline-actions{display:flex;gap:6px}.waiver-inline-action-btn{background:none;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;padding:5px 9px;border-radius:6px;transition:background .15s,color .15s;display:flex;align-items:center}.waiver-inline-action-btn:hover:not(:disabled){background:#f3f4f6;color:#1a1a2e}.waiver-inline-action-btn:disabled{opacity:.4;cursor:not-allowed}.waiver-inline-text{padding:20px;max-height:280px;overflow-y:auto}.waiver-inline-text pre{font-family:inherit;font-size:.82rem;line-height:1.7;color:#4b5563;white-space:pre-wrap;word-wrap:break-word;margin:0}.waiver-inline-signed-section{padding:18px 20px;border-top:1px solid #e5e7eb;background:#f9fafb}.waiver-inline-signed-label{font-size:.7rem;font-weight:700;color:#22c55e;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.waiver-inline-signatures{display:flex;gap:24px;flex-wrap:wrap}.waiver-inline-sig-block{flex:1;min-width:100px;text-align:center}.waiver-inline-sig-img{display:block;max-width:160px;max-height:55px;margin:0 auto 6px;object-fit:contain}.waiver-inline-sig-typed{font-family:Brush Script MT,Segoe Script,Dancing Script,cursive;font-size:1.3rem;color:var(--accent-bright, #7c6cff);margin-bottom:6px}.waiver-inline-sig-line{width:100%;height:1px;background:#d1d5db;margin:4px 0}.waiver-inline-sig-name{font-size:.72rem;color:#6b7280}.waiver-inline-sig-date-value{font-size:.85rem;color:#1a1a2e;margin-bottom:6px}.waiver-docs{display:flex;flex-direction:column;gap:12px}.waiver-doc-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:10px}.waiver-doc-info{display:flex;flex-direction:column;gap:2px}.waiver-doc-type{font-size:.9rem;font-weight:600;color:var(--text-primary, #f0f0f5)}.waiver-doc-date{font-size:.78rem;color:var(--text-muted, #888)}.waiver-doc-signed{color:var(--success, #22c55e)}.waiver-doc-unsigned{color:var(--text-muted, #666)}.waiver-doc-view-btn{padding:6px 14px;background:transparent;border:1px solid var(--border-subtle, #2a2a45);border-radius:8px;color:var(--accent-bright, #7c6cff);font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.waiver-doc-view-btn:hover{background:#7c6cff0f;border-color:var(--accent-bright, #7c6cff)}.waiver-mgmt-card{background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:12px;padding:20px;margin-bottom:16px}.waiver-mgmt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.waiver-mgmt-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:var(--text-primary, #f0f0f5)}.waiver-mgmt-title svg{color:var(--accent-bright, #7c6cff)}.waiver-mgmt-count{font-size:.78rem;color:var(--text-muted, #888);background:var(--bg-page, #0f0f1a);padding:4px 10px;border-radius:6px}.waiver-mgmt-preview{font-size:.82rem;color:var(--text-secondary, #a0a0b8);line-height:1.6;max-height:120px;overflow:hidden;margin-bottom:14px;white-space:pre-wrap}.waiver-mgmt-actions{display:flex;gap:10px}.waiver-mgmt-btn{padding:8px 16px;border-radius:8px;font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s}.waiver-mgmt-btn-edit{background:transparent;border:1px solid var(--border-subtle, #2a2a45);color:var(--text-primary, #f0f0f5)}.waiver-mgmt-btn-edit:hover{background:#ffffff0a;border-color:var(--text-muted, #555)}.waiver-mgmt-btn-view{background:transparent;border:1px solid var(--accent-bright, #7c6cff);color:var(--accent-bright, #7c6cff)}.waiver-mgmt-btn-view:hover{background:#7c6cff0f}.waiver-edit-textarea{width:100%;min-height:300px;padding:16px;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle, #2a2a45);border-radius:10px;color:var(--text-primary, #f0f0f5);font-family:inherit;font-size:.85rem;line-height:1.6;resize:vertical;box-sizing:border-box}.waiver-edit-textarea:focus{outline:none;border-color:var(--accent-bright, #7c6cff)}.public-waiver-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg-page, #0f0f1a)}.public-waiver-logo{margin-bottom:24px;text-align:center}.public-waiver-logo h1{font-size:1.3rem;color:var(--text-primary, #f0f0f5);font-weight:700;margin:0}.public-waiver-logo p{font-size:.85rem;color:var(--text-muted, #888);margin:4px 0 0}.public-waiver-done{text-align:center;padding:60px 20px}.public-waiver-done-icon{width:56px;height:56px;background:#22c55e26;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#22c55e}.public-waiver-done h2{color:var(--text-primary, #f0f0f5);font-size:1.4rem;margin:0 0 8px}.public-waiver-done p{color:var(--text-secondary, #a0a0b8);font-size:.9rem}.public-waiver-expired{text-align:center;padding:60px 20px}.public-waiver-expired h2{color:var(--danger, #ef4444);font-size:1.3rem;margin:0 0 8px}.public-waiver-expired p{color:var(--text-secondary, #a0a0b8);font-size:.9rem}.waiver-sig-list{margin-top:12px}.waiver-sig-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle, #2a2a45)}.waiver-sig-item:last-child{border-bottom:none}.waiver-sig-item-name{font-size:.85rem;color:var(--text-primary, #f0f0f5);font-weight:500}.waiver-sig-item-date{font-size:.75rem;color:var(--text-muted, #888)}@media(max-width:600px){.waiver-sign{padding:16px 0}.waiver-text-box{max-height:250px;padding:16px}.waiver-sig-preview{flex-direction:column;gap:4px;text-align:center}.waiver-actions{flex-direction:column}.waiver-btn-sign,.waiver-btn-cancel{width:100%;text-align:center}.waiver-view-modal{max-height:90vh}.sig-field-canvas{height:120px}.waiver-view-signatures,.waiver-inline-signatures{flex-direction:column;gap:16px}.waiver-inline-text{max-height:200px}}@media print{body *{visibility:hidden}.waiver-view-overlay,.waiver-view-overlay *,.waiver-view-modal,.waiver-view-modal *,.waiver-view-card,.waiver-view-card *,.waiver-inline-card,.waiver-inline-card *{visibility:visible}.waiver-view-overlay{position:absolute;inset:0;background:#fff;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.waiver-view-modal{position:absolute;top:0;left:0;max-width:100%;max-height:none;border:none;box-shadow:none;border-radius:0;background:#fff;overflow:visible}.waiver-view-card,.waiver-inline-card{background:#fff;color:#000;border:none}.waiver-view-text pre,.waiver-inline-text pre{color:#000;max-height:none;overflow:visible}.waiver-view-text,.waiver-inline-text{max-height:none;overflow:visible}.waiver-view-header h3,.waiver-inline-title{color:#000}.waiver-view-signed-section,.waiver-inline-signed-section{background:#f5f5f5;border-top:1px solid #ddd}.waiver-view-sig-name,.waiver-inline-sig-name{color:#555}.waiver-view-sig-line,.waiver-inline-sig-line{background:#999}.waiver-view-sig-date-block .waiver-view-sig-date-value,.waiver-inline-sig-date-value{color:#000}.waiver-view-meta{color:#888}.no-print,.waiver-view-header-actions,.waiver-view-close,.waiver-inline-actions,nav,.sidebar,.layout-sidebar,.layout-header,.layout-nav,header{display:none!important}}.admin-attendance-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.att-loading,.empty-msg{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.empty-msg.small{padding:.75rem 0;font-size:.78rem}.empty-icon{font-size:2rem;margin-bottom:.5rem}.today-chip{margin-left:.5rem;background:var(--accent-dim);color:var(--accent-bright);border-radius:8px;padding:.1rem .5rem;font-size:.68rem;font-weight:700;vertical-align:middle}.past-chip{margin-left:.5rem;background:var(--surface-2);color:var(--text-muted);border-radius:8px;padding:.1rem .5rem;font-size:.68rem;font-weight:700;vertical-align:middle}.week-picker{margin-bottom:1.25rem}.week-nav{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem}.week-nav-btn{background:var(--surface);border:1px solid var(--border-bright);color:var(--text-secondary);border-radius:var(--radius-sm);width:30px;height:30px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.week-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-bright)}.week-nav-btn:disabled{opacity:.25;cursor:not-allowed}.week-label{font-size:.82rem;font-weight:700;color:var(--text-secondary);min-width:90px;font-family:var(--font-heading);letter-spacing:.02em}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.week-day-btn{background:var(--surface);border:1.5px solid var(--border);color:var(--text-muted);border-radius:var(--radius);padding:.4rem 0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:var(--transition)}.week-day-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-bright);color:var(--text-secondary)}.week-day-btn.today{border-color:var(--border-accent);color:var(--accent-bright)}.week-day-btn.selected{background:var(--accent-dim);border-color:var(--accent);color:var(--text-primary)}.week-day-btn.future{opacity:.3;cursor:not-allowed}.wd-name{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.wd-num{font-family:var(--font-heading);font-size:1.1rem;font-weight:700}.log-date-header{margin-bottom:1rem}.log-date-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.class-grid{display:flex;flex-direction:column;gap:.5rem}.att-class-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:space-between;gap:1rem}.att-class-card:hover{background:var(--surface-2);border-color:var(--border-bright)}.att-class-card.needs-logging{border-left-color:var(--danger)}.att-class-card.in-progress{border-left-color:var(--success);box-shadow:0 0 12px var(--color-success-dim)}.att-class-card.is-logged{border-left-color:var(--accent)}.acc-left{flex:1}.acc-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.acc-time{font-size:.72rem;color:var(--text-muted);margin-bottom:.2rem}.acc-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.acc-coach{font-size:.72rem;color:var(--text-muted)}.acc-action{font-size:.72rem;color:var(--accent-bright);font-weight:600}.att-status-badge{font-size:.68rem;font-weight:700;padding:.18rem .5rem;border-radius:20px;letter-spacing:.03em}.att-upcoming{background:var(--surface-3);color:var(--text-muted)}.att-live{background:var(--color-success-tonal);color:var(--success)}.att-logged{background:var(--accent-dim);color:var(--accent-bright)}.att-needed{background:var(--danger-dim);color:var(--danger)}.stats-period-bar{display:flex;gap:.4rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.period-btn{padding:.3rem .85rem;border:1px solid var(--border-bright);border-radius:20px;background:var(--surface);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.period-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.period-btn:hover:not(.active){border-color:var(--border-accent);color:var(--text-primary)}.period-btns-desktop{display:flex;gap:.4rem}.period-select-mobile{display:none}@media(max-width:768px){.period-btns-desktop{display:none!important}.period-select-mobile{display:block!important}}.stats-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.kpi-card.highlight{border-color:var(--border-accent);background:var(--accent-dim)}.kpi-val{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.kpi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.3rem}.stats-charts-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.chart-title{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:.85rem;text-transform:uppercase;letter-spacing:.07em}.chart-sub{font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:.7rem;margin-left:.4rem}.chart-empty{color:var(--text-muted);font-size:.8rem;padding:1rem 0;text-align:center}.bar-chart{width:100%}.bar-chart-inner{display:flex;align-items:flex-end;gap:3px;width:100%;overflow-x:auto;padding-bottom:.25rem}.bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:22px}.bar-val{font-size:.6rem;color:var(--text-muted);margin-bottom:2px}.bar-wrap{width:100%;flex:1;display:flex;align-items:flex-end;background:var(--surface-2);border-radius:3px 3px 0 0;overflow:hidden}.bar-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.bar-label{font-size:.58rem;color:var(--text-muted);margin-top:3px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stats-lists-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card, 0 2px 8px var(--black-alpha-30))}.hbar-list{display:flex;flex-direction:column;gap:.6rem}.hbar-row{display:flex;align-items:center;gap:.6rem}.hbar-label{font-size:.75rem;color:var(--text-secondary);width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{flex:1;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.hbar-fill{height:100%;border-radius:3px;transition:width .4s ease}.hbar-val{font-size:.72rem;color:var(--text-muted);width:45px;text-align:right;flex-shrink:0}.top-students-list{display:flex;flex-direction:column;gap:.4rem}.top-student-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.top-student-row:last-child{border-bottom:none}.ts-rank{font-size:.65rem;color:var(--text-muted);width:20px;flex-shrink:0}.ts-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ts-name{font-size:.8rem;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-program{font-size:.62rem;font-weight:600;background:var(--surface-3);border-radius:4px;padding:.1rem .4rem;flex-shrink:0}.ts-count{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--accent-bright);flex-shrink:0}.history-table-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.history-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);overflow:hidden}.history-table{width:100%;border-collapse:collapse;font-size:.82rem}.history-table th{padding:.55rem .85rem;text-align:left;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.history-table td{padding:.6rem .85rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:var(--surface-2)}@media(max-width:700px){.stats-kpis{grid-template-columns:repeat(2,1fr)}.stats-charts-row,.stats-lists-row{grid-template-columns:1fr}.week-days{gap:.2rem}.hbar-label{width:80px}}.att-overview-row{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;margin-bottom:1rem}.att-overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-card, 0 2px 8px var(--black-alpha-30))}.att-ov-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.att-ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.att-ov-val{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.att-ov-sub{font-size:.65rem;color:var(--text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}.att-demo-chart{display:flex;align-items:flex-end;gap:6px;height:110px}.att-demo-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.att-demo-val{font-size:.6rem;color:var(--text-muted);min-height:14px}.att-demo-track{flex:1;width:100%;background:linear-gradient(to top,var(--color-brand-dim),var(--color-brand-dim));border-radius:3px 3px 0 0;display:flex;align-items:flex-end;overflow:hidden}.att-demo-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px;background:var(--accent);transition:height .4s ease}.att-demo-label{font-size:.58rem;color:var(--text-muted);margin-top:4px;white-space:nowrap}.att-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-card, 0 2px 8px var(--black-alpha-30))}.att-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.att-chart-controls{display:flex;gap:.3rem}.att-view-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-sm);padding:.22rem .65rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:var(--transition)}.att-view-btn:hover{color:var(--text-primary);border-color:var(--border-accent)}.att-view-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.att-main-chart{overflow-x:auto}.att-bars{display:flex;align-items:flex-end;gap:5px;height:140px;min-width:100%}.att-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:28px;height:100%}.att-bar-val{font-size:.58rem;color:var(--text-muted);min-height:14px}.att-bar-track{flex:1;width:100%;background:var(--surface-2);border-radius:3px 3px 0 0;display:flex;align-items:flex-end;overflow:hidden}.att-bar-fill{width:100%;border-radius:3px 3px 0 0;min-height:3px;background:linear-gradient(to top,var(--accent),var(--color-brand-tonal-hover));transition:height .4s ease}.att-bar-label{font-size:.58rem;color:var(--text-muted);margin-top:4px;white-space:nowrap}.att-bottom-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}.att-dow-bars{display:flex;flex-direction:column;gap:.5rem}.att-dow-row{display:flex;align-items:center;gap:.6rem}.att-dow-label{font-size:.72rem;color:var(--text-secondary);font-weight:600;width:28px;flex-shrink:0}.att-dow-track{flex:1;height:7px;background:var(--surface-2);border-radius:4px;overflow:hidden}.att-dow-fill{height:100%;border-radius:4px;min-width:3px;background:var(--accent);transition:width .4s ease}.att-dow-val{font-size:.72rem;color:var(--text-muted);width:24px;text-align:right;flex-shrink:0}@media(max-width:800px){.att-overview-row,.att-bottom-row{grid-template-columns:1fr}.acc-class-row{flex-wrap:wrap}}@media(max-width:768px){.admin-attendance{padding:1rem}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:1.3rem}.attendance-stat{padding:.85rem}.acc-class{padding:.85rem;margin-bottom:.75rem}.acc-class-row{flex-direction:column;gap:.5rem}.attendance-table{font-size:.85rem}}@media(max-width:480px){.admin-attendance{padding:.75rem}.page-header{flex-direction:column;gap:.75rem}.page-header h1{font-size:1.2rem}.attendance-stat{padding:.75rem;font-size:.8rem}.stat-value{font-size:1.6rem}.stat-label{font-size:.65rem}.att-overview-row,.att-bottom-row{grid-template-columns:1fr;gap:.5rem}.acc-class{padding:.75rem}.acc-class-row{flex-direction:column;gap:.4rem}.attendance-table{font-size:.75rem}.attendance-table th,.attendance-table td{padding:.35rem}.status-badge{padding:.25rem .5rem;font-size:.7rem}.att-dow-label{width:24px;font-size:.65rem}}@media(max-width:400px){.wd-name{font-size:.5rem;letter-spacing:0}.wd-num{font-size:.95rem}.week-days{gap:.15rem}}.session-unlogged td{background:var(--color-error-dim)!important}.session-log-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:.25rem .65rem;font-size:.7rem;cursor:pointer;transition:var(--transition);font-weight:600}.session-log-btn:hover{color:var(--accent-bright);border-color:var(--accent)}.session-log-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:.5rem}.session-log-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--border);font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2)}.session-log-badge{background:var(--color-error-tonal);color:#ff4757;border:1px solid var(--color-error-tonal);border-radius:20px;padding:.2rem .65rem;font-size:.72rem;font-weight:700}.session-log-showing{padding:.4rem 1rem;font-size:.72rem;color:var(--text-muted);letter-spacing:.02em}.session-log-load-more{display:block;width:100%;padding:.7rem 1rem;background:var(--surface-2);border:none;border-top:1px solid var(--border);color:var(--accent-bright);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;font-family:var(--font-body)}.session-log-load-more:hover{background:var(--accent-dim);color:var(--accent)}.session-log-table-wrap{overflow-x:auto}.session-log-table{width:100%;border-collapse:collapse;font-size:.84rem}.session-log-table th{padding:.5rem 1rem;text-align:left;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.slt-row{cursor:pointer;transition:background .15s}.slt-row:last-child td{border-bottom:none}.slt-row td{padding:.7rem 1rem;border-bottom:1px solid var(--border)}.slt-unlogged td{background:var(--color-error-dim)}.slt-unlogged:hover td{background:var(--color-error-tonal)}.slt-logged td{background:transparent}.slt-logged:hover td{background:var(--color-success-dim)}.slt-date{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.slt-class{color:var(--text-primary);font-weight:600}.slt-not-logged{color:#ff4757;font-weight:700;font-size:.82rem}.slt-logged-count{display:inline-flex;align-items:center;gap:4px;color:#2ed573;font-weight:700;font-size:.82rem}.slt-action{text-align:right;white-space:nowrap}.slt-btn{border-radius:var(--radius-sm);padding:.3rem .8rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s;border:1px solid}.slt-btn-log{background:var(--color-error-dim);border-color:var(--color-error-tonal);color:#ff4757}.slt-btn-log:hover{background:#ff4757;color:#fff;border-color:#ff4757}.slt-btn-edit{background:var(--color-success-dim);border-color:var(--color-success-tonal);color:#2ed573}.slt-btn-edit:hover{background:#2ed573;color:#fff;border-color:#2ed573}@media(max-width:768px){.admin-attendance-page{padding:1rem}.session-log-table{font-size:.78rem}.session-log-table th,.slt-row td{padding:.5rem .65rem}.slt-btn{padding:.25rem .55rem;font-size:.68rem}.session-log-table th:nth-child(4),.session-log-table td:nth-child(4){display:none}}@media(max-width:480px){.admin-attendance-page{padding:.75rem}.session-log-table{font-size:.75rem}.session-log-table th,.slt-row td{padding:.4rem .5rem}.slt-date{font-size:.72rem}.slt-class{font-size:.75rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slt-not-logged,.slt-logged-count{font-size:.72rem}.session-log-header{padding:.65rem .85rem;font-size:.75rem}}.admin-billing-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.admin-billing-page .page-header{display:flex;align-items:center;justify-content:space-between}.btn-refresh{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-sm);padding:.4rem .9rem;font-size:.8rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px}.btn-refresh:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.bill-loading{padding:3rem;text-align:center;color:var(--text-muted)}.bill-toast{position:fixed;top:1rem;right:1rem;z-index:9999;background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius);padding:.75rem 1.25rem;font-size:.85rem;color:var(--text-primary);box-shadow:var(--shadow-lg)}.tab-ct{background:#ffffff14;border-radius:10px;padding:0 .35rem;font-size:.68rem;margin-left:.3rem}.bill-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.bill-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem 1rem;position:relative}.bill-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bill-kpi.green:before{background:var(--success)}.bill-kpi.red:before{background:var(--danger)}.bill-kpi.blue:before{background:var(--accent)}.bill-kpi.gray:before{background:var(--text-muted)}.bk-icon{color:var(--text-muted);margin-bottom:.5rem}.bk-val{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.1}.bk-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.25rem}.bk-sub{font-size:.72rem;color:var(--text-secondary);margin-top:.1rem;font-weight:500}.bill-overview-row{display:block}.bill-donut-card{margin-bottom:.75rem}.bill-donut-inner{flex-wrap:wrap}.bill-chart-card{margin-bottom:.75rem}.bill-donut-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;height:100%}.bill-donut-inner{display:flex;align-items:center;gap:1.25rem}.bill-donut-legend{display:flex;flex-direction:column;gap:1rem}.bill-donut-legend-item{display:flex;align-items:flex-start;gap:.6rem}.bill-donut-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-top:3px;flex-shrink:0}.bdl-label{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.bdl-count{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-top:1px}.bdl-amount{font-size:.7rem;color:var(--text-muted);margin-top:1px}.bill-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.bill-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.bill-chart-title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:6px}.bill-mrr-trend{width:100%}.bill-mrr-bars{display:flex;align-items:flex-end;gap:6px;height:140px}.bill-mrr-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.bill-mrr-val{font-size:.6rem;color:var(--accent-bright);font-weight:600;margin-bottom:3px;white-space:nowrap}.bill-mrr-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--surface-2);border-radius:3px 3px 0 0;overflow:hidden}.bill-mrr-bar-fill{width:100%;background:linear-gradient(to top,var(--accent),var(--accent-bright));border-radius:3px 3px 0 0;min-height:3px;transition:height .4s cubic-bezier(.4,0,.2,1)}.bill-mrr-label{font-size:.58rem;color:var(--text-muted);margin-top:4px;white-space:nowrap}.bill-pastdue-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:.5rem}.bill-pastdue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.bill-pastdue-title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:7px}.bill-pastdue-total{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--danger)}.bill-pastdue-empty{display:flex;align-items:center;gap:8px;color:var(--success);font-size:.85rem;font-weight:600;padding:.75rem 0}.bill-pastdue-list{display:flex;flex-direction:column;gap:0}.bill-pastdue-row{display:flex;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.bill-pastdue-member{flex:1;min-width:0}.bill-pastdue-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-pastdue-days{font-size:.68rem;color:var(--danger);margin-top:1px}.bill-pastdue-amount{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--danger);white-space:nowrap}.bill-pastdue-viewall{background:none;border:none;color:var(--accent-bright);font-size:.78rem;cursor:pointer;padding:.75rem 0 0;display:block;transition:var(--transition)}.bill-pastdue-viewall:hover{color:var(--text-primary)}.mrr-month-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.5rem 1.25rem;margin-bottom:1rem}.mrr-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mrr-month-title{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em}.mrr-month-name{font-size:.72rem;color:var(--text-muted)}.mrr-month-stats{display:flex;gap:2rem;margin-bottom:1.1rem;flex-wrap:wrap}.mrr-stat{display:flex;flex-direction:column;gap:.2rem}.mrr-stat-val{font-family:var(--font-heading);font-size:1.65rem;font-weight:700;line-height:1}.mrr-stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);display:flex;align-items:center;gap:.3rem}.mrr-stat-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.mrr-stat-dot.paid{background:var(--success)}.mrr-stat-dot.pending{background:#eab308}.mrr-stat-dot.overdue{background:var(--danger)}.mrr-seg-bar{width:100%;height:14px;border-radius:7px;overflow:hidden;display:flex;background:var(--surface-2);gap:1px}.mrr-seg{height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0}.mrr-seg-label{font-size:.58rem;font-weight:700;color:#0009;white-space:nowrap;padding:0 4px}.mrr-seg.seg-paid{background:var(--success, #22c55e)}.mrr-seg.seg-pending{background:#eab308}.mrr-seg.seg-overdue{background:var(--danger, #ef4444)}.mrr-seg-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.68rem;color:var(--text-muted);margin-top:.6rem}.mrr-seg-legend span{display:flex;align-items:center;gap:.35rem}.bill-badge{display:inline-block;padding:.15rem .5rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.03em}.status-active{background:#00c8961f;color:var(--success)}.status-pastdue{background:var(--danger-dim);color:var(--danger)}.status-paused{background:var(--accent-dim);color:var(--accent-bright)}.status-canceled,.status-none{background:var(--surface-3);color:var(--text-muted)}.status-action{background:var(--warning-dim);color:var(--warning)}.bill-retry-btn{background:var(--danger-dim);border:1px solid rgba(255,71,87,.3);color:var(--danger);border-radius:var(--radius-sm);padding:.22rem .6rem;font-size:.7rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.bill-retry-btn:hover:not(:disabled){background:#ff475733}.bill-retry-btn:disabled{opacity:.45;cursor:not-allowed}.bill-logs-tab{display:flex;flex-direction:column;gap:0}.bill-member-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.bill-member-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.bill-status-filters{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center}.bill-filter-btn{background:transparent;border:1px solid var(--border-bright);color:var(--text-muted);border-radius:20px;padding:.22rem .65rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.bill-filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.bill-filter-btn:hover:not(.active){border-color:var(--border-accent);color:var(--text-primary)}.bill-filter-btns-desktop{display:flex;gap:.3rem;flex-wrap:wrap}.mobile-filter-select-wrap{display:none}.mobile-filter-select{-webkit-appearance:none;appearance:none;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);border-radius:var(--radius-sm);padding:.3rem .65rem;font-size:.78rem;font-family:var(--font-body)}.bill-table-wrap{overflow-x:auto}.bill-table{width:100%;border-collapse:collapse;font-size:.82rem}.bill-table th{padding:.55rem .8rem;text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.bill-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}.bill-table tr:last-child td{border-bottom:none}.bill-table tr.row-alert td{background:#ff475708}.bill-table tr:hover td{background:var(--surface-2)}.bill-member-link{background:none;border:none;color:var(--accent-bright);font-size:.82rem;cursor:pointer;padding:0;text-align:left;transition:var(--transition)}.bill-member-link:hover{color:var(--text-primary);text-decoration:underline}.bill-mono{font-family:monospace;font-size:.75rem;color:var(--text-muted)}.bill-invoice{display:flex;align-items:center;gap:.4rem}.bill-amount{font-size:.78rem;color:var(--text-secondary)}.bill-empty{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:.82rem}.bill-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.bill-event-select{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.3rem .65rem;font-size:.78rem}.bill-event-list{display:flex;flex-direction:column;gap:.4rem}.bill-event-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;transition:var(--transition)}.bill-event-row:hover{border-color:var(--border-bright);background:var(--surface-2)}.bill-event-left{flex:1}.bill-event-type{font-size:.82rem;color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:6px}.bill-event-meta{font-size:.7rem;color:var(--text-muted);margin-top:.2rem;display:flex;gap:.75rem}.bill-event-right{display:flex;align-items:center;gap:.75rem}.bill-proc-badge{font-size:.62rem;font-weight:700;padding:.12rem .4rem;border-radius:var(--radius-xs);text-transform:capitalize}.bill-proc-badge.processed{background:var(--success-dim);color:var(--success)}.bill-proc-badge.pending{background:var(--warning-dim);color:var(--warning)}.bill-proc-badge.failed{background:var(--danger-dim);color:var(--danger)}.bill-event-time{font-size:.7rem;color:var(--text-muted)}.bill-empty-state{text-align:center;padding:3rem;color:var(--text-muted);font-size:.875rem}.bill-empty-state div:first-child{margin-bottom:.5rem}@media(max-width:860px){.bill-overview-row{grid-template-columns:1fr}.bill-donut-inner{flex-direction:row}}@media(max-width:700px){.bill-kpis{grid-template-columns:1fr}.bill-table th:nth-child(3),.bill-table td:nth-child(3),.bill-table th:nth-child(6),.bill-table td:nth-child(6){display:none}.bill-filter-btns-desktop{display:none!important}.mobile-filter-select-wrap{display:block!important}}@media(max-width:600px){.admin-billing-page{padding:1rem}.bill-kpis{grid-template-columns:1fr;gap:.5rem}.bk-val{font-size:1.6rem}.mrr-month-stats{gap:1.25rem}.mrr-stat-val{font-size:1.3rem}.mrr-month-hero{padding:1rem}.bill-pastdue-row{flex-wrap:wrap;gap:.5rem}.bill-table{font-size:.75rem}.bill-table th,.bill-table td{padding:.4rem}.bill-table th:nth-child(7),.bill-table td:nth-child(7){display:none}}@media(max-width:768px){.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:1.3rem}}.bill-donut-growth-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}@media(max-width:600px){.bill-donut-growth-row{grid-template-columns:1fr}}.bill-growth-ltv-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;height:100%}.bill-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem;position:relative;overflow:hidden}.bsc-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.bsc-val{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;color:var(--text-primary);line-height:1;margin:.25rem 0}.bsc-val.positive{color:var(--success)}.bsc-val.negative{color:var(--danger)}.bsc-sub{font-size:.7rem;color:var(--text-muted)}.bsc-hint{font-size:.68rem;color:var(--text-secondary);margin-top:.25rem}.bsc-arrow{position:absolute;top:1rem;right:1rem;font-size:1.4rem;opacity:.25}.bsc-arrow.up{color:var(--success)}.bsc-arrow.down{color:var(--danger)}@media(max-width:600px){.bill-growth-ltv-row{grid-template-columns:1fr 1fr}.bsc-val{font-size:1.4rem}}.bill-pastdue-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;border-radius:999px;min-width:18px;height:18px;padding:0 5px;margin-left:.4rem;vertical-align:middle}.bill-pd-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-3, #2a2a3a);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.bill-pastdue-row{display:grid;grid-template-columns:32px 1fr auto auto auto;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.bill-pastdue-row:last-child{border-bottom:none}.bill-pastdue-row:hover{background:var(--surface-2);border-radius:var(--radius-sm)}.bill-pd-info{min-width:0}.bill-pd-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-pd-name:hover{color:var(--accent)}.bill-pd-plan{font-size:.7rem;color:var(--text-muted);margin-top:1px;text-transform:capitalize}.bill-pd-days{min-width:70px}.bill-pd-overdue-tag{background:rgba(var(--danger-rgb, 239,68,68),.12);color:var(--danger);font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap}.bill-pd-amount{font-size:.85rem;font-weight:700;color:var(--danger);white-space:nowrap;min-width:50px;text-align:right}@media(max-width:520px){.bill-pastdue-row{grid-template-columns:32px 1fr auto auto}.bill-pd-days{display:none}}.status-cash{background:#14b8a61f;color:#14b8a6}.bill-pd-actions{display:flex;gap:.3rem;flex-shrink:0}.bill-pd-action-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.22rem .55rem;font-size:.68rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.bill-pd-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary);background:var(--surface-3)}.bill-pd-action-btn:disabled{opacity:.4;cursor:not-allowed}.bill-pd-action-btn.retry{border-color:#ff475740;color:var(--danger)}.bill-pd-action-btn.retry:hover:not(:disabled){background:#ff475714;border-color:var(--danger)}.bill-pd-action-btn.cash{border-color:#14b8a640;color:#14b8a6}.bill-pd-action-btn.cash:hover:not(:disabled){background:#14b8a614;border-color:#14b8a6}.bill-pd-action-btn.resend{border-color:#7c6eff40;color:var(--accent-bright)}.bill-pd-action-btn.resend:hover:not(:disabled){background:#7c6eff14;border-color:var(--accent-bright)}.bill-pd-action-btn.small{padding:.18rem .4rem;font-size:.72rem}.bill-invoices-tab{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.bill-invoices-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.bill-invoices-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inv-search-input{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.35rem .7rem;font-size:.78rem;min-width:180px;transition:var(--transition)}.inv-search-input:focus{outline:none;border-color:var(--accent);color:var(--text-primary)}.inv-search-input::placeholder{color:var(--text-muted)}.inv-count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-dim);color:var(--accent-bright);font-size:.6rem;font-weight:700;border-radius:999px;min-width:18px;height:18px;padding:0 5px;margin-left:.4rem}.inv-row-actions{display:flex;gap:.25rem}.inv-table th:last-child,.inv-table td:last-child{text-align:right}.bill-view-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-sm);padding:.18rem .5rem;font-size:.7rem;font-weight:600;cursor:pointer;transition:var(--transition)}.bill-view-btn:hover{border-color:var(--accent);color:var(--accent-bright)}.inv-detail-modal{max-width:520px}.inv-detail-body{padding:0 1.5rem 1.5rem}.inv-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.inv-detail-field{display:flex;flex-direction:column;gap:.2rem}.inv-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.inv-value{font-size:.85rem;color:var(--text-primary)}.inv-amount{font-family:var(--font-heading);font-size:1.3rem;font-weight:700}.inv-timeline{margin-bottom:1.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.inv-timeline-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem}.inv-timeline-item{display:flex;gap:.75rem;padding:.4rem 0;position:relative}.inv-timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:18px;bottom:-4px;width:1px;background:var(--border)}.inv-timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--surface-3);border:2px solid var(--border-bright);flex-shrink:0;margin-top:3px}.inv-timeline-dot.success{border-color:var(--success);background:#00c89633}.inv-timeline-dot.danger{border-color:var(--danger);background:#ff475733}.inv-timeline-content{flex:1;min-width:0}.inv-timeline-event{font-size:.8rem;color:var(--text-primary)}.inv-timeline-date{font-size:.68rem;color:var(--text-muted);margin-top:1px}.inv-detail-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.billing-invoice-list{display:flex;flex-direction:column;gap:0}.billing-invoice-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid var(--border)}.billing-invoice-row:last-child{border-bottom:none}.billing-invoice-left{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}@media(max-width:700px){.bill-pd-actions{flex-direction:column;gap:.2rem}.bill-pd-action-btn{font-size:.62rem;padding:.18rem .4rem}.inv-detail-grid{grid-template-columns:1fr}.inv-detail-actions{flex-wrap:wrap}}@media(max-width:600px){.bill-pastdue-row{grid-template-columns:32px 1fr auto}.bill-pd-actions{grid-column:1 / -1;display:flex;flex-direction:row;width:100%;justify-content:space-around;gap:.4rem;padding-top:.4rem}.bill-pd-action-btn{flex:1;justify-content:center;font-size:.68rem}}@media(max-width:520px){.bill-invoices-filters{flex-direction:column;width:100%}.inv-search-input{width:100%;min-width:unset}.inv-table th:nth-child(3),.inv-table td:nth-child(3),.inv-table th:nth-child(6),.inv-table td:nth-child(6){display:none}}.billing-invoice-expandable{flex-direction:column;align-items:stretch;padding:0}.billing-invoice-row-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.billing-invoice-row-header:hover,.billing-invoice-open .billing-invoice-row-header{background:var(--surface-3, #1e1e2e)}.billing-invoice-chevron{color:var(--text-muted);display:flex;align-items:center;margin-left:.5rem}.billing-inv-number{color:var(--text-muted);font-size:.75rem}.billing-invoice-detail{padding:.75rem .75rem 1rem;border-top:1px solid var(--border);background:var(--surface-2, #13131f);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.billing-invoice-detail-grid{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.bid-row{display:flex;gap:.75rem;font-size:.8rem}.bid-label{color:var(--text-muted);min-width:90px;flex-shrink:0}.bid-val{color:var(--text-primary)}.billing-invoice-events{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.bie-row{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.bie-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.bie-label{color:var(--text-secondary);flex:1}.bie-date{color:var(--text-muted)}.billing-invoice-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.5rem;border-top:1px solid var(--border)}.bid-action-btn{padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid;transition:opacity .15s}.bid-action-btn:disabled{opacity:.5;cursor:not-allowed}.bid-action-retry{background:#6366f126;color:#818cf8;border-color:#6366f14d}.bid-action-cash{background:#22c55e1f;color:var(--success, #6cffcb);border-color:#22c55e40}.bid-action-resend{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b40}.inv-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem .5rem 0;margin-top:.5rem;border-top:1px solid var(--border)}.inv-page-btn{padding:.3rem .85rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface-3);color:var(--text-primary);transition:opacity .15s}.inv-page-btn:disabled{opacity:.35;cursor:not-allowed}.inv-page-btn:not(:disabled):hover{background:var(--surface)}.inv-page-info{font-size:.75rem;color:var(--text-muted)}.messages-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.messages-page .page-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.ch-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;letter-spacing:.03em}.ch-email{background:var(--accent-dim);color:var(--accent-bright)}.ch-sms{background:#00c8961a;color:var(--success)}.ch-both{background:#b48cff1a;color:#b48cff}.ch-system{background:var(--surface-3);color:var(--text-muted)}.msg-status{font-size:.65rem;font-weight:700;padding:.13rem .45rem;border-radius:20px;text-transform:capitalize;letter-spacing:.04em}.msg-delivered{background:var(--success-dim);color:var(--success)}.msg-failed{background:var(--danger-dim);color:var(--danger)}.msg-pending{background:var(--warning-dim);color:var(--warning)}.msg-queued{background:var(--surface-3);color:var(--text-muted)}.msg-simulated{background:#b48cff1a;color:#b48cff}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--surface-3);border:1px solid var(--border-bright);border-radius:24px;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:var(--text-muted);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:#fff}.toast-notification{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;background:var(--success);color:#fff;padding:.65rem 1.25rem;border-radius:var(--radius);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-lg);animation:toastIn .3s ease-out}@keyframes toastIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.inbox-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem;height:calc(100vh - 220px);min-height:520px}.inbox-list-col{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.inbox-list-header{padding:.85rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.inbox-filter-row{display:flex;gap:.25rem;flex-wrap:wrap}.inbox-filter-tab{background:transparent;border:1px solid var(--border-bright);color:var(--text-muted);border-radius:20px;padding:.18rem .6rem;font-size:.7rem;font-weight:600;cursor:pointer;transition:var(--transition)}.inbox-filter-tab:hover{color:var(--text-secondary);border-color:var(--border-accent)}.inbox-filter-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.compose-btn{background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent-bright);border-radius:var(--radius-sm);padding:.3rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem}.compose-btn:hover{background:var(--accent);color:#fff}.compose-btn:disabled{opacity:.5;cursor:not-allowed}.inbox-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.82rem}.inbox-message-list{flex:1;overflow-y:auto}.inbox-msg-row{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;border-left:3px solid transparent}.inbox-msg-row:hover{background:var(--surface-2)}.inbox-msg-row.active{background:var(--accent-dim);border-left-color:var(--accent)}.inbox-msg-row.unread .inbox-msg-from{color:var(--text-primary);font-weight:700}.inbox-msg-row.unread{border-left-color:var(--accent)}.inbox-msg-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent-bright);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.9rem;font-weight:700;flex-shrink:0}.inbox-msg-body{flex:1;min-width:0}.inbox-msg-top{display:flex;justify-content:space-between;align-items:baseline}.inbox-msg-from{font-size:.82rem;color:var(--text-secondary)}.inbox-msg-time{font-size:.65rem;color:var(--text-muted);flex-shrink:0}.inbox-msg-subject{font-size:.75rem;color:var(--text-secondary);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-msg-preview{font-size:.7rem;color:var(--text-muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-msg-badges{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.inbox-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.inbox-replied-badge{font-size:.62rem;color:var(--success);font-weight:700}.inbox-detail-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.inbox-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted);font-size:.85rem}.inbox-detail-empty-icon{font-size:2.5rem}.compose-btn-lg{background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent-bright);border-radius:var(--radius);padding:.5rem 1.25rem;font-size:.82rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:var(--transition)}.compose-btn-lg:hover{background:var(--accent);color:#fff}.inbox-detail{flex:1;display:flex;flex-direction:column;overflow:hidden}.inbox-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border)}.inbox-detail-from{font-size:.9rem;font-weight:700;color:var(--text-primary);font-family:var(--font-heading)}.inbox-detail-email{font-weight:400;color:var(--text-muted);font-size:.78rem;font-family:var(--font-body)}.inbox-detail-subject{font-size:.8rem;color:var(--text-secondary);margin-top:.2rem}.inbox-detail-time{font-size:.7rem;color:var(--text-muted);margin-top:.1rem}.inbox-close-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:50%;width:28px;height:28px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.inbox-close-btn:hover{color:var(--text-primary);border-color:var(--danger)}.inbox-detail-body{padding:1.25rem;font-size:.875rem;line-height:1.7;color:var(--text-secondary);flex:1;overflow-y:auto;white-space:pre-wrap}.inbox-thread{padding:0 1.25rem;display:flex;flex-direction:column;gap:.65rem;margin-bottom:.5rem;flex:1;overflow-y:auto}.thread-msg{border-radius:var(--radius);padding:.75rem 1rem;font-size:.82rem;line-height:1.5}.thread-msg.thread-gym{background:var(--accent-dim);border:1px solid var(--border-accent);margin-left:2rem}.thread-msg.thread-contact,.thread-msg.thread-member{background:var(--surface-2);border:1px solid var(--border);margin-right:2rem}.thread-from{font-size:.68rem;font-weight:700;color:var(--text-muted);margin-bottom:.3rem}.thread-body{color:var(--text-secondary)}.thread-time{font-size:.63rem;color:var(--text-muted);margin-top:.3rem}.inbox-reply-box{border-top:1px solid var(--border);padding:.85rem 1.25rem;background:var(--surface)}.inbox-reply-input{width:100%;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);border-radius:var(--radius);padding:.75rem 1rem;font-size:.85rem;resize:none;font-family:var(--font-body);line-height:1.5;box-sizing:border-box}.inbox-reply-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.inbox-reply-input::placeholder{color:var(--text-muted)}.inbox-reply-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem}.inbox-reply-to{font-size:.72rem;color:var(--text-muted)}.inbox-send-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.45rem 1.1rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:var(--transition)}.inbox-send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-sm)}.inbox-send-btn:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.compose-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.compose-modal{background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius-xl);padding:1.5rem;width:520px;max-width:95vw;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-lg)}.compose-modal-header{display:flex;justify-content:space-between;align-items:center}.compose-modal-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.compose-fields{display:flex;flex-direction:column;gap:.6rem}.compose-fields input,.compose-fields textarea{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.875rem;font-family:var(--font-body);width:100%;box-sizing:border-box}.compose-fields input::placeholder,.compose-fields textarea::placeholder{color:var(--text-muted)}.compose-fields input:focus,.compose-fields textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.compose-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.compose-footer{display:flex;justify-content:flex-end;gap:.5rem}.btn-cancel{background:transparent;border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-sm);padding:.45rem 1rem;font-size:.82rem;cursor:pointer;transition:var(--transition)}.btn-cancel:hover{color:var(--text-primary);border-color:var(--border-accent)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.broadcast-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;position:relative}.broadcast-toolbar{display:flex;gap:.5rem;align-items:center}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-field input,.form-field textarea{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);padding:.65rem .875rem;font-size:.875rem;font-family:var(--font-body);color:var(--text-primary);resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-muted)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.char-count{font-size:.7rem;color:var(--text-muted);text-align:right}.audience-pills{display:flex;flex-wrap:wrap;gap:.5rem}.audience-pill{padding:.35rem .85rem;border:1px solid var(--border-bright);border-radius:20px;font-size:.78rem;font-weight:600;cursor:pointer;background:var(--surface-2);color:var(--text-muted);transition:var(--transition)}.audience-pill:hover{border-color:var(--accent);color:var(--text-primary)}.audience-pill.selected{background:var(--accent);border-color:var(--accent);color:#fff}.pill-count{opacity:.75;font-weight:400;margin-left:.25rem}.channel-opts{display:flex;gap:.6rem;flex-wrap:wrap}.channel-opt{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--border-bright);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:var(--transition);background:var(--surface-2)}.channel-opt input{display:none}.channel-opt:hover{border-color:var(--accent);color:var(--text-primary)}.channel-opt.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-bright);font-weight:600}.broadcast-footer{display:flex;justify-content:space-between;align-items:center}.recipient-preview{font-size:.875rem;color:var(--text-secondary)}.recipient-preview strong{color:var(--text-primary);font-family:var(--font-heading);font-size:1.1rem}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.65rem 1.75rem;font-family:var(--font-heading);font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition);letter-spacing:.02em}.send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-sm)}.send-btn:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.preview-content{display:flex;flex-direction:column;gap:.75rem}.preview-meta{font-size:.78rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.25rem}.preview-subject{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);padding:.5rem 0;border-bottom:1px solid var(--border)}.preview-body{font-size:.875rem;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;padding:.75rem;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}.preview-note{font-size:.7rem;color:var(--text-muted);font-style:italic}.template-picker-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.template-picker-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.template-picker-item:hover{border-color:var(--accent);background:var(--accent-dim)}.template-picker-name{font-weight:700;font-size:.85rem;color:var(--text-primary);flex-shrink:0}.template-picker-subject{flex:1;font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.templates-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem;height:calc(100vh - 220px);min-height:520px}.templates-list-col{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.template-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.15rem;cursor:pointer;transition:var(--transition);border-left:3px solid transparent}.template-card:hover{border-color:var(--border-bright);background:var(--surface-2)}.template-card.active{border-left-color:var(--accent);background:var(--accent-dim);border-color:var(--accent)}.template-card-name{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--text-primary);margin-bottom:.2rem}.template-card-subject{font-size:.75rem;color:var(--text-muted);margin-bottom:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-card-meta{display:flex;gap:.35rem}.templates-editor-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.template-editor{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;flex:1;overflow-y:auto}.template-editor-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.template-editor-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.template-preview-pane{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}.template-vars{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.template-vars-label{font-size:.7rem;color:var(--text-muted);font-weight:600;margin-right:.25rem}.template-var-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--accent-bright);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-family:monospace;cursor:pointer;transition:var(--transition)}.template-var-btn:hover{background:var(--accent-dim);border-color:var(--accent)}.template-editor-footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--border)}.automations-note{background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.65rem 1rem;font-size:.78rem;color:var(--accent-bright);margin-bottom:1rem;display:flex;align-items:center}.automations-list{display:flex;flex-direction:column;gap:.65rem}.automation-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);overflow:hidden}.automation-card:hover{border-color:var(--border-bright)}.automation-card.disabled{opacity:.45}.automation-card.expanded{border-color:var(--accent)}.automation-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer}.auto-info{flex:1}.auto-name{font-family:var(--font-heading);font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:.2rem}.auto-desc{font-size:.78rem;color:var(--text-secondary);margin-bottom:.4rem;line-height:1.4}.auto-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.auto-last{font-size:.68rem;color:var(--text-muted)}.auto-template-badge{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:#b48cff1a;color:#b48cff}.automation-expanded{border-top:1px solid var(--border);padding:1rem 1.25rem;background:var(--surface-2)}.auto-template-note{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-muted);padding:.5rem 0}.msg-log-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.msg-log-table-wrap{overflow-x:auto}.msg-log-table{width:100%;border-collapse:collapse;font-size:.82rem}.msg-log-table th{padding:.6rem 1rem;text-align:left;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.msg-log-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}.msg-log-table tr:last-child td{border-bottom:none}.msg-log-table tr:hover td{background:var(--surface-2)}.log-date{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.log-to{font-weight:600;color:var(--text-primary);font-size:.82rem;white-space:nowrap}.log-subject{color:var(--text-secondary);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-trigger{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;text-transform:capitalize}.log-trigger-manual{background:var(--accent-dim);color:var(--accent-bright)}.log-trigger-broadcast{background:#b48cff1a;color:#b48cff}.log-trigger-operator{background:#00c8961a;color:var(--success)}.log-trigger-billing{background:var(--warning-dim);color:var(--warning)}.log-filter-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);gap:.75rem;flex-wrap:wrap}.log-filter-group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.log-search-input{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);padding:.4rem .75rem;font-size:.82rem;color:var(--text-primary);font-family:var(--font-body);width:200px;box-sizing:border-box}.log-search-input::placeholder{color:var(--text-muted)}.log-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.log-filter-select{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.78rem;color:var(--text-primary);font-family:var(--font-body);cursor:pointer}.log-filter-select:focus{outline:none;border-color:var(--accent)}.tmpl-split-editor{display:flex;flex-direction:column;gap:1.5rem}.tmpl-split-editor.side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.tmpl-editor-section{background:var(--surface-2, #1a1a2e);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem}.tmpl-section-label{font-size:.82rem;font-weight:600;color:var(--text-secondary, #aaa);margin-bottom:.75rem;display:flex;align-items:center;gap:.35rem}@media(max-width:768px){.messages-page{padding:1rem .75rem}.inbox-layout{grid-template-columns:1fr;height:auto}.inbox-list-col{height:auto;max-height:70vh}.inbox-detail-col:has(.inbox-detail-empty){display:none}.templates-layout{grid-template-columns:1fr;height:auto}.templates-list-col{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.templates-editor-col:has(.inbox-detail-empty){display:none}.template-card{padding:.75rem .9rem}.template-card-name{font-size:.85rem}.template-card-subject{font-size:.72rem;max-width:100%}.template-editor{padding:1rem}.template-editor-header{flex-direction:column;align-items:flex-start;gap:.5rem}.template-editor-header>div{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}.template-editor-header>div .compose-btn{flex:1;text-align:center;justify-content:center}.template-vars{gap:.3rem}.template-var-btn{padding:.2rem .4rem;font-size:.65rem}.tmpl-split-editor.side-by-side{grid-template-columns:1fr}.automation-row{flex-wrap:wrap;padding:.85rem 1rem;gap:.5rem}.auto-info{flex:1;min-width:0}.auto-name{font-size:.9rem}.auto-desc{font-size:.75rem}.auto-meta{gap:.35rem}.auto-preview-snippet{max-width:100%!important}.automation-expanded{padding:.85rem 1rem}.auto-template-editor .form-field{margin-bottom:.75rem}.auto-template-editor>div:last-child{flex-direction:column}.auto-template-editor>div:last-child button{width:100%;text-align:center}.auto-template-content button{width:100%;text-align:center;justify-content:center}.log-filter-bar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem}.log-filter-group{flex-wrap:wrap;gap:.4rem}.log-search-input{width:100%}.log-filter-select{flex:1;min-width:0;font-size:.78rem}.msg-log-table thead{display:none}.msg-log-table,.msg-log-table tbody,.msg-log-table tr,.msg-log-table td{display:block;width:100%}.msg-log-table tr{padding:.75rem .85rem;border-bottom:1px solid var(--border);position:relative}.msg-log-table td{padding:.15rem 0;border-bottom:none}.msg-log-table td:before{display:none}.log-date{font-size:.68rem;color:var(--text-muted);display:block;margin-bottom:.15rem}.log-to{font-size:.85rem;display:block;margin-bottom:.15rem}.log-subject{max-width:100%;display:block;font-size:.78rem;margin-bottom:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-log-table tr:hover td{background:transparent}.page-content{padding:1rem}.channel-opts{flex-wrap:wrap;gap:.5rem}}@media(max-width:480px){.messages-page{padding:.75rem .5rem}.page-content{padding:.75rem}.inbox-list{max-height:250px}.inbox-detail{max-height:400px}.inbox-item{padding:.5rem;font-size:.8rem}.inbox-from{font-size:.78rem}.inbox-preview{font-size:.72rem}.inbox-time{font-size:.65rem}.thread-msg{padding:.75rem;margin-bottom:.5rem}.thread-from{font-size:.8rem;margin-bottom:.3rem}.thread-body{font-size:.85rem;line-height:1.4}.thread-time{font-size:.7rem}.channel-opts{flex-direction:column}.channel-opt{width:100%}.form-field{margin-bottom:.75rem}.compose-box{padding:.75rem}.msg-log-table tr{padding:.6rem .65rem}.log-subject{max-width:100%;font-size:.72rem}.templates-list-col{max-height:160px}.template-editor,.automation-row{padding:.75rem}.auto-info{padding-right:50px}.automation-expanded{padding:.75rem}}[data-theme=light] .inbox-reply-input{background:#fff;border-color:#00000024;color:#0f1623}[data-theme=light] .inbox-reply-box{background:#fff;border-top-color:#00000014}[data-theme=light] .compose-fields input,[data-theme=light] .compose-fields textarea{background:#fff;border-color:#00000024;color:#0f1623}[data-theme=light] .compose-modal{background:#fff;border-color:#00000014}[data-theme=light] .log-search-input,[data-theme=light] .log-filter-select{background:#fff;border-color:#00000024;color:#0f1623}[data-theme=light] .thread-item{border-bottom-color:#0000000f}[data-theme=light] .thread-item:hover{background:#f0f2f8}[data-theme=light] .inbox-detail-header{border-bottom-color:#0000000f}.gym-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.gym-page .page-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.schedule-filter-tabs{display:flex;gap:.3rem;flex-wrap:wrap}.sched-filter-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:20px;padding:.3rem .85rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition)}.sched-filter-btn:hover{color:var(--text-primary);border-color:var(--border-accent)}.sched-filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.75rem}.schedule-day-header{font-family:var(--font-heading);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 0 .5rem;display:flex;align-items:center;gap:.3rem}.day-class-count{background:var(--surface-2);border-radius:10px;padding:.05rem .35rem;font-size:.62rem;font-weight:700;color:var(--text-muted)}.no-classes-msg{font-size:.72rem;color:var(--text-muted);padding:.5rem 0;font-style:italic}.schedule-class-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem;margin-bottom:.4rem;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.schedule-class-card:hover{background:var(--surface-2);border-color:var(--border-bright)}.type-card-adults{border-left-color:var(--color-adults)}.type-card-peewee{border-left-color:var(--color-peewee)}.type-card-juniors{border-left-color:var(--color-juniors)}.type-card-teens{border-left-color:var(--color-teens)}.type-card-open_mat{border-left-color:var(--color-openmat)}.scc-time{font-size:.62rem;color:var(--text-muted);margin-bottom:.2rem}.scc-name{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem;line-height:1.2}.scc-meta{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.scc-coaches{font-size:.62rem;color:var(--text-muted)}.scc-edit-hint{font-size:.58rem;color:var(--text-muted);text-align:right;margin-top:.25rem;opacity:0;transition:opacity .15s}.schedule-class-card:hover .scc-edit-hint{opacity:1}.scc-edit-btn{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.2rem .6rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.scc-edit-btn:hover{border-color:var(--accent);color:var(--accent-bright);background:var(--accent-dim)}.type-badge{font-size:.6rem;font-weight:700;border-radius:20px;padding:.1rem .4rem;text-transform:capitalize;letter-spacing:.03em}.type-adults{background:#3b6eff1f;color:var(--color-adults)}.type-peewee{background:#ff6b9d1f;color:var(--color-peewee)}.type-juniors{background:#00d4aa1f;color:var(--color-juniors)}.type-teens{background:#a78bfa1f;color:var(--color-teens)}.type-open_mat{background:#f59e0b1f;color:var(--color-openmat)}.schedule-footer-note{text-align:center;font-size:.72rem;color:var(--text-muted);margin-top:.75rem}.gym-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gym-modal{background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius-xl);padding:0;width:540px;max-width:92vw;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-lg);box-sizing:border-box}.gym-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.gym-modal-header h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.gym-modal-close{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:50%;width:30px;height:30px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.gym-modal-close:hover{color:var(--text-primary);border-color:var(--danger)}.gym-modal-form{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem 1.5rem;overflow:hidden;box-sizing:border-box}.gym-modal-footer{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.gym-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.gym-form-field{display:flex;flex-direction:column;gap:.3rem}.gym-form-field label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.gym-form-field input,.gym-form-field select,.gym-form-field textarea{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.875rem;font-family:var(--font-body)}.gym-form-field input::placeholder{color:var(--text-muted)}.gym-form-field input:focus,.gym-form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.gym-form-field select option{background:var(--surface-3);color:var(--text-primary)}.gym-form-error{background:var(--danger-dim);border:1px solid rgba(255,71,87,.25);color:var(--danger);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.82rem}.gym-recur-opts{display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box}.gym-recur-opt{background:var(--surface-2);border:1.5px solid var(--border-bright);border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;display:flex;align-items:flex-start;gap:.75rem;transition:var(--transition);width:100%;box-sizing:border-box;overflow:hidden}.gym-recur-opt:hover{border-color:var(--border-accent)}.gym-recur-opt.selected{border-color:var(--accent);background:var(--accent-dim)}.gym-recur-opt input[type=radio]{margin-top:2px;accent-color:var(--accent);flex-shrink:0}.recur-content{display:flex;flex-direction:column;flex:1;min-width:0}.recur-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.recur-sub{font-size:.7rem;color:var(--text-muted);margin-top:.15rem}.coach-checkboxes{display:flex;flex-wrap:wrap;gap:.4rem}.coach-checkbox{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:20px;padding:.25rem .75rem;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;color:var(--text-secondary);transition:var(--transition)}.coach-checkbox:hover{border-color:var(--accent);color:var(--text-primary)}.coach-checkbox.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-bright)}.coach-checkbox input{display:none}.gym-delete-confirm{display:flex;align-items:center;gap:.6rem;background:var(--danger-dim);border:1px solid rgba(255,71,87,.2);border-radius:var(--radius);padding:.65rem 1rem;font-size:.82rem;color:var(--danger);flex-wrap:wrap}.btn-danger{background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);padding:.35rem .85rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-danger-outline{background:transparent;border:1px solid rgba(255,71,87,.4);color:var(--danger);border-radius:var(--radius-sm);padding:.35rem .85rem;font-size:.78rem;cursor:pointer;transition:var(--transition)}.btn-danger-outline:hover{background:var(--danger-dim)}.btn-delete{background:var(--danger-dim);border:1px solid rgba(255,71,87,.3);color:var(--danger);border-radius:var(--radius-sm);padding:.3rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-remove{color:var(--danger)!important}.membership-group{margin-bottom:1.75rem}.membership-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.membership-group-label{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary)}.add-small-btn{background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent-bright);border-radius:var(--radius-sm);padding:.22rem .7rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.add-small-btn:hover{background:var(--accent);color:#fff}.no-plans-msg{font-size:.78rem;color:var(--text-muted);padding:.5rem 0}.membership-card{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:.5rem;transition:var(--transition)}.membership-card:hover{border-color:var(--border-bright);background:var(--surface-2)}.inactive-card{opacity:.5}.mc-info{flex:1}.mc-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary)}.mc-price{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-top:.1rem}.mc-period{font-size:.7rem;color:var(--text-muted);font-family:var(--font-body);font-weight:400}.mc-desc{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.mc-actions{display:flex;align-items:center;gap:.6rem}.mc-badge{font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;letter-spacing:.04em}.mc-badge.active{background:var(--success-dim);color:var(--success)}.mc-badge.inactive{background:var(--surface-3);color:var(--text-muted)}.membership-edit-form{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.65rem}.active-toggle{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary);cursor:pointer}.active-toggle input{accent-color:var(--accent)}.edit-actions{display:flex;gap:.5rem;align-items:center}.btn-save{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.45rem 1.1rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:var(--transition)}.btn-save:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-sm)}.coaches-tab{display:flex;flex-direction:column;gap:.65rem}.coach-card{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;transition:var(--transition)}.coach-card:hover{border-color:var(--border-bright)}.coach-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.coach-info{flex:1}.coach-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary)}.coach-meta{display:flex;align-items:center;gap:.6rem;margin-top:.2rem}.belt-badge-small{font-size:.72rem;font-weight:600}.coach-role{font-size:.72rem;color:var(--text-muted);background:var(--surface-2);border-radius:20px;padding:.1rem .4rem}.coach-email{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.coach-classes{font-size:.72rem;color:var(--text-secondary);margin-top:.1rem}.coach-comp-badge{font-size:.55rem;font-weight:800;letter-spacing:.05em;background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.25);padding:.1rem .35rem;border-radius:20px}.coach-search-result{display:flex;align-items:center;gap:.6rem;padding:.55rem .5rem;border-radius:8px;transition:background .15s}.coach-search-result:hover{background:var(--surface-2)}.coach-promote-btn{margin-left:auto;padding:.35rem .8rem;font-size:.72rem;font-weight:600;cursor:pointer;border-radius:6px;white-space:nowrap;flex-shrink:0}.coach-search-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}.coach-search-info{flex:1;min-width:0}.forms-tab{display:flex;flex-direction:column;gap:1rem}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.form-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.form-card-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-primary)}.form-fields-list{padding:.5rem 0}.form-field-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1.25rem;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text-secondary)}.form-field-row:last-child{border-bottom:none}.req-badge{font-size:.65rem;font-weight:700;border-radius:20px;padding:.1rem .4rem}.req-badge.req{background:#ff47571a;color:var(--danger)}.req-badge.opt{background:var(--surface-3);color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.field-editor-modal{background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius-xl);padding:0;width:460px;max-width:95vw;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer}.modal-close:hover{color:var(--text-primary)}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.field-editor-list{padding:.5rem 1.5rem}.field-editor-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.field-editor-row:last-child{border-bottom:none}.fe-order{display:flex;flex-direction:column;gap:.2rem}.fe-order button{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-xs);width:22px;height:18px;font-size:.6rem;cursor:pointer;transition:var(--transition)}.fe-order button:hover:not(:disabled){color:var(--text-primary)}.fe-order button:disabled{opacity:.3;cursor:not-allowed}.fe-name{flex:1;font-size:.85rem;color:var(--text-primary)}.req-toggle{background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-muted);border-radius:20px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.req-toggle:hover{border-color:var(--border-accent);color:var(--text-primary)}.req-toggle.req{background:#ff47571a;border-color:#ff47574d;color:var(--danger)}.add-btn{background:var(--surface);border:1px dashed var(--border-bright);color:var(--text-muted);border-radius:var(--radius-lg);padding:.85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);width:100%;text-align:center}.add-btn:hover{border-color:var(--accent);color:var(--accent-bright);background:var(--accent-dim)}.gym-toast{position:fixed;top:1rem;right:1rem;z-index:9999;background:var(--surface-3);border:1px solid var(--border-bright);border-left:3px solid var(--success);border-radius:var(--radius);padding:.75rem 1.25rem;font-size:.85rem;color:var(--text-primary);box-shadow:var(--shadow-lg);animation:toast-in .22s ease-out}@media(max-width:1000px){.schedule-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.gym-page{padding:1rem}.schedule-grid{grid-template-columns:repeat(2,1fr)}.gym-form-row{grid-template-columns:1fr}.gym-recur-opts{display:flex;flex-direction:column}}.growth-tab{display:flex;flex-direction:column;gap:1rem}.growth-loading{padding:2rem;text-align:center;color:var(--text-muted)}.growth-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.82rem}.growth-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.growth-kpi{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.growth-kpi-active{border-left-color:var(--success)}.growth-kpi-frozen{border-left-color:var(--accent)}.growth-kpi-canceled{border-left-color:var(--danger)}.growth-kpi-net-pos{border-left-color:var(--success)}.growth-kpi-net-neg{border-left-color:var(--danger)}.growth-kpi-val{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.growth-kpi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.3rem}.growth-kpi-sub{font-size:.68rem;color:var(--text-muted);margin-top:.2rem}.growth-mid-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.growth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.growth-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.growth-card-title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem}.growth-card-header .growth-card-title{margin-bottom:0}.growth-year-tabs{display:flex;gap:.3rem}.growth-year-btn{background:transparent;border:1px solid var(--border-bright);color:var(--text-muted);border-radius:var(--radius-sm);padding:.2rem .6rem;font-size:.72rem;cursor:pointer;transition:var(--transition)}.growth-year-btn:hover{color:var(--text-primary);border-color:var(--border-accent)}.growth-year-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.growth-bar-chart{width:100%}.growth-bars{display:flex;align-items:flex-end;gap:6px;height:120px;padding-bottom:0}.growth-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.growth-bar-val{font-size:.6rem;color:var(--text-muted);min-height:14px}.growth-bar-track{flex:1;width:100%;background:var(--surface-2);border-radius:3px 3px 0 0;display:flex;align-items:flex-end;overflow:hidden}.growth-bar-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .4s ease;opacity:.85}.growth-bar-fill:hover{opacity:1}.growth-bar-label{font-size:.6rem;color:var(--text-muted);margin-top:4px}.growth-prog-list{display:flex;flex-direction:column;gap:0}.growth-prog-row{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.growth-prog-row:last-child{border-bottom:none}.growth-prog-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.growth-prog-name{font-size:.8rem;color:var(--text-secondary);width:60px;flex-shrink:0}.growth-prog-track{flex:1;height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.growth-prog-fill{height:100%;border-radius:3px;min-width:3px;transition:width .4s ease}.growth-prog-count{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--text-primary);width:22px;text-align:right;flex-shrink:0}.growth-funnel{display:flex;flex-direction:column;gap:.65rem}.growth-funnel-step{display:flex;align-items:center;gap:.85rem}.growth-funnel-meta{display:flex;justify-content:space-between;align-items:baseline;width:120px;flex-shrink:0}.growth-funnel-label{font-size:.78rem;color:var(--text-secondary);font-weight:600}.growth-funnel-pct{font-family:var(--font-heading);font-size:.82rem;font-weight:700}.growth-funnel-track{flex:1;height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.growth-funnel-fill{height:100%;border-radius:5px;min-width:3px;transition:width .5s ease;opacity:.9}.growth-funnel-count{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--text-primary);width:30px;text-align:right;flex-shrink:0}.growth-funnel-note{margin-top:.75rem;font-size:.78rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:.75rem}.growth-funnel-note strong{color:var(--success);font-family:var(--font-heading);font-size:.9rem}@media(max-width:800px){.growth-kpis{grid-template-columns:repeat(2,1fr)}.growth-mid-row{grid-template-columns:1fr}.form-card{margin-bottom:.75rem}}@media(max-width:768px){.page-content{padding:1rem}.growth-kpis{grid-template-columns:repeat(2,1fr);gap:.5rem}.growth-card,.form-card{padding:1rem}.form-2col,.schedule-grid{grid-template-columns:1fr}}@media(max-width:480px){.page-content{padding:.75rem}.growth-kpis{grid-template-columns:1fr}.growth-kpi{padding:.75rem}.growth-kpi-val{font-size:1.6rem}.growth-kpi-label{font-size:.6rem}.growth-mid-row{grid-template-columns:1fr}.growth-card{padding:.85rem;margin-bottom:.75rem}.form-card{padding:.85rem}.growth-prog-name{width:50px;font-size:.72rem}.growth-prog-count{width:18px;font-size:.75rem}.growth-funnel-meta{width:100px}.growth-funnel-label{font-size:.72rem}.growth-funnel-pct{font-size:.75rem}.growth-funnel-count{width:25px}.schedule-grid{grid-template-columns:1fr}.day-schedule{padding:.75rem}.class-row{flex-direction:column;gap:.5rem;align-items:flex-start}.class-time{width:100%}.form-2col,.form-3col{grid-template-columns:1fr}.form-field{margin-bottom:.75rem}}.gym-form-row:has(>:nth-child(3)){grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.gym-form-row{grid-template-columns:1fr!important}}.gym-coach-grid{display:flex;flex-wrap:wrap;gap:.4rem}.sched-filter-mobile{display:none}@media(max-width:768px){.sched-filter-desktop{display:none!important}.sched-filter-mobile{display:block;flex:1;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;padding:.625rem 2.5rem .625rem .875rem;border-radius:var(--radius-sm);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-height:44px;cursor:pointer}.schedule-toolbar{flex-wrap:wrap;gap:.5rem}.schedule-toolbar .btn-primary{white-space:nowrap;flex-shrink:0;width:100%;order:-1;text-align:center;justify-content:center;padding:.7rem 1rem;font-size:.9rem}.schedule-toolbar .sched-filter-mobile{width:100%}.schedule-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem}.schedule-class-card{padding:.6rem .75rem}.scc-time{font-size:.72rem}.scc-name{font-size:.82rem}.scc-edit-hint{font-size:.6rem}}@media(max-width:480px){.schedule-grid{grid-template-columns:1fr!important}}.growth-year-select-mobile{display:none}@media(max-width:768px){.growth-year-tabs-desktop{display:none!important}.growth-year-select-mobile{display:block;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);font-family:var(--font-body);font-size:.8rem;padding:.4rem 1.75rem .4rem .75rem;border-radius:var(--radius-sm);appearance:none;-webkit-appearance:none;min-height:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.growth-kpis{grid-template-columns:repeat(2,1fr)!important}.growth-kpi{padding:.875rem!important}.growth-kpi-val{font-size:1.8rem!important}.growth-mid-row{grid-template-columns:1fr!important}.growth-bars{height:90px!important;gap:3px}.growth-bar-val,.growth-bar-label{font-size:.5rem}.growth-card{padding:.875rem!important}.growth-card-header{flex-wrap:wrap;gap:.5rem}.growth-funnel{gap:.4rem}.funnel-stage{padding:.75rem!important}}@media(max-width:480px){.growth-kpis{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.memberships-tab{padding:0}.membership-group{margin-bottom:1rem}.membership-group-header{flex-wrap:wrap;gap:.5rem}.membership-card{flex-direction:column!important;gap:.75rem;align-items:flex-start!important}.mc-actions{width:100%;justify-content:space-between}.membership-edit-form{padding:1rem!important}.gym-form-row{grid-template-columns:1fr!important}.edit-actions{flex-wrap:wrap;gap:.5rem}.edit-actions button{flex:1;min-width:80px;text-align:center;justify-content:center}}@media(max-width:768px){.forms-tab{padding:0}.form-card{margin-bottom:.75rem}.form-card-header{flex-wrap:wrap;gap:.5rem}.form-field-row{font-size:.82rem;padding:.4rem .75rem}.field-editor-modal{width:95vw!important;max-width:95vw!important}.field-editor-row{flex-wrap:wrap;gap:.4rem}.fe-name{min-width:0;flex:1}}@media(max-width:768px){.coaches-tab{padding:0}.coach-card{flex-wrap:wrap;gap:.75rem}.coach-info{flex:1;min-width:0}.coach-name{font-size:.95rem}.coach-meta{flex-wrap:wrap;gap:.35rem}.coach-card .btn-remove{width:100%;text-align:center;justify-content:center;margin-left:0!important}}@media(max-width:768px){.gym-modal-overlay{align-items:flex-end!important;padding:0!important}.gym-modal{width:100vw!important;max-width:100vw!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;max-height:92vh;overflow-y:auto}.add-class-modal{width:100vw!important;max-width:100vw!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.overview-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.25rem}@media(max-width:768px){.overview-kpi-grid{grid-template-columns:repeat(2,1fr)}}.overview-kpi-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}.ov-kpi-icon{margin-bottom:.2rem}.ov-kpi-val{font-family:var(--font-heading);font-size:1.7rem;font-weight:800;line-height:1}.ov-kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.ov-kpi-sub{font-size:.68rem;color:var(--text-muted)}.ov-schedule-list{display:flex;flex-direction:column;gap:.5rem}.ov-sched-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.ov-sched-row:last-child{border-bottom:none}.ov-sched-count{font-size:.8rem;color:var(--text-secondary)}.ov-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:.75rem}@media(max-width:768px){.ov-program-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ov-program-grid{grid-template-columns:1fr 1fr}}.ov-prog-card{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.35rem}.ov-prog-header{margin-bottom:.2rem}.ov-prog-stat{display:flex;align-items:baseline;gap:.35rem}.ov-prog-num{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;line-height:1}.ov-prog-lbl{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ov-prog-track{height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;margin-top:.2rem}.ov-prog-fill{height:100%;border-radius:2px;min-width:4px;transition:width .4s ease}.ov-plan-grid{display:flex;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.ov-plan-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.2rem;text-align:center;flex:1;min-width:100px}.ov-plan-val{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;line-height:1;color:var(--text-primary)}.ov-plan-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:.25rem}.ov-plan-sub{font-size:.62rem;color:var(--text-muted);margin-top:.1rem}.schedule-list-view{display:flex;flex-direction:column;gap:0}.sched-list-day{padding:0}.sched-list-day-row{display:flex;align-items:flex-start;gap:1.5rem;padding:.75rem 0}.sched-list-day-name{width:100px;min-width:100px;font-weight:700;font-size:.85rem;color:var(--text-primary);padding-top:.35rem}.sched-list-day-classes{flex:1;display:flex;flex-direction:column;gap:.35rem}.sched-list-class{display:flex;align-items:center;gap:.75rem;padding:.4rem .6rem;border-radius:var(--radius-sm, 6px);transition:background .15s}.sched-list-class:hover{background:var(--surface-2)}.sched-list-time{font-size:.78rem;color:var(--text-muted);white-space:nowrap;min-width:120px}.sched-list-name{font-size:.85rem;font-weight:600;color:var(--text-primary);flex:1}.sched-list-coaches{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.sched-list-divider{height:1px;background:var(--border-subtle, #2a2a45);margin:0}@media(max-width:600px){.sched-list-day-row{flex-direction:column;gap:.25rem}.sched-list-day-name{width:auto;min-width:auto;padding-bottom:.15rem}.sched-list-time{min-width:100px;font-size:.72rem}.sched-list-class{gap:.5rem;flex-wrap:wrap}}.settings-page{padding:1.75rem 2rem;max-width:1440px}.st-loading{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);padding:3rem 0;font-size:.9rem}.st-section-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;border-bottom:1px solid var(--border);gap:0;margin-bottom:1.25rem;padding-bottom:0}.st-section-nav::-webkit-scrollbar{display:none}.st-mobile-section-select{display:none;margin-bottom:.75rem}.st-mobile-section-select select{width:100%;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-primary);padding:.6rem .75rem;font-size:.875rem;font-family:var(--font-body)}.st-nav-btn{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:0;background:transparent;border-bottom:2px solid transparent;padding:.65rem 1rem;white-space:nowrap;color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.st-nav-btn:hover{color:var(--text-primary)}.st-nav-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;background:transparent}.st-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.st-section-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.st-section-icon{width:34px;height:34px;background:var(--accent-dim);border:1px solid var(--accent-glow, var(--color-brand-tonal));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--accent-bright);flex-shrink:0}.st-section-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.st-section-desc{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;line-height:1.5}.st-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin-bottom:.875rem}.st-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.875rem}.st-field:last-of-type{margin-bottom:1rem}.st-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.st-input{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-primary);padding:.625rem .875rem;font-size:.875rem;font-family:var(--font-body);width:100%;transition:border-color .15s,box-shadow .15s;min-height:42px}.st-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow, var(--color-brand-dim));outline:none}.st-input.mono{font-family:var(--font-mono, monospace);font-size:.82rem;letter-spacing:.02em}.st-input.readonly{opacity:.6;cursor:default}.st-hint{font-size:.7rem;color:var(--text-muted);line-height:1.4}.st-toggle-section{margin:1rem 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.st-toggle-group-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:.6rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border)}.st-toggle{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.st-toggle:last-child{border-bottom:none}.st-toggle:hover{background:var(--white-alpha-2)}.st-toggle-track{width:40px;height:22px;border-radius:11px;background:var(--surface-3);border:1px solid var(--border-bright);position:relative;flex-shrink:0;transition:background .2s,border-color .2s}.st-toggle-track[data-on=true]{background:var(--accent);border-color:var(--accent)}.st-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px var(--black-alpha-30)}.st-toggle-track[data-on=true] .st-toggle-thumb{transform:translate(18px)}.st-toggle-text{flex:1;min-width:0}.st-toggle-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:block}.st-toggle-desc{font-size:.72rem;color:var(--text-muted);margin-top:.1rem;display:block}.st-save-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1.375rem;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);min-height:42px}.st-save-btn:hover:not(:disabled){background:var(--accent-hover)}.st-save-btn:disabled{opacity:.6;cursor:default}.st-save-btn.saved{background:var(--success)}.st-secondary-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1.125rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);min-height:42px}.st-secondary-btn:hover{background:var(--surface-3);color:var(--text-primary)}.st-secondary-btn:disabled{opacity:.5;cursor:default}.st-add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:transparent;border:1px dashed var(--border-bright);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:var(--transition);min-height:40px;width:100%;justify-content:center;margin-top:.5rem}.st-add-btn:hover{border-color:var(--accent);color:var(--accent-bright);background:var(--accent-dim)}.st-action-row{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);flex-wrap:wrap}.st-run-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .875rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--accent-bright);font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);min-height:36px}.st-run-btn:hover{background:var(--accent-dim)}.st-status-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.st-status-dot{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;padding:.3rem .75rem;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary)}.st-status-dot .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.st-status-dot.ok{border-color:var(--color-success-tonal);background:var(--color-success-dim)}.st-status-dot.ok .dot{background:var(--success);box-shadow:0 0 4px var(--success)}.st-status-dot.warn .dot{background:var(--warning)}.st-operator-status{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:.875rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.5rem}.ost-item{display:flex;flex-direction:column;gap:.1rem}.ost-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.ost-val{font-size:.9rem;font-weight:700;color:var(--text-primary)}.st-integrations-list{display:flex;flex-direction:column;gap:0;margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.st-integration-row{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.125rem;border-bottom:1px solid var(--border);gap:1rem}.st-integration-row:last-child{border-bottom:none}.st-int-name{font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.st-int-desc{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.st-int-keys{display:flex;flex-wrap:wrap;gap:.3rem}.st-key-chip{font-family:var(--font-mono, monospace);font-size:.65rem;padding:.15rem .5rem;background:var(--surface-3);border:1px solid var(--border-bright);border-radius:4px;color:var(--text-secondary)}.st-int-action{flex-shrink:0;padding-top:2px}.st-info-block{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.78rem;color:var(--text-muted);line-height:1.5;margin-top:1rem}.st-info-block code{font-family:var(--font-mono, monospace);font-size:.72rem;color:var(--accent-bright);background:var(--surface-3);padding:.1rem .35rem;border-radius:3px}.st-sync-msg{margin-top:.75rem;font-size:.82rem;color:var(--success)}.st-staff-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:.5rem}.st-staff-row{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background .1s}.st-staff-row:last-child{border-bottom:none}.st-staff-row:hover{background:var(--surface-2)}.st-staff-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-glow, var(--color-brand-tonal));display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--accent-bright);flex-shrink:0}.st-staff-info{flex:1;min-width:0}.st-staff-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.st-staff-email{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-staff-last{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.st-role-badge{font-size:.62rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;text-transform:capitalize;letter-spacing:.04em;flex-shrink:0}.st-role-badge.role-admin{background:var(--accent-dim);color:var(--accent-bright)}.st-role-badge.role-manager{background:var(--color-warning-dim);color:var(--color-warning)}.st-role-badge.role-staff{background:var(--surface-3);color:var(--text-secondary)}.st-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);flex-shrink:0}.st-remove-btn:hover{color:var(--danger);background:var(--danger-dim)}.st-add-staff-form{margin-top:1rem;padding:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.st-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:.75rem 1.25rem;font-size:.875rem;color:var(--text-primary);box-shadow:var(--shadow-lg);z-index:9999}.st-empty{color:var(--text-muted);font-size:.85rem;padding:1rem 0}.stripe-connect-box{background:var(--surface-2);border:2px dashed var(--border-bright);border-radius:var(--radius-lg);padding:1.5rem;text-align:center}.stripe-connect-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:#635bff;border:none;border-radius:var(--radius-sm);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition);min-height:44px;font-family:var(--font-body)}.stripe-connect-btn:hover:not(:disabled){background:#5a52d5;box-shadow:0 4px 12px #635bff4d}.stripe-connect-btn:disabled{opacity:.6;cursor:default}.stripe-connect-status{background:var(--success-dim);border:1px solid var(--color-success-tonal);border-radius:var(--radius-lg);padding:1.25rem}@media(max-width:1100px){.settings-page{padding:1.25rem 1rem}.st-section-nav{-webkit-overflow-scrolling:touch}.st-nav-btn{padding:.6rem .75rem;font-size:.8rem}}@media(max-width:600px){.settings-page{padding:1rem}.st-section-nav{display:none}.st-mobile-section-select{display:block}.st-section{padding:1rem}.st-grid-2{grid-template-columns:1fr!important}.st-action-row{flex-direction:column;align-items:stretch}.st-save-btn,.st-secondary-btn{width:100%;justify-content:center}.st-integration-row{flex-direction:column;gap:.5rem}.st-staff-row{flex-wrap:wrap}.st-staff-last{display:none}.st-operator-status{gap:.75rem}.st-toast{right:1rem;left:1rem;text-align:center}}@media(max-width:480px){.st-section-header{gap:.625rem}.st-section-icon{width:28px;height:28px}}.st-import-preview{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--surface-2);border-radius:6px;font-size:.82rem;color:var(--text);margin-top:.5rem}.st-import-result{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.st-import-stat{display:flex;flex-direction:column;align-items:center;padding:.6rem 1rem;border-radius:7px;min-width:70px;font-size:.78rem;font-weight:600}.st-import-stat.success{background:var(--color-success-dim);color:var(--success)}.st-import-stat.updated{background:#6366f11a;color:var(--accent)}.st-import-stat.skipped{background:var(--surface-2);color:var(--text-muted)}.st-import-stat.error{background:var(--color-error-dim);color:var(--danger)}.st-import-num{font-size:1.5rem;font-weight:800;line-height:1;margin-bottom:.15rem}.transfer-mode-card{background:var(--card-bg, #1a1a2e);border:2px solid var(--border, #333);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;transition:border-color .2s}.transfer-mode-card.active{border-color:var(--color-warning);background:var(--color-warning-dim)}.transfer-mode-status{margin-bottom:1rem}.transfer-mode-indicator{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.transfer-dot{width:12px;height:12px;border-radius:50%;background:#6b7280;display:inline-block}.transfer-dot.on{background:var(--color-warning);box-shadow:0 0 8px var(--color-warning-tonal);animation:pulse-amber 2s infinite}@keyframes pulse-amber{0%,to{box-shadow:0 0 4px var(--color-warning-dim)}50%{box-shadow:0 0 12px var(--color-warning-tonal)}}.transfer-mode-label{font-weight:700;font-size:1rem}.transfer-mode-desc{color:var(--text-muted, #888);font-size:.85rem;line-height:1.4;margin:0}.st-toggle-big{padding:.75rem 1.5rem;border-radius:8px;border:2px solid var(--border, #333);background:var(--card-bg, #1a1a2e);color:var(--text, #f0f0f0);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s}.st-toggle-big:hover{border-color:#667eea}.st-toggle-big.danger{border-color:var(--color-warning);color:var(--color-warning)}.st-toggle-big.danger:hover{background:var(--color-warning-dim)}.transfer-confirm-overlay{position:fixed;inset:0;z-index:1000;background:var(--black-alpha-60);display:flex;align-items:center;justify-content:center;padding:1rem}.transfer-confirm-modal{background:var(--card-bg, #1a1a2e);border:2px solid var(--color-warning);border-radius:12px;padding:1.5rem;max-width:440px;width:100%}.transfer-confirm-modal h3{margin:0 0 .75rem;font-size:1.1rem}.transfer-confirm-modal p{color:var(--text-muted);font-size:.85rem;margin:0 0 .5rem}.transfer-confirm-modal ul{margin:.5rem 0 1rem;padding-left:1.25rem;color:var(--text);font-size:.85rem}.transfer-confirm-modal li{margin-bottom:.25rem}.transfer-confirm-btns{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.st-save-btn.danger{background:#dc2626;border-color:#dc2626}.st-save-btn.danger:hover{background:#b91c1c}.transfer-clear-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border, #333)}.transfer-data-counts{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.count-chip{background:var(--card-bg, #1a1a2e);border:1px solid var(--border, #333);border-radius:8px;padding:.5rem 1rem;font-size:.85rem;color:var(--text)}.count-chip strong{color:#667eea;font-size:1.1rem;margin-right:.25rem}.transfer-clear-warning{background:var(--color-error-dim);border:1px solid var(--color-error-tonal);border-radius:8px;padding:1rem}.transfer-clear-warning p{color:var(--text-muted);font-size:.85rem;margin:0 0 1rem}.transfer-clear-input{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.transfer-clear-input label{font-size:.85rem;white-space:nowrap}.transfer-clear-done{text-align:center;padding:2rem 1rem}.clear-success-icon{font-size:2.5rem;margin-bottom:.5rem}.transfer-clear-done h3{margin:0 0 .5rem;color:#22c55e}.transfer-clear-done p{color:var(--text-muted);font-size:.85rem}@media(max-width:480px){.transfer-confirm-btns{flex-direction:column}.transfer-confirm-btns .st-save-btn,.transfer-confirm-btns .st-secondary-btn{width:100%;justify-content:center}}.comm-pref-section{margin-top:.5rem}.comm-pref-options{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.comm-pref-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:2px solid var(--border, #333);border-radius:8px;background:var(--card-bg, #1a1a2e);color:var(--text);cursor:pointer;transition:all .15s;font-size:.85rem}.comm-pref-btn:hover{border-color:#667eea}.comm-pref-btn.selected{border-color:#667eea;background:var(--color-brand-dim);color:#667eea;font-weight:600}.wiz-stepper{display:flex;align-items:center;gap:0;margin-bottom:1.5rem;padding:0 .25rem}.wiz-step{display:flex;align-items:center;gap:.4rem;flex:1;position:relative}.wiz-step:not(:last-child):after{content:"";flex:1;height:2px;background:var(--border, #333);margin-left:.5rem}.wiz-step.done:not(:last-child):after{background:var(--accent, #667eea)}.wiz-step-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:var(--surface-2, #1a1a2e);color:var(--text-muted, #888);border:2px solid var(--border, #333);flex-shrink:0;transition:all .2s}.wiz-step.active .wiz-step-dot{background:var(--accent, #667eea);color:#fff;border-color:var(--accent, #667eea);box-shadow:0 0 0 3px var(--color-brand-tonal)}.wiz-step.done .wiz-step-dot{background:var(--accent, #667eea);color:#fff;border-color:var(--accent, #667eea)}.wiz-step-label{font-size:.72rem;font-weight:500;color:var(--text-muted, #888);white-space:nowrap}.wiz-step.active .wiz-step-label{color:var(--text-primary, var(--color-text-primary));font-weight:600}.wiz-step.done .wiz-step-label{color:var(--accent, #667eea)}.wiz-mobile-step-label{display:none}@media(max-width:500px){.wiz-step-label{display:none}.wiz-mobile-step-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-align:center}}.wiz-panel{animation:wizFadeIn .2s ease}@keyframes wizFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wiz-title{font-size:1.05rem;font-weight:700;color:var(--text-primary, var(--color-text-primary));margin-bottom:.35rem}.wiz-subtitle{font-size:.8rem;color:var(--text-muted, #888);margin-bottom:1.25rem;line-height:1.5}.wiz-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.wiz-loading{display:flex;align-items:center;gap:.6rem;padding:2rem 0;justify-content:center;font-size:.9rem;color:var(--text-muted, #888)}.wiz-sources{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:768px){.wiz-sources{grid-template-columns:repeat(2,1fr)}}.wiz-source-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem .75rem;background:var(--surface-2, #1a1a2e);border:2px solid var(--border, #333);border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .15s;position:relative}.wiz-source-card:hover:not(.disabled){border-color:var(--accent, #667eea);background:var(--color-brand-dim)}.wiz-source-card.selected{border-color:var(--accent, #667eea);background:var(--color-brand-dim);box-shadow:0 0 0 3px var(--color-brand-dim)}.wiz-source-card.disabled{opacity:.4;cursor:not-allowed}.wiz-source-icon{font-size:1.75rem}.wiz-source-name{font-size:.85rem;font-weight:700;color:var(--text-primary, var(--color-text-primary))}.wiz-source-desc{font-size:.68rem;color:var(--text-muted, #888);text-align:center;line-height:1.4}.wiz-source-badge{position:absolute;top:6px;right:6px;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--surface-1, #12122a);color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.04em}.gd-files-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media(max-width:640px){.gd-files-grid{grid-template-columns:1fr}}.gd-file-picker{padding:.75rem .85rem;background:var(--surface-2, #1a1a2e);border:1px solid var(--border, #333);border-radius:var(--radius-sm, 8px);display:flex;flex-direction:column;gap:.4rem;transition:border-color .15s}.gd-file-picker.has-file{border-color:var(--color-brand-tonal-hover)}.gd-file-header{display:flex;align-items:center;gap:.5rem}.gd-file-emoji{font-size:1rem}.gd-file-info{display:flex;flex-direction:column}.gd-file-label{font-size:.8rem;font-weight:600;color:var(--text-primary, var(--color-text-primary))}.gd-required{color:#ef4444;margin-left:3px}.gd-file-hint{font-size:.68rem;color:var(--text-muted, #888);margin-top:1px}.gd-file-preview{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-secondary, #aaa);padding:.35rem .5rem;background:var(--color-brand-dim);border:1px solid var(--color-brand-dim);border-radius:6px}.gd-file-preview strong{color:var(--accent, #667eea);margin-left:auto}.gd-file-preview svg{color:var(--success, #22c55e);flex-shrink:0}.gd-file-remove{background:none;border:none;cursor:pointer;color:var(--text-muted, #888);padding:2px;display:flex;align-items:center;margin-left:.25rem;border-radius:4px;transition:color .15s}.gd-file-remove:hover{color:#ef4444}.wiz-cutoffs{display:flex;flex-direction:column;gap:.65rem}.wiz-cutoff-row{display:flex;align-items:center;gap:.7rem;padding:.6rem .85rem;background:var(--surface-2, #1a1a2e);border-radius:var(--radius-sm, 8px);border:1px solid var(--border, #333);flex-wrap:wrap}.wiz-cutoff-row.static{opacity:.7}.wiz-cutoff-emoji{font-size:1rem;flex-shrink:0}.wiz-cutoff-name{font-size:.82rem;font-weight:600;color:var(--text-primary, var(--color-text-primary));min-width:120px}.wiz-cutoff-value{font-size:.78rem;color:var(--text-muted, #888);margin-left:auto}.wiz-cutoff-pills{display:flex;gap:.3rem;margin-left:auto;flex-wrap:wrap}.wiz-pill{padding:.3rem .7rem;font-size:.72rem;font-weight:500;border-radius:100px;border:1px solid var(--border, #333);background:transparent;color:var(--text-muted, #888);cursor:pointer;transition:all .12s}.wiz-pill:hover{border-color:var(--accent, #667eea);color:var(--text-primary, var(--color-text-primary))}.wiz-pill.active{background:var(--accent, #667eea);color:#fff;border-color:var(--accent, #667eea);font-weight:600}.wiz-preview-grid{display:flex;flex-direction:column;gap:.4rem}.wiz-preview-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;background:var(--surface-2, #1a1a2e);border-radius:var(--radius-sm, 8px);border:1px solid var(--border, #333)}.wiz-preview-emoji{font-size:1rem;flex-shrink:0}.wiz-preview-label{font-size:.82rem;font-weight:500;color:var(--text-primary, var(--color-text-primary));min-width:140px}.wiz-preview-count{margin-left:auto;font-size:.82rem;color:var(--text-secondary, #aaa)}.wiz-preview-count strong{color:var(--accent, #667eea);font-size:.95rem}.wiz-preview-filter{font-size:.7rem;color:var(--text-muted, #888)}.wiz-preview-total{margin-top:.75rem;padding:.85rem 1rem;background:var(--color-brand-dim);border:1px solid var(--color-brand-tonal);border-radius:var(--radius-sm, 8px);font-size:.9rem;color:var(--text-primary, var(--color-text-primary));text-align:center}.wiz-preview-total strong{color:var(--accent, #667eea);font-size:1.15rem}.wiz-import-btn{padding:.6rem 1.5rem!important;font-size:.9rem!important}.gd-warning{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem 1rem;background:var(--color-warning-dim);border:1px solid var(--color-warning-tonal);border-radius:var(--radius-sm, 8px);font-size:.78rem;color:#eab308;line-height:1.5}.gd-warning svg{flex-shrink:0;margin-top:2px}.wiz-result-hero{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0 1.25rem}.wiz-result-check{width:52px;height:52px;border-radius:50%;background:var(--success, #22c55e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;margin-bottom:.75rem;box-shadow:0 0 0 6px var(--color-success-tonal)}.wiz-result-headline{font-size:1.3rem;font-weight:800;color:var(--text-primary, var(--color-text-primary))}.wiz-result-subtext{font-size:.9rem;color:var(--text-muted, #888);margin-top:.2rem}.gd-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}@media(max-width:500px){.gd-result-grid{grid-template-columns:repeat(2,1fr)}}.gd-result-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.65rem .5rem;border-radius:var(--radius-sm, 8px);background:var(--surface-2, #1a1a2e);border:1px solid var(--border, #333)}.gd-result-emoji{font-size:1.1rem}.gd-result-num{font-size:1.35rem;font-weight:800;color:var(--text-primary, var(--color-text-primary))}.gd-result-label{font-size:.68rem;color:var(--text-muted, #888);text-align:center}.wiz-error{padding:1.5rem 0;text-align:center;color:var(--text-muted, #888)}.phone-connect-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius, 12px);padding:1.25rem 1.5rem;margin-top:.5rem}.phone-connect-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.phone-connect-icon{width:40px;height:40px;border-radius:var(--radius-sm, 8px);background:var(--color-success-tonal);border:1px solid var(--color-success-tonal);display:flex;align-items:center;justify-content:center;color:#22c55e;flex-shrink:0}.phone-connect-info{flex:1}.phone-connect-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.phone-connect-desc{font-size:.78rem;color:var(--text-muted);margin-top:3px;line-height:1.5}.phone-connect-form{display:flex;flex-direction:column;gap:.25rem}.phone-key-input{position:relative;display:flex;align-items:center}.phone-key-input .st-input{padding-right:2.75rem}.phone-key-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s}.phone-key-toggle:hover{color:var(--text-primary)}.phone-connect-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;background:#22c55e;color:#fff;border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:var(--transition);align-self:flex-start;min-height:42px}.phone-connect-btn:hover:not(:disabled){background:#16a34a;box-shadow:0 4px 12px var(--color-success-tonal)}.phone-connect-btn:disabled{opacity:.6;cursor:not-allowed}.phone-hint{font-size:.73rem;color:var(--text-muted);margin-top:1rem;line-height:1.5}.phone-connected-card{background:var(--surface-2);border:1px solid var(--color-success-tonal);border-radius:var(--radius, 12px);padding:1.25rem 1.5rem;margin-top:.5rem}.phone-connected-status{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.phone-connected-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e;flex-shrink:0}.phone-connected-info{flex:1}.phone-connected-number{font-size:.95rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono, monospace);letter-spacing:.02em}.phone-connected-meta{font-size:.75rem;color:var(--text-muted);margin-top:2px}.phone-connected-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.phone-disconnect-btn{padding:.4rem .8rem;font-size:.78rem;font-weight:500;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.phone-disconnect-btn:hover{border-color:var(--color-error-tonal);color:var(--danger);background:var(--danger-dim)}.phone-disconnect-btn:disabled{opacity:.5;cursor:not-allowed}.phone-test-result{display:flex;align-items:center;gap:.5rem;margin-top:.875rem;padding:.6rem .875rem;border-radius:var(--radius-sm, 8px);font-size:.78rem;line-height:1.4}.phone-test-result.sent{background:var(--color-success-dim);border:1px solid var(--color-success-tonal);color:#22c55e}.phone-test-result.simulated{background:var(--color-warning-dim);border:1px solid var(--color-warning-tonal);color:var(--color-warning)}@media(max-width:600px){.phone-connect-card,.phone-connected-card{padding:1rem}.phone-connect-btn{width:100%;justify-content:center}.phone-connected-actions{flex-direction:column;align-items:stretch}.phone-connected-actions .st-run-btn,.phone-disconnect-btn{width:100%;justify-content:center}}.admin-leads-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.admin-leads-page .page-header{display:flex;align-items:center;justify-content:space-between}.leads-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.leads-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;position:relative}.leads-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.leads-stat-card.blue:before{background:var(--accent)}.leads-stat-card.green:before{background:var(--success)}.leads-stat-card.purple:before{background:#8c52ff}.leads-stat-card.amber:before{background:var(--warning)}.leads-stat-icon{color:var(--text-muted);margin-bottom:.4rem}.leads-stat-val{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.1}.leads-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.2rem}.leads-filter-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.leads-filter-tabs::-webkit-scrollbar{display:none}.leads-filter-tab{padding:.45rem .875rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;gap:.35rem}.leads-filter-tab:hover{color:var(--text-primary);border-color:var(--border-bright);background:var(--surface-2)}.leads-filter-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright);font-weight:600}.leads-filter-tab .tab-count{background:var(--white-alpha-8);border-radius:10px;padding:0 .35rem;font-size:.65rem;min-width:18px;text-align:center}.leads-filter-tab.active .tab-count{background:var(--accent-dim)}.leads-mobile-filter{display:none}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:.68rem;font-weight:600;letter-spacing:.02em}.source-badge.fb{background:var(--color-brand-dim);color:#5b9bf5;border:1px solid var(--color-brand-tonal)}.source-badge.manual{background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border)}.source-badge.website{background:var(--success-dim);color:var(--success);border:1px solid var(--color-success-tonal)}.lead-status-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.lead-status-chip .chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.lead-status-chip.status-new{background:var(--color-brand-tonal);color:var(--color-brand)}.lead-status-chip.status-new .chip-dot{background:var(--color-brand)}.lead-status-chip.status-sms_sent{background:var(--color-warning-tonal);color:#fbbf24}.lead-status-chip.status-sms_sent .chip-dot{background:#fbbf24}.lead-status-chip.status-replied{background:var(--color-brand-tonal);color:#a78bfa}.lead-status-chip.status-replied .chip-dot{background:#a78bfa}.lead-status-chip.status-trial_booked{background:var(--color-warning-dim);color:orange}.lead-status-chip.status-trial_booked .chip-dot{background:orange}.lead-status-chip.status-showed{background:var(--color-success-tonal);color:#00d4aa}.lead-status-chip.status-showed .chip-dot{background:#00d4aa}.lead-status-chip.status-no_show{background:var(--color-error-tonal);color:#ff6b7a}.lead-status-chip.status-no_show .chip-dot{background:#ff6b7a}.lead-status-chip.status-member{background:var(--color-success-dim);color:#00a878}.lead-status-chip.status-member .chip-dot{background:#00a878}.lead-status-chip.status-dead{background:#4a556826;color:#718096}.lead-status-chip.status-dead .chip-dot{background:#718096}.leads-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.leads-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:700px}.leads-table thead th{padding:.7rem 1rem;text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface-2)}.leads-table thead th:first-child{border-radius:var(--radius-lg) 0 0 0}.leads-table thead th:last-child{border-radius:0 var(--radius-lg) 0 0}.leads-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s ease;cursor:pointer}.leads-table tbody tr:hover{background:var(--surface-2)}.leads-table tbody tr:last-child{border-bottom:none}.leads-table td{padding:.7rem 1rem;color:var(--text-primary);vertical-align:middle}.leads-table .lead-name{font-weight:600;color:var(--text-primary)}.leads-table .lead-phone{font-size:.8rem;color:var(--text-secondary);font-family:var(--font-body)}.leads-table .lead-contact-date{font-size:.78rem;color:var(--text-muted)}.leads-table .lead-actions{display:flex;align-items:center;gap:.35rem}.lead-action-btn{padding:.3rem .6rem;font-size:.72rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.lead-action-btn:hover{border-color:var(--border-bright);color:var(--text-primary);background:var(--surface-3)}.lead-action-btn.sms{border-color:var(--color-brand-tonal-hover);color:var(--accent-bright)}.lead-action-btn.sms:hover{background:var(--accent-dim);border-color:var(--accent)}.lead-action-btn.trial{border-color:var(--color-success-tonal);color:var(--success)}.lead-action-btn.trial:hover{background:var(--success-dim);border-color:var(--success)}.lead-kebab-btn{padding:.25rem .4rem;font-size:.85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:var(--transition);line-height:1}.lead-kebab-btn:hover{background:var(--surface-3);color:var(--text-primary)}.leads-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.leads-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.leads-empty-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.leads-empty-desc{font-size:.8rem}.lead-drawer-overlay{position:fixed;inset:0;background:#080c14b3;z-index:var(--z-overlay, 300);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.lead-drawer-overlay.open{opacity:1;visibility:visible}.lead-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,90vw);background:var(--surface);border-left:1px solid var(--border);z-index:var(--z-modal, 400);transform:translate(100%);transition:transform .28s cubic-bezier(.2,0,0,1);display:flex;flex-direction:column;overflow:hidden}.lead-drawer.open{transform:translate(0)}.lead-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.lead-drawer-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1.2}.lead-drawer-contact{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem;font-size:.8rem;color:var(--text-secondary)}.lead-drawer-contact-item{display:flex;align-items:center;gap:4px}.lead-drawer-close{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:.35rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.lead-drawer-close:hover{color:var(--text-primary);border-color:var(--border-bright)}.lead-drawer-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.lead-drawer-section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.lead-drawer-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:6px}.lead-status-select{width:100%;padding:.45rem .75rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;transition:var(--transition)}.lead-status-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--color-brand-glow)}.lead-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:1.25rem}.lead-timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--border-bright)}.lead-timeline-item{position:relative;padding:.5rem 0 .5rem .75rem}.lead-timeline-dot{position:absolute;left:-1.25rem;top:.7rem;width:10px;height:10px;border-radius:50%;background:var(--surface-3);border:2px solid var(--border-bright);z-index:1}.lead-timeline-dot.sms{border-color:var(--accent);background:var(--accent-dim)}.lead-timeline-dot.status{border-color:var(--warning);background:var(--warning-dim)}.lead-timeline-dot.note{border-color:var(--text-muted);background:var(--surface-3)}.lead-timeline-dot.email{border-color:#8c52ff;background:var(--color-brand-tonal)}.lead-timeline-event{font-size:.8rem;color:var(--text-primary);font-weight:500}.lead-timeline-detail{font-size:.75rem;color:var(--text-muted);margin-top:2px;line-height:1.4}.lead-timeline-date{font-size:.68rem;color:var(--text-muted);margin-top:2px}.lead-timeline-empty{font-size:.8rem;color:var(--text-muted);padding:.5rem 0;font-style:italic}.lead-date-received{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.lead-drawer-status-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.lead-drawer-received{font-size:.72rem;color:var(--text-muted)}.lead-message-buttons{display:flex;gap:.5rem;margin-bottom:.5rem}.lead-msg-btn{flex:1;padding:.45rem .75rem;font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-3);color:var(--text-secondary);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:6px}.lead-msg-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.lead-msg-btn.sms.active{border-color:var(--accent);color:var(--accent-bright);background:var(--accent-dim)}.lead-msg-btn.email.active{border-color:#8c52ff;color:#a78bfa;background:var(--color-brand-dim)}.lead-compose-area{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.lead-sms-textarea{width:100%;min-height:70px;padding:.6rem .75rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;resize:vertical;transition:var(--transition)}.lead-sms-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--color-brand-glow)}.lead-sms-textarea::placeholder{color:var(--text-muted)}.lead-email-subject{width:100%;padding:.45rem .75rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;transition:var(--transition)}.lead-email-subject:focus{outline:none;border-color:#8c52ff;box-shadow:0 0 0 2px var(--color-brand-tonal)}.lead-email-subject::placeholder{color:var(--text-muted)}.lead-compose-send{align-self:flex-end;padding:.4rem 1rem;font-size:.8rem;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px}.lead-compose-send:hover{background:var(--accent-hover)}.lead-compose-send.email{background:#8c52ff}.lead-compose-send.email:hover{background:#7a45e6}.lead-compose-send:disabled{opacity:.5;cursor:not-allowed}.lead-notes-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;max-height:180px;overflow-y:auto}.lead-note-entry{font-size:.8rem;color:var(--text-primary);line-height:1.45;padding:.35rem .5rem;background:var(--surface-3);border-radius:var(--radius-sm);border-left:2px solid var(--border-bright);display:flex;flex-direction:column;gap:2px}.lead-note-ts{font-size:.68rem;color:var(--text-muted);font-weight:600;display:block}.lead-note-text{color:var(--text-primary);display:block}.lead-note-compose{display:flex;flex-direction:column;gap:.5rem}.lead-note-textarea{width:100%;min-height:50px;padding:.5rem .75rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;resize:vertical;transition:var(--transition)}.lead-note-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--color-brand-glow)}.lead-note-textarea::placeholder{color:var(--text-muted)}.lead-note-add{align-self:flex-end;padding:.4rem .75rem;font-size:.78rem;font-weight:600;background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;display:flex;align-items:center;gap:4px}.lead-note-add:hover{background:var(--surface-4);color:var(--text-primary)}.lead-note-add:disabled{opacity:.5;cursor:not-allowed}.lead-timeline-dot.arrival{border-color:var(--success);background:var(--success-dim)}.lead-timeline-dot.reply{border-color:#8c52ff;background:var(--color-brand-tonal)}.lead-timeline-content{display:flex;flex-direction:column}.lead-drawer-actions{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.lead-drawer-btn{padding:.55rem 1rem;font-size:.82rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.lead-drawer-btn.primary{background:var(--success);color:#fff;border-color:var(--success)}.lead-drawer-btn.primary:hover{background:#00d4aa}.lead-drawer-btn.danger{background:transparent;color:var(--text-muted);border-color:var(--border)}.lead-drawer-btn.danger:hover{color:var(--danger);border-color:var(--color-error-tonal);background:var(--danger-dim)}.lead-drawer-btn:disabled{opacity:.5;cursor:not-allowed}.fb-integration-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-top:.5rem}.fb-integration-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.fb-integration-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-brand-dim);border:1px solid var(--color-brand-tonal);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.fb-integration-info{flex:1}.fb-integration-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.fb-integration-desc{font-size:.78rem;color:var(--text-muted);margin-top:2px}.fb-connect-btn{padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;background:#1877f2;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:8px}.fb-connect-btn:hover{background:#1565d8}.fb-connect-btn:disabled{opacity:.6;cursor:not-allowed}.fb-connected-status{display:flex;align-items:center;gap:.75rem}.fb-connected-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);flex-shrink:0}.fb-connected-info{flex:1}.fb-connected-page{font-size:.9rem;font-weight:600;color:var(--text-primary)}.fb-connected-meta{font-size:.75rem;color:var(--text-muted);margin-top:2px}.fb-disconnect-btn{padding:.4rem .8rem;font-size:.78rem;font-weight:500;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.fb-disconnect-btn:hover{border-color:var(--color-error-tonal);color:var(--danger);background:var(--danger-dim)}.fb-hint{font-size:.73rem;color:var(--text-muted);margin-top:.75rem;line-height:1.5}.kebab-menu-wrap{position:relative}.kebab-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface-3);border:1px solid var(--border-bright);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:140px;z-index:var(--z-dropdown, 100);padding:4px 0}.kebab-dropdown-item{display:flex;align-items:center;gap:8px;padding:.45rem .75rem;font-size:.8rem;color:var(--text-secondary);background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:var(--transition)}.kebab-dropdown-item:hover{background:var(--surface-4);color:var(--text-primary)}.kebab-dropdown-item.danger{color:var(--danger)}.kebab-dropdown-item.danger:hover{background:var(--danger-dim)}.private-class-details{display:flex;flex-direction:column;gap:.15rem}.pc-detail{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.pc-detail strong{color:var(--text-primary);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;margin-right:.25rem}.pc-notes{color:var(--text-muted);font-size:.75rem;font-style:italic}.lead-email-sub{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}@media(max-width:900px){.admin-leads-page{padding:1.25rem 1rem}.admin-leads-page .page-header{flex-wrap:wrap;gap:.5rem}.leads-stats-bar{grid-template-columns:repeat(2,1fr);gap:.5rem}.leads-stat-val{font-size:1.5rem}.leads-filter-tabs{display:none}.leads-mobile-filter{display:block;margin-bottom:1rem}.leads-mobile-filter select{width:100%;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;-webkit-appearance:none}.leads-table{min-width:0}.leads-table th:nth-child(5),.leads-table td:nth-child(5),.leads-table th:nth-child(6),.leads-table td:nth-child(6){display:none}.lead-drawer{width:100vw}.lead-drawer-header,.lead-drawer-body,.lead-drawer-actions{padding:1rem 1.25rem}}@media(max-width:480px){.admin-leads-page{padding:.875rem}.admin-leads-page .page-header h1{font-size:1.1rem}.leads-stats-bar{grid-template-columns:1fr 1fr;gap:.4rem}.leads-stat-card{padding:.65rem .75rem}.leads-stat-val{font-size:1.25rem}.leads-stat-label{font-size:.6rem}.leads-table th:nth-child(2),.leads-table td:nth-child(2),.leads-table th:nth-child(3),.leads-table td:nth-child(3){display:none}.leads-table td{padding:.55rem .65rem;font-size:.8rem}.leads-table thead th{padding:.55rem .65rem}.lead-actions{flex-direction:column;gap:.25rem!important}.lead-action-btn{padding:.3rem .5rem;font-size:.68rem;justify-content:center;width:100%}.lead-kebab-btn{width:100%}.lead-drawer-header{padding:.875rem 1rem}.lead-drawer-name{font-size:1.1rem}.lead-drawer-body{padding:.875rem 1rem}.lead-drawer-section{padding:.75rem .875rem}.lead-drawer-actions{padding:.875rem 1rem}.lead-message-buttons{flex-direction:column}.lead-sms-textarea{min-height:60px;font-size:.8rem}.lead-note-textarea{min-height:40px;font-size:.8rem}.lead-compose-send,.lead-note-add{width:100%;justify-content:center}}.rte-container{border:1px solid var(--border-bright);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);transition:border-color var(--duration-normal) var(--ease-out)}.rte-container:focus-within{border-color:var(--accent)}.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:.4rem;background:var(--surface-3);border-bottom:1px solid var(--border)}.rte-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:var(--transition);padding:0;font-size:.8rem}.rte-btn:hover{background:var(--surface-4);color:var(--text-primary)}.rte-btn--active{background:var(--accent-dim);color:var(--accent-bright)}.rte-separator{width:1px;height:20px;background:var(--border-bright);margin:0 4px;align-self:center}.rte-editor{min-height:180px;max-height:400px;overflow-y:auto;padding:.85rem 1rem;color:var(--text-primary);font-size:.875rem;line-height:1.65;font-family:var(--font-body);outline:none}.rte-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.rte-editor p{margin-bottom:.75rem;line-height:1.6;color:var(--text-secondary);font-size:.875rem}.rte-editor h2{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin:1.25rem 0 .5rem;color:var(--text-primary)}.rte-editor strong,.rte-editor b{font-weight:700;color:var(--text-primary)}.rte-editor em,.rte-editor i{font-style:italic}.rte-editor u{text-decoration:underline}.rte-editor a{color:var(--accent-bright);text-decoration:none;transition:var(--transition)}.rte-editor a:hover{text-decoration:underline}.rte-editor ul,.rte-editor ol{padding-left:1.5rem;margin-bottom:.75rem}.rte-editor li{margin-bottom:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.rte-editor img{max-width:100%;border-radius:var(--radius-sm);margin:.75rem 0}.rte-editor blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:.75rem 0;color:var(--text-muted);font-style:italic}.ann-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.ann-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ann-page-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.ann-btn-new{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.ann-btn-new:hover{background:var(--accent-bright);box-shadow:var(--glow-sm)}.ann-btn-submit,.ann-btn-save{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.ann-btn-submit:hover,.ann-btn-save:hover{background:var(--accent-bright)}.ann-btn-cancel{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition)}.ann-btn-cancel:hover{color:var(--text-primary);border-color:var(--border-bright);background:var(--surface-2)}.ann-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);flex-shrink:0}.ann-btn-icon:hover{color:var(--text-primary);border-color:var(--border-bright);background:var(--surface-2)}.ann-btn-icon--pin:hover{color:var(--warning);border-color:var(--warning)}.ann-btn-icon--pin-active{color:var(--warning);border-color:var(--warning);background:#ffb40014}.ann-btn-icon--edit:hover{color:var(--accent-bright);border-color:var(--accent)}.ann-btn-icon--delete:hover{color:var(--danger);border-color:var(--danger)}.ann-btn-confirm-delete{padding:.35rem .75rem;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition)}.ann-btn-confirm-delete:hover{filter:brightness(1.15)}.ann-btn-cancel-delete{padding:.35rem .75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition)}.ann-btn-cancel-delete:hover{color:var(--text-primary);border-color:var(--border-bright)}.ann-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.ann-form-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem}.ann-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ann-field{display:flex;flex-direction:column;gap:.35rem}.ann-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.ann-input,.ann-select,.ann-textarea{background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius);padding:.55rem .75rem;color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;transition:var(--transition);outline:none}.ann-input:focus,.ann-select:focus,.ann-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ann-input::placeholder,.ann-textarea::placeholder{color:var(--text-muted)}.ann-select{cursor:pointer;appearance:none}.ann-textarea{min-height:100px;resize:vertical;line-height:1.5}.ann-char-count{font-size:.7rem;color:var(--text-muted);text-align:right;margin-top:.15rem}.ann-checkbox-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.ann-checkbox-label input[type=checkbox]{accent-color:var(--accent)}.ann-audience-selector{display:flex;flex-direction:column;gap:.35rem}.ann-audience-tags{display:flex;flex-wrap:wrap;gap:.4rem}.ann-audience-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:transparent;border:1px solid var(--border-bright);border-radius:20px;color:var(--text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition)}.ann-audience-pill:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.ann-audience-pill--active{font-weight:600}.ann-audience-pill--active[data-audience=all]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-bright)}.ann-audience-pill--small{padding:.15rem .5rem;font-size:.65rem;cursor:default}.ann-audience-pill--active[data-audience=adult],.ann-audience-pill--active[data-audience=adults]{background:#3b6eff1f;border-color:var(--color-adults);color:var(--color-adults)}.ann-audience-pill--active[data-audience=juniors]{background:#00d4aa1f;border-color:var(--color-juniors);color:var(--color-juniors)}.ann-audience-pill--active[data-audience=peewee]{background:#ff6b9d1f;border-color:var(--color-peewee);color:var(--color-peewee)}.ann-audience-pill--active[data-audience=teens]{background:#a78bfa1f;border-color:var(--color-teens);color:var(--color-teens)}.ann-list{display:flex;flex-direction:column;gap:.75rem}.ann-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.15rem 1.25rem;transition:var(--transition)}.ann-card:hover{border-color:var(--border-bright)}.ann-card--pinned{border-left:3px solid var(--warning)}.ann-card-layout{display:flex;align-items:flex-start;gap:1rem}.ann-card-content{flex:1;min-width:0}.ann-card-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.ann-card-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .3rem;line-height:1.3}.ann-card-body{font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin:0}.ann-card-body-html{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0}.ann-card-body-html h2{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);margin:.75rem 0 .35rem}.ann-card-body-html p{margin-bottom:.5rem}.ann-card-body-html strong,.ann-card-body-html b{font-weight:700;color:var(--text-primary)}.ann-card-body-html a{color:var(--accent-bright);text-decoration:none}.ann-card-body-html a:hover{text-decoration:underline}.ann-card-body-html ul,.ann-card-body-html ol{padding-left:1.25rem;margin-bottom:.5rem}.ann-card-body-html li{margin-bottom:.15rem}.ann-card-body-html img{max-width:100%;border-radius:var(--radius-sm);margin:.5rem 0}.ann-card-body-html blockquote{border-left:3px solid var(--accent);padding-left:.75rem;margin:.5rem 0;color:var(--text-muted);font-style:italic}.ann-btn-expand{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--accent-bright);font-size:.78rem;font-weight:500;cursor:pointer;padding:.35rem 0 0;transition:var(--transition);font-family:var(--font-body)}.ann-btn-expand:hover{color:var(--text-primary)}.ann-card--expanded{border-color:var(--border-accent)}.ann-card-image{width:80px;height:80px;border-radius:var(--radius);object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.ann-card-actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.ann-edit-title-input{width:100%;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius);padding:.45rem .65rem;color:var(--text-primary);font-family:var(--font-heading);font-size:1rem;font-weight:600;margin-bottom:.5rem;outline:none;transition:var(--transition)}.ann-edit-title-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ann-edit-body-textarea{width:100%;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:var(--radius);padding:.45rem .65rem;color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;line-height:1.55;min-height:80px;resize:vertical;outline:none;transition:var(--transition)}.ann-edit-body-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ann-edit-actions{display:flex;gap:.5rem;margin-top:.6rem}.ann-delete-confirm{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;background:var(--danger-dim);border:1px solid var(--danger);border-radius:var(--radius);margin-top:.6rem}.ann-delete-confirm-text{font-size:.8rem;color:var(--danger);font-weight:500;flex:1}.ann-type-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;letter-spacing:.03em;text-transform:uppercase}.ann-type-badge--general{background:var(--accent-dim);color:var(--accent-bright)}.ann-type-badge--kids{background:var(--success-dim);color:var(--success)}.ann-type-badge--tournament{background:var(--warning-dim);color:var(--warning)}.ann-type-badge--schedule{background:var(--info-dim);color:var(--info)}.ann-pinned-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:600;color:var(--warning);text-transform:uppercase;letter-spacing:.04em}.ann-date{font-size:.72rem;color:var(--text-muted)}.ann-loading,.ann-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.ann-error{text-align:center;padding:2rem 1rem;color:var(--danger);font-size:.9rem;font-weight:500}@media(max-width:768px){.ann-page{padding:1rem}.ann-page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.ann-form-grid{grid-template-columns:1fr}.ann-card-layout{flex-direction:column}.ann-card-actions{flex-direction:row}.ann-card-image{width:100%;height:160px}}.ts-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.ts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ts-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.ts-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.25rem}@media(max-width:768px){.ts-kpi-grid{grid-template-columns:repeat(2,1fr)}}.ts-kpi-grid-5{grid-template-columns:repeat(5,1fr)}@media(max-width:1024px){.ts-kpi-grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.ts-kpi-grid-5{grid-template-columns:repeat(2,1fr)}}.ts-kpi-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);padding:1rem 1.1rem}.ts-kpi-val{font-family:var(--font-heading);font-size:1.7rem;font-weight:800;color:var(--text-primary)}.ts-kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.ts-kpi-sub{font-size:.68rem;color:var(--text-muted)}.ts-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;margin-bottom:1rem}.ts-full{width:100%}.ts-chart-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.85rem}.ts-empty-chart{padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem}.ts-pies-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}@media(max-width:768px){.ts-pies-row{grid-template-columns:1fr}}.ts-pie-inner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ts-pie-legend{display:flex;flex-direction:column;gap:.45rem}.ts-legend-row{display:flex;align-items:center;gap:.4rem}.ts-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ts-legend-label{font-size:.72rem;color:var(--text-secondary)}.ts-legend-val{font-size:.7rem;color:var(--text-muted);margin-left:auto}.ts-funnel{display:flex;flex-direction:column;gap:.5rem}.ts-funnel-conv-arrow{display:flex;align-items:center;justify-content:flex-start;padding:.1rem 0 .1rem 2rem}.ts-funnel-conv-pct{font-size:.72rem;font-weight:600;opacity:.85}.ts-funnel-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;gap:.4rem}.ts-funnel-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-2);font-size:.68rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.ts-funnel-label{font-size:.78rem;color:var(--text-secondary);flex:1}.ts-funnel-pct{font-size:.78rem;font-weight:700}.ts-funnel-track{height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.ts-funnel-fill{height:100%;border-radius:5px;min-width:4px;transition:width .4s ease}.ts-funnel-note{margin-top:1rem;font-size:.78rem;color:var(--text-muted);text-align:center}.ts-line-labels{display:flex;justify-content:space-between;font-size:.6rem;color:var(--text-muted);margin-top:4px;overflow:hidden}.ts-line-labels span{flex:1;text-align:center}.ts-weekly-bar{display:flex;align-items:flex-end;gap:6px;height:100px;overflow:hidden}.ts-weekly-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:3px}.ts-weekly-val{font-size:.62rem;color:var(--text-muted);height:14px}.ts-weekly-track{flex:1;width:100%;background:var(--surface-2);border-radius:3px 3px 0 0;display:flex;align-items:flex-end;overflow:hidden}.ts-weekly-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.ts-weekly-label{font-size:.58rem;color:var(--text-muted);white-space:nowrap}@media(max-width:768px){.ts-page{padding:1rem .75rem}.ts-header{flex-direction:column;align-items:flex-start;gap:.75rem}.ts-kpi-grid-5{grid-template-columns:repeat(2,1fr);gap:.6rem}.ts-kpi-card{padding:.85rem .9rem}.ts-kpi-val{font-size:1.5rem}.ts-kpi-label{font-size:.62rem}.ts-weekly-bar{height:80px;gap:4px}.ts-weekly-label{font-size:.52rem}.ts-pie-inner{flex-direction:column;align-items:flex-start}.ts-funnel-conv-arrow{padding-left:1rem}}@media(max-width:480px){.ts-page{padding:.75rem}.ts-kpi-grid,.ts-kpi-grid-5{grid-template-columns:1fr;gap:.5rem}.ts-kpi-card{padding:.75rem .85rem;display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap}.ts-kpi-val{font-size:1.75rem;min-width:60px}.ts-kpi-label{font-size:.68rem}.ts-kpi-sub{font-size:.65rem}.ts-weekly-label{font-size:.5rem}.ts-chart-card{padding:.85rem}}.trials-page{padding:1.75rem 2rem;max-width:1440px;margin:0 auto}.noshow-alert{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--danger);margin-top:.3rem}.trials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.85rem}.trials-empty{text-align:center;padding:3rem;color:var(--text-muted);font-size:.875rem}.trial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.15rem 1.25rem;border-left:3px solid var(--border);transition:all .15s ease}.trial-card:hover{border-color:var(--border-bright);box-shadow:0 2px 12px #00000026}.trial-booked{border-left-color:var(--accent)}.trial-attended{border-left-color:var(--success)}.trial-trial-expired{border-left-color:var(--color-warning)}.trial-noshow{border-left-color:var(--danger)}.trial-converted{border-left-color:#a78bfa}.trial-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.trial-name-block{flex:1;min-width:0}.trial-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.trial-contact{font-size:.72rem;color:var(--text-muted);margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trial-status-badge{padding:.18rem .6rem;border-radius:20px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.trial-status-badge.status-booked{background:#3b6eff1a;color:var(--accent-bright)}.trial-status-badge.status-attended{background:#00c8961a;color:var(--success)}.trial-status-badge.status-trial-expired{background:#f59e0b1f;color:var(--color-warning)}.trial-status-badge.status-noshow{background:#ff47571a;color:var(--danger)}.trial-status-badge.status-converted{background:#7c6eff1f;color:#a78bfa}.trial-status-badge.status-visitor{background:#f59e0b1f;color:var(--color-warning)}.trial-details{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem}.trial-detail{font-size:.75rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.35rem}.trial-detail svg{color:var(--text-muted);flex-shrink:0}.trial-notes{font-size:.72rem;color:var(--text-muted);font-style:italic;width:100%;padding-top:.3rem;border-top:1px solid var(--border);margin-top:.2rem}.trial-actions{display:flex;gap:.4rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--border)}.trial-btn{padding:.4rem .85rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.35rem}.trial-btn:hover{border-color:var(--border-accent);color:var(--text-primary)}.trial-btn:disabled{opacity:.5;cursor:not-allowed}.btn-attended{border-color:#00c8964d;color:var(--success)}.btn-attended:hover{background:#00c89614;border-color:var(--success)}.btn-noshow{border-color:#ff47574d;color:var(--danger)}.btn-noshow:hover{background:#ff475714;border-color:var(--danger)}.btn-convert{border-color:#7c6eff4d;color:#a78bfa}.btn-convert:hover{background:#7c6eff14;border-color:#a78bfa}.btn-rebook{border-color:#3b6eff4d;color:var(--accent-bright)}.btn-rebook:hover{background:#3b6eff14;border-color:var(--accent)}.btn-profile{border-color:var(--border);color:var(--text-muted)}.btn-profile:hover{color:var(--text-primary);border-color:var(--border-accent)}.btn-visitor{border-color:#f59e0b4d;color:var(--color-warning)}.btn-visitor:hover{background:#f59e0b14;border-color:var(--color-warning)}.btn-attend-again{border-color:#00c8964d;color:var(--success);font-size:.7rem}.btn-attend-again:hover{background:#00c89614;border-color:var(--success)}.trial-class-count-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:20px;font-size:.6rem;font-weight:700;background:#00c8961a;color:var(--success);white-space:nowrap}.trial-expiry{color:var(--text-muted)!important;font-size:.7rem!important}.trial-expiry-past{color:var(--color-warning)!important;font-size:.7rem!important}.trow-expiry-hint{display:block;font-size:.65rem;color:var(--text-muted);margin-top:2px}.trow-expiry-hint.trow-expiry-past{color:var(--color-warning)}.trial-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.trial-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem;text-align:center}.trial-stat-window{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.5rem}.trial-stat-total{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.trial-stat-label{font-size:.7rem;color:var(--text-muted);margin-bottom:.6rem}.trial-stat-breakdown{display:flex;flex-direction:column;gap:.2rem;font-size:.68rem}.ts-converted{color:var(--success)}.ts-noshow{color:var(--danger)}.ts-notconverted{color:var(--warning)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.5rem 1.1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-primary:hover{background:var(--accent-bright)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{border-color:var(--border-accent);color:var(--text-primary)}@media(max-width:768px){.trials-page{padding:1rem}.trials-grid{grid-template-columns:1fr}.trial-stats-grid{grid-template-columns:repeat(2,1fr)}.trial-card-header{flex-direction:column;gap:.4rem}}@media(max-width:480px){.trial-stats-grid{grid-template-columns:1fr}.trial-actions{flex-direction:column}.trial-btn{width:100%;justify-content:center}}.trial-status-badge.status-prospect{background:#fbbf241a;color:var(--warning)}.trial-card.trial-prospect{border-left-color:var(--warning);opacity:.9}.trials-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.trials-toolbar .filter-tabs-desktop{margin-bottom:0;flex:1}.trials-toolbar .mobile-filter-select-wrap{flex:1}.view-toggle{display:flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.view-toggle-btn:hover{color:var(--text-primary);background:var(--surface)}.view-toggle-btn.active{background:var(--surface);color:var(--accent-bright);box-shadow:0 1px 4px #0000001f}.prog-badge{display:inline-flex;align-items:center;padding:.14rem .5rem;border-radius:20px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.prog-adults{background:#3b6eff1a;color:var(--accent-bright)}.prog-peewee{background:#fbbf241f;color:var(--color-warning)}.prog-juniors{background:#00c8961a;color:var(--success)}.prog-teens{background:#a855f71a;color:#a78bfa}.trials-list-wrap{overflow-x:auto;overflow-y:visible;border-radius:var(--radius-lg);border:1px solid var(--border);position:relative}.trials-table{width:100%;border-collapse:collapse;font-size:.85rem}.trials-table thead tr{background:var(--surface-2);border-bottom:1px solid var(--border)}.trials-table th{padding:.65rem 1rem;text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.trials-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s ease}.trials-table tbody tr:last-child{border-bottom:none}.trials-table tbody tr:nth-child(2n){background:#ffffff05}.trials-table tbody tr:hover{background:var(--surface-2)}.trials-table td{padding:.7rem 1rem;vertical-align:middle}.trow-name-text{font-weight:700;color:var(--text-primary);font-size:.875rem}.trow-date{color:var(--text-secondary);white-space:nowrap;font-size:.82rem}.trow-time{color:var(--text-muted);font-size:.75rem}.trow-phone-link{color:var(--text-secondary);text-decoration:none;font-size:.82rem;font-variant-numeric:tabular-nums;transition:color .12s ease}.trow-phone-link:hover{color:var(--accent-bright)}.trow-muted{color:var(--text-muted)}.trow-action{width:48px;text-align:right}.trow-action-wrap{position:relative;display:inline-block}.trow-dots-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s ease;font-size:.65rem;letter-spacing:1px}.trow-dots-btn:hover{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}.trow-dots-btn:disabled{opacity:.4;cursor:not-allowed}.dots-icon{display:block;line-height:1}.trow-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0003;min-width:160px;z-index:9999;overflow:visible}.trow-dd-item{display:block;width:100%;padding:.55rem .9rem;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:background .1s ease;text-decoration:none}.trow-dd-item:last-child{border-bottom:none}.trow-dd-item:hover{background:var(--surface-2);color:var(--text-primary)}.trow-dd-danger:hover{color:var(--danger)}.trow-dd-convert:hover{color:#a78bfa}.trial-row-booked td:first-child{border-left:3px solid var(--accent)}.trial-row-attended td:first-child{border-left:3px solid var(--success)}.trial-row-trial-expired td:first-child{border-left:3px solid var(--color-warning)}.trial-row-noshow td:first-child{border-left:3px solid var(--danger)}.trial-row-converted td:first-child{border-left:3px solid #a78bfa}.trial-row-prospect td:first-child{border-left:3px solid var(--warning)}@media(max-width:640px){.trow-hide-mobile{display:none}.trials-table th,.trials-table td{padding:.6rem}.trow-name-text{font-size:.82rem}}.join-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-base, #0a0a14);padding:2rem 1rem}.join-container{width:100%;max-width:560px;margin:0 auto}.join-loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary, #94a3b8)}.join-spinner{width:32px;height:32px;border:3px solid rgba(124,62,237,.2);border-top-color:#7c3aed;border-radius:50%;animation:join-spin .6s linear infinite;margin:0 auto 1rem}@keyframes join-spin{to{transform:rotate(360deg)}}.join-expired{text-align:center;padding:3rem 2rem;background:var(--bg-card, #13131f);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:16px}.join-expired-icon{font-size:3rem;margin-bottom:1rem}.join-expired h1{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.75rem;color:var(--text-primary, #e2e8f0);margin:0 0 .75rem}.join-expired p{color:var(--text-secondary, #94a3b8);margin:0 0 .5rem;line-height:1.5}.join-expired-help{margin-top:1rem;font-size:.9rem}.join-btn-contact{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:#7c3aed;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.95rem;transition:background .2s}.join-btn-contact:hover{background:#6d28d9}.join-success{text-align:center;padding:3rem 2rem;background:var(--bg-card, #13131f);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:16px}.join-success-icon{font-size:4rem;margin-bottom:1rem}.join-success h1{font-family:var(--font-heading, "Jost", sans-serif);font-size:2rem;color:var(--text-primary, #e2e8f0);margin:0 0 .5rem}.join-success-subtitle{color:var(--text-secondary, #94a3b8);font-size:1.1rem;margin:0 0 1.5rem}.join-success-details{background:#7c3eed1a;border:1px solid rgba(124,62,237,.2);border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:left;display:inline-block;min-width:200px}.join-success-details p{color:var(--text-primary, #e2e8f0);margin:.25rem 0;font-size:.95rem}.join-success-cta{color:var(--text-primary, #e2e8f0);font-size:1.25rem;font-weight:600;margin-top:1rem}.join-header{text-align:center;margin-bottom:2rem}.join-logo{font-size:3rem;margin-bottom:.5rem}.join-header h1{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.75rem;font-weight:700;color:var(--text-primary, #e2e8f0);margin:0 0 .25rem}.join-subtitle{color:var(--text-secondary, #94a3b8);font-size:.95rem;margin:0}.join-form{background:var(--bg-card, #13131f);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:16px;padding:2rem}.join-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.join-section{margin-bottom:2rem}.join-section:last-of-type{margin-bottom:1.5rem}.join-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.join-section-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#7c3aed;color:#fff;border-radius:50%;font-size:.8rem;font-weight:700;flex-shrink:0}.join-section-header h2{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.15rem;font-weight:600;color:var(--text-primary, #e2e8f0);margin:0}.join-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.join-plan-card{position:relative;background:var(--bg-base, #0a0a14);border:2px solid var(--border-subtle, rgba(255,255,255,.08));border-radius:12px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all .2s;color:var(--text-primary, #e2e8f0);font-family:inherit}.join-plan-card:hover{border-color:#7c3eed66}.join-plan-card.selected{border-color:#7c3aed;background:#7c3eed14}.join-plan-name{font-size:.95rem;font-weight:600;margin-bottom:.5rem}.join-plan-price{font-size:1.5rem;font-weight:700;color:#7c3aed}.join-plan-price span{font-size:.85rem;font-weight:400;color:var(--text-secondary, #94a3b8)}.join-plan-check{position:absolute;top:8px;right:10px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#7c3aed;font-weight:700}.join-prefilled-notice{background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:#22c55e;padding:.6rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.join-row{margin-bottom:.75rem}.join-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.join-field{display:flex;flex-direction:column;gap:.35rem}.join-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.join-optional{font-weight:400;text-transform:none;letter-spacing:0}.join-field input,.join-field select{padding:.7rem .85rem;background:var(--bg-base, #0a0a14);border:1px solid var(--border-subtle, rgba(255,255,255,.1));border-radius:8px;color:var(--text-primary, #e2e8f0);font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s}.join-field input:focus,.join-field select:focus{border-color:#7c3aed}.join-readonly{opacity:.6;cursor:not-allowed;background:#ffffff08!important}.join-payment-summary{background:#7c3eed0f;border:1px solid rgba(124,62,237,.15);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary, #94a3b8)}.join-payment-summary strong{color:var(--text-primary, #e2e8f0)}.join-card-element{padding:.85rem;background:var(--bg-base, #0a0a14);border:1px solid var(--border-subtle, rgba(255,255,255,.1));border-radius:8px;min-height:24px}.join-card-error{color:#ef4444;font-size:.8rem;margin-top:.5rem}.join-submit{display:block;width:100%;padding:1rem;background:#7c3aed;color:#fff;border:none;border-radius:10px;font-size:1.05rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s;margin-top:.5rem}.join-submit:hover:not(:disabled){background:#6d28d9;transform:translateY(-1px)}.join-submit:disabled{opacity:.5;cursor:not-allowed}.join-secure-note{text-align:center;font-size:.8rem;color:var(--text-secondary, #64748b);margin:1rem 0 0}@media(max-width:640px){.join-page{padding:1rem .75rem}.join-form{padding:1.25rem}.join-row-2col,.join-plans{grid-template-columns:1fr}.join-header h1{font-size:1.5rem}}.convert-modal-overlay{position:fixed;inset:0;z-index:1000;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.convert-fullscreen{width:100%;max-width:560px;background:var(--bg-card, #13131f);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:16px;overflow:hidden}.convert-fs-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.06))}.convert-fs-header h2{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.25rem;font-weight:700;color:var(--text-primary, #e2e8f0);margin:0}.convert-fs-close{background:none;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:1.25rem;padding:.25rem;line-height:1}.convert-fs-body{padding:1.5rem}.convert-fs-success{text-align:center;padding:2rem 1rem}.convert-fs-success-icon{font-size:3rem;margin-bottom:.75rem}.convert-fs-success h3{font-size:1.25rem;color:var(--text-primary, #e2e8f0);margin:0 0 .5rem}.convert-fs-success p{color:var(--text-secondary, #94a3b8);margin:.25rem 0}@media(max-width:640px){.convert-modal-overlay{padding:0;align-items:stretch}.convert-fullscreen{max-width:100%;border-radius:0;min-height:100vh}}.trial-profile-page .mp-info-clean-card{grid-template-columns:1fr}.trial-profile-page .mp-info-clean-card .mp-field:nth-child(1),.trial-profile-page .mp-info-clean-card .mp-field:nth-child(3),.trial-profile-page .mp-info-clean-card .mp-field:nth-child(5){grid-column:1}.trial-profile-page .mp-info-clean-card .mp-field:last-child{border-bottom:none}.trial-profile-page .mp-info-clean-card{margin-bottom:1.25rem}.tp-prog-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:capitalize;background:#3b6eff1a;color:var(--accent-bright, #6b9eff)}.tp-dob{color:var(--text-muted)}.tp-time{color:var(--text-secondary)}.tp-source{text-transform:capitalize;color:var(--text-secondary)}.tp-field-notes{align-items:flex-start}.tp-notes-text{color:var(--text-secondary);font-size:.82rem;line-height:1.5;white-space:pre-wrap}.tp-convert-cta{background:#7c63ff14;border:1px solid rgba(124,99,255,.22);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tp-convert-cta-title{font-size:.9rem;font-weight:700;color:var(--text-primary);margin-bottom:.15rem}.tp-convert-cta-sub{font-size:.78rem;color:var(--text-muted)}.tp-convert-btn{display:flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0}.tp-convert-name{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.tp-convert-name strong{color:var(--text-primary)}.tp-radio-group{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.tp-radio-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2, var(--surface));color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none}.tp-radio-btn input[type=radio]{display:none}.tp-radio-btn.active{border-color:var(--accent, #667eea);background:#667eea1f;color:var(--text-primary);font-weight:600}.tp-plan-price{color:var(--text-muted);font-size:.75rem;margin-left:.25rem}.tp-radio-btn.active .tp-plan-price{color:var(--accent-bright, #6b9eff)}.tp-checkbox-row{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-primary);cursor:pointer;padding:.5rem 0}.tp-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent, #667eea);cursor:pointer;flex-shrink:0}.tp-checkbox-sub{color:var(--text-muted);font-size:.78rem}.tp-waivers-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem}.tp-waivers-header{display:flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.75rem}.tp-waiver-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.tp-waiver-item .waiver-doc-info{flex:1;min-width:0}.tp-waiver-item .waiver-doc-view-btn{flex-shrink:0}.tp-waiver-item+.tp-waiver-item{margin-top:.5rem}.tp-notes-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.tp-notes-header{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.75rem}.tp-notes-card .note-input-wrap{margin-bottom:.75rem}.tp-notes-card .empty-msg{padding:1rem 0 0;font-size:.82rem}@media(max-width:768px){.trial-profile-page .mp-header{flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.25rem 1rem}.trial-profile-page .mp-header-info{display:flex;flex-direction:column;align-items:center}.trial-profile-page .mp-header-info h1{text-align:center}.trial-profile-page .mp-badges{justify-content:center}.trial-profile-page .mp-header-actions{width:auto;justify-content:center}.tp-convert-cta{flex-direction:column;text-align:center;padding:1rem}.tp-convert-btn{width:100%;justify-content:center}.tp-notes-card .note-input-wrap{flex-direction:column}.tp-notes-card .note-input-wrap textarea{width:100%}.tp-notes-card .note-input-wrap .btn-primary{width:100%;justify-content:center}.trial-profile-page .mp-back{width:auto;display:inline-flex}.tp-waivers-card{padding:.75rem}.tp-waiver-item{padding:.55rem .6rem;gap:.5rem}.tp-waiver-item .waiver-doc-type{font-size:.82rem;white-space:nowrap}.tp-waiver-item .waiver-doc-date{font-size:.72rem;white-space:nowrap}.tp-waiver-item .waiver-doc-view-btn{padding:4px 10px;font-size:.75rem}.trial-profile-page .mp-header,.trial-profile-page .mp-info-clean-card,.tp-convert-cta,.tp-waivers-card{margin-bottom:1rem}}@media(max-width:480px){.trial-profile-page .mp-avatar{width:52px;height:52px;font-size:1.1rem}.trial-profile-page .mp-header-info h1{font-size:1.25rem}}.ao-page{max-width:900px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.ao-loading{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);padding:3rem}.ao-header{display:flex;align-items:flex-start;justify-content:space-between}.ao-title{font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem}.ao-subtitle{font-size:.83rem;color:var(--text-muted)}.ao-top-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ao-status-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.ao-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ao-status-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600}.ao-status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px #22c55e40;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #22c55e40}50%{box-shadow:0 0 0 5px #22c55e1a}}.ao-run-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ao-run-btn:disabled{opacity:.6;cursor:not-allowed}.ao-run-btn:hover:not(:disabled){opacity:.85}.ao-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ao-stat-item{background:var(--surface-2);border-radius:7px;padding:.6rem .75rem}.ao-stat-label{font-size:.7rem;color:var(--text-muted);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.04em}.ao-stat-val{font-size:1.1rem;font-weight:700}.ao-digest-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.ao-digest-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600}.ao-digest-body{display:flex;flex-direction:column;gap:.6rem}.ao-digest-desc{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.4}.ao-digest-status{display:flex;align-items:center}.ao-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600}.ao-badge.success{background:#22c55e1f;color:var(--success)}.ao-badge.pending{background:#eab3081f;color:var(--warning)}.ao-digest-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--text);transition:background .15s;width:fit-content}.ao-digest-btn:hover:not(:disabled){background:var(--surface-3, var(--border))}.ao-digest-btn:disabled{opacity:.6;cursor:not-allowed}.ao-run-result{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:7px;font-size:.83rem;color:var(--success)}.ao-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.ao-section-title{padding:.9rem 1.25rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}.ao-section-count{background:var(--surface-2);padding:.1rem .4rem;border-radius:4px;font-size:.72rem}.ao-triggers-list{display:flex;flex-direction:column}.ao-trigger-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);transition:background .1s}.ao-trigger-row:last-child{border-bottom:none}.ao-trigger-row:hover{background:var(--surface-2)}.ao-trigger-row.disabled{opacity:.5}.ao-trigger-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:6px;flex-shrink:0;color:var(--accent)}.ao-trigger-info{flex:1;min-width:0}.ao-trigger-name{font-size:.85rem;font-weight:600;margin-bottom:.1rem}.ao-trigger-desc{font-size:.75rem;color:var(--text-muted)}.ao-trigger-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;min-width:60px}.ao-trigger-last{font-size:.72rem;color:var(--text-muted)}.ao-trigger-count{font-size:.72rem;color:var(--accent);font-weight:600}.ao-toggle-btn{width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.ao-toggle-btn.on{background:var(--accent)}.ao-toggle-btn.off{background:var(--surface-2);border:1px solid var(--border)}.ao-toggle-thumb{position:absolute;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0000004d}.ao-toggle-btn.on .ao-toggle-thumb{left:20px}.ao-toggle-btn.off .ao-toggle-thumb{left:2px}.ao-log{display:flex;flex-direction:column;padding:.25rem 0}.ao-log-row{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 1.25rem;border-bottom:1px solid var(--border);font-size:.8rem;transition:background .1s}.ao-log-row:last-child{border-bottom:none}.ao-log-row:hover{background:var(--surface-2)}.ao-log-status{font-size:.8rem;font-weight:700;flex-shrink:0;width:14px;margin-top:.05rem}.ao-log-content{flex:1;min-width:0;line-height:1.4}.ao-log-action{font-weight:600;color:var(--text)}.ao-log-member{color:var(--accent)}.ao-log-msg{color:var(--text-muted)}.ao-log-time{font-size:.72rem;color:var(--text-muted);flex-shrink:0;margin-top:.1rem}.ao-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}.ao-tabs{display:flex;gap:.25rem;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:0;margin-bottom:.25rem}.ao-tab{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;border-radius:6px 6px 0 0}.ao-tab:hover{color:var(--text);background:#7c6eff0f}.ao-tab.active{color:#7c6eff;border-bottom-color:#7c6eff}.ao-templates-intro{font-size:.83rem;color:var(--text-muted);margin:.25rem 0 1rem;line-height:1.5}.ao-templates{display:flex;flex-direction:column;gap:.5rem}.ao-tmpl-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .15s}.ao-tmpl-card.open{border-color:#7c6eff4d}.ao-tmpl-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--text);text-align:left;transition:background .15s}.ao-tmpl-header:hover{background:#7c6eff0d}.ao-tmpl-header-left{display:flex;align-items:flex-start;gap:.75rem}.ao-tmpl-channel-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px;color:#fff;flex-shrink:0;margin-top:.15rem}.ao-tmpl-meta{display:flex;flex-direction:column;gap:.2rem}.ao-tmpl-name{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.ao-tmpl-system-badge{font-size:.68rem;font-weight:500;padding:.1rem .4rem;border-radius:4px;background:#ffffff14;color:var(--text-muted)}.ao-tmpl-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4}.ao-tmpl-editor{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid rgba(255,255,255,.06)}.ao-tmpl-vars{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.75rem}.ao-tmpl-vars-label{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.ao-tmpl-var-chip{font-size:.75rem;font-family:SF Mono,Fira Code,monospace;padding:.2rem .55rem;background:#7c6eff26;color:#a89dff;border:1px solid rgba(124,110,255,.25);border-radius:5px;cursor:pointer;transition:background .15s,border-color .15s}.ao-tmpl-var-chip:hover{background:#7c6eff47;border-color:#7c6eff73}.ao-tmpl-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ao-tmpl-col-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;display:flex;align-items:center;gap:.3rem}.ao-tmpl-preview-loading{color:var(--text-muted);font-weight:400;font-size:.8rem;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.ao-tmpl-textarea{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:.82rem;line-height:1.55;padding:.7rem .85rem;resize:vertical;font-family:SF Mono,Fira Code,monospace;outline:none;transition:border-color .15s;box-sizing:border-box}.ao-tmpl-textarea:focus{border-color:#7c6eff80}.ao-tmpl-textarea.warn{border-color:#ef444480}.ao-tmpl-readonly{background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:.7rem .85rem;font-size:.82rem;line-height:1.55;color:var(--text-muted);white-space:pre-wrap;font-family:SF Mono,Fira Code,monospace}.ao-tmpl-charcount{font-size:.72rem;color:var(--text-muted);margin-top:.25rem}.ao-tmpl-charcount.warn{color:#f87171}.ao-tmpl-charwarn{font-weight:600}.ao-tmpl-preview-bubble{background:#7c6eff12;border:1px solid rgba(124,110,255,.15);border-radius:12px 12px 12px 4px;padding:.85rem 1rem;font-size:.82rem;line-height:1.6;white-space:pre-wrap;color:var(--text);min-height:4rem}.ao-tmpl-preview-note{font-size:.7rem;color:var(--text-muted);margin-top:.35rem;font-style:italic}.ao-tmpl-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:.25rem}.ao-tmpl-dirty{font-size:.75rem;color:#f59e0b;margin-right:auto;font-style:italic}.ao-tmpl-reset-btn{padding:.45rem .9rem;background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);border-radius:7px;font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s}.ao-tmpl-reset-btn:hover:not(:disabled){border-color:#ffffff40;color:var(--text)}.ao-tmpl-reset-btn:disabled{opacity:.5;cursor:not-allowed}.ao-tmpl-save-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem 1.1rem;background:#7c6eff;border:none;color:#fff;border-radius:7px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.ao-tmpl-save-btn:hover:not(:disabled){background:#9181ff}.ao-tmpl-save-btn:disabled{opacity:.45;cursor:not-allowed}.ao-info-box{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--accent-dim, rgba(123,97,255,.08));border:1px solid var(--accent, #7b61ff);border-radius:8px;font-size:.82rem;color:var(--text-secondary);margin-bottom:1.25rem}.ao-info-box strong{color:var(--accent, #7b61ff)}@media(max-width:640px){.ao-page{padding:1rem}.ao-top-row{grid-template-columns:1fr}.ao-status-grid{grid-template-columns:1fr 1fr}.ao-trigger-row{gap:.5rem}.ao-trigger-stats{display:none}.ao-tmpl-split{grid-template-columns:1fr}.ao-tabs{gap:0}.ao-tab{padding:.45rem .75rem;font-size:.8rem}}.wb-page{padding:0;max-width:900px}.wb-header{margin-bottom:1.5rem}.wb-header h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.wb-header p{font-size:.85rem;color:var(--text-muted);margin:0}.wb-stepper{display:flex;align-items:center;gap:0;margin-bottom:2rem;padding:0}.wb-step{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:var(--transition);background:transparent;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.8rem;white-space:nowrap}.wb-step:hover{background:var(--surface-2)}.wb-step.active{color:var(--accent-bright)}.wb-step.completed{color:var(--success)}.wb-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0;transition:var(--transition);border:2px solid var(--border);background:var(--surface-2);color:var(--text-muted)}.wb-step.active .wb-step-num{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-bright)}.wb-step.completed .wb-step-num{border-color:var(--success);background:var(--success-dim);color:var(--success)}.wb-step-label{font-weight:600}.wb-step-connector{flex:1;height:2px;background:var(--border);min-width:16px}.wb-step-connector.completed{background:var(--success)}.wb-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.25rem}.wb-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.wb-card-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--accent-dim);display:flex;align-items:center;justify-content:center;color:var(--accent-bright);flex-shrink:0}.wb-card-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 .15rem}.wb-card-desc{font-size:.8rem;color:var(--text-muted);margin:0}.wb-field{margin-bottom:1rem}.wb-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem;letter-spacing:.02em}.wb-input{width:100%;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;font-family:var(--font-body);outline:none;transition:var(--transition);box-sizing:border-box}.wb-input:focus{border-color:var(--accent);box-shadow:var(--glow-sm)}.wb-input::placeholder{color:var(--text-muted)}.wb-hint{font-size:.72rem;color:var(--text-muted);margin-top:.25rem}.wb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:600px){.wb-grid-2{grid-template-columns:1fr}}.wb-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}@media(max-width:700px){.wb-themes{grid-template-columns:1fr}}.wb-theme-card{border:2px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:var(--transition);background:var(--surface-2);text-align:left}.wb-theme-card:hover{border-color:var(--accent-dim);background:var(--surface-3)}.wb-theme-card.selected{border-color:var(--accent);background:var(--accent-dim)}.wb-theme-colors{display:flex;gap:6px;margin-bottom:.65rem}.wb-theme-swatch{width:28px;height:28px;border-radius:6px;border:1px solid rgba(128,128,128,.2)}.wb-theme-name{font-weight:700;font-size:.88rem;color:var(--text-primary);margin-bottom:.2rem}.wb-theme-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.wb-theme-check{color:var(--accent-bright);font-size:.72rem;margin-left:.4rem}.wb-fonts{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}@media(max-width:700px){.wb-fonts{grid-template-columns:1fr}}.wb-font-card{border:2px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;cursor:pointer;transition:var(--transition);background:var(--surface-2);text-align:center}.wb-font-card:hover{border-color:var(--accent-dim)}.wb-font-card.selected{border-color:var(--accent);background:var(--accent-dim)}.wb-font-preview{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.wb-font-name{font-size:.72rem;color:var(--text-muted)}.wb-swatches{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.wb-swatch{width:36px;height:36px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:var(--transition);position:relative}.wb-swatch:hover{transform:scale(1.1)}.wb-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text-primary)}.wb-preview-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.wb-preview-select{padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.82rem;font-family:var(--font-body);outline:none;cursor:pointer}.wb-preview-select:focus{border-color:var(--accent)}.wb-preview-frame{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-height:500px;transition:var(--transition)}.wb-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.wb-refresh-btn:hover{background:var(--surface-4);color:var(--text-primary);border-color:var(--accent-dim)}.wb-publish-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.wb-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.wb-btn-primary:hover{background:var(--accent-hover);box-shadow:var(--glow)}.wb-btn-primary:disabled{opacity:.5;cursor:not-allowed}.wb-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.wb-btn-secondary:hover{background:var(--surface-4);border-color:var(--accent-dim)}.wb-publish-msg{padding:1rem 1.25rem;background:var(--success-dim);border:1px solid rgba(0,200,150,.2);border-radius:var(--radius);color:var(--success);font-size:.85rem;line-height:1.5}.wb-publish-msg strong{color:var(--text-primary)}.wb-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.wb-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.wb-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.wb-modal-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary)}.wb-modal-close{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.wb-modal-close:hover{background:var(--surface-4);color:var(--text-primary)}.wb-modal-body{flex:1;overflow-y:auto;padding:1.25rem}.wb-modal-code{width:100%;min-height:300px;padding:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.72rem;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box}.wb-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border)}.wb-nav-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem}.wb-nav-footer .wb-btn-secondary[disabled]{opacity:.35;cursor:not-allowed}.wb-copied{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--success);font-weight:600;animation:wb-fade-in .2s ease}@keyframes wb-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.wb-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.wb-status-live{background:var(--success-dim);color:var(--success);border:1px solid rgba(16,185,129,.3)}.wb-status-offline{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.wb-live-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--success-dim);border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);color:var(--success);font-size:.85rem;font-weight:600}.wb-live-banner a{text-decoration:underline;text-underline-offset:2px}.wb-live-banner a:hover{opacity:.8}.wb-btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--danger-dim, rgba(239, 68, 68, .1));color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.wb-btn-danger:hover{background:var(--danger, #ef4444);color:#fff;border-color:var(--danger, #ef4444)}.wb-btn-danger:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.wb-stepper{flex-wrap:wrap;gap:.25rem}.wb-step-connector{display:none}.wb-step{padding:.4rem .5rem;font-size:.72rem}.wb-step-num{width:24px;height:24px;font-size:.65rem}.wb-step-label{display:none}.wb-card{padding:1rem}.wb-themes{grid-template-columns:1fr}.wb-publish-actions{flex-direction:column}}.onboarding-container{min-height:100vh;background:var(--color-bg);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6);padding-top:var(--space-10)}.onboarding-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-12);font-size:var(--text-lg)}.onboarding-card{background:var(--color-surface);border:1px solid var(--color-border-bright);border-radius:var(--radius-5);padding:var(--space-8) var(--space-6);width:100%;max-width:600px;box-shadow:var(--shadow-lg)}.onboarding-header{text-align:center;margin-bottom:var(--space-4)}.onboarding-header h1{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1)}.onboarding-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.onboarding-progress{height:4px;background:var(--color-surface-2);border-radius:var(--radius-full);margin-bottom:var(--space-6);overflow:hidden}.onboarding-progress-bar{height:100%;background:var(--color-brand);border-radius:var(--radius-full);transition:width .4s ease}.onboarding-steps{display:flex;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-1)}.onboarding-step-dot{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;padding:var(--space-2);flex:1;transition:var(--transition);border-radius:var(--radius-2)}.onboarding-step-dot:hover{background:var(--color-surface-2)}.onboarding-step-icon{font-size:var(--text-lg);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-surface-2);border:2px solid var(--color-border);transition:var(--transition)}.onboarding-step-dot.active .onboarding-step-icon{border-color:var(--color-brand);background:var(--color-brand);color:#fff;box-shadow:var(--shadow-button)}.onboarding-step-dot.completed .onboarding-step-icon{border-color:var(--color-success);background:var(--color-success);color:#fff}.onboarding-step-label{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--font-medium)}.onboarding-step-dot.active .onboarding-step-label{color:var(--color-text-primary);font-weight:var(--font-semibold)}.onboarding-step-content{margin-top:var(--space-4)}.onboarding-step-content h2{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.onboarding-step-desc{color:var(--color-text-muted);font-size:var(--text-base);margin:0 0 var(--space-5);line-height:var(--leading-normal)}.onboarding-form{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-form .form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.onboarding-form .form-group label{font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted)}.onboarding-form .form-group input,.onboarding-form .form-group textarea{background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-body);width:100%;box-sizing:border-box;transition:border-color var(--duration-normal) var(--ease-out);min-height:48px}.onboarding-form .form-group textarea{resize:vertical;min-height:80px}.onboarding-form .form-group input:focus,.onboarding-form .form-group textarea:focus{border-color:var(--color-brand);box-shadow:var(--shadow-input-active);outline:none}.onboarding-form .btn-primary,.onboarding-step-content>.btn-primary{display:flex;align-items:center;justify-content:center;padding:var(--space-3-5) var(--space-5);background:var(--color-brand);border:none;border-radius:var(--radius-2);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:48px;box-shadow:var(--shadow-button);margin-top:var(--space-4);width:100%}.onboarding-form .btn-primary:hover:not(:disabled),.onboarding-step-content>.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);transform:translateY(-1px)}.onboarding-form .btn-primary:disabled,.onboarding-step-content>.btn-primary:disabled{opacity:.55;cursor:default}.onboarding-option-cards{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-3);cursor:pointer;transition:var(--transition)}.onboarding-option:hover:not(.disabled){border-color:var(--color-brand);background:var(--color-surface-3)}.onboarding-option.selected{border-color:var(--color-brand);background:#3b6eff14}.onboarding-option.disabled{opacity:.5;cursor:not-allowed}.onboarding-option-icon{font-size:var(--text-2xl);flex-shrink:0}.onboarding-option strong{color:var(--color-text-primary);font-size:var(--text-base)}.onboarding-option-desc{color:var(--color-text-muted);font-size:var(--text-sm)}.onboarding-option-tag{margin-left:auto;font-size:var(--text-2xs);color:var(--color-text-muted);background:var(--color-surface-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--font-semibold)}.onboarding-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-2)}.onboarding-plan-card{padding:var(--space-5) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-3);text-align:center}.onboarding-plan-card h3{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.onboarding-plan-price{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-brand);margin-bottom:var(--space-2)}.onboarding-plan-price span{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-normal)}.onboarding-plan-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.onboarding-stripe-card{padding:var(--space-6);background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-3);text-align:center}.onboarding-stripe-icon{font-size:3rem;margin-bottom:var(--space-3)}.onboarding-stripe-card h3{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-3)}.onboarding-stripe-card p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-normal);margin:0 0 var(--space-2)}.onboarding-stripe-note{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.onboarding-golive{text-align:center}.onboarding-golive-emoji{font-size:4rem;margin-bottom:var(--space-3)}.onboarding-checklist{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) auto;max-width:300px;text-align:left}.onboarding-check-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.check-done{color:var(--color-success)}.btn-golive{font-size:var(--text-lg)!important;padding:var(--space-4) var(--space-6)!important}.onboarding-step-content .error-message{margin-bottom:var(--space-4)}.auth-link{text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-link a{color:var(--color-brand);text-decoration:none;font-weight:var(--font-semibold)}.auth-link a:hover{text-decoration:underline}.auth-field-error{color:var(--color-error);font-size:var(--text-sm)}.auth-success{text-align:center;padding:var(--space-4) 0}.auth-success-icon{font-size:3rem;margin-bottom:var(--space-3)}.auth-success h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.auth-success p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-normal);margin:0 0 var(--space-4)}@media(max-width:640px){.onboarding-container{padding:var(--space-4);padding-top:var(--space-6)}.onboarding-card{padding:var(--space-6) var(--space-4)}.onboarding-plan-cards{grid-template-columns:1fr}.onboarding-step-label{display:none}}.subscription-container{min-height:100vh;background:var(--color-bg);display:flex;justify-content:center;padding:var(--space-6);padding-top:var(--space-10)}.subscription-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-12)}.subscription-content{width:100%;max-width:900px}.subscription-header{text-align:center;margin-bottom:var(--space-8)}.subscription-header h1{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.subscription-trial-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.subscription-trial-badge.urgent{background:#ef444426;color:#ef4444;border-color:#ef44444d}.subscription-current-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:#3b6eff1a;color:var(--color-brand);border-radius:var(--radius-full);font-size:var(--text-sm)}.subscription-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.subscription-plan-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-6);text-align:center;position:relative;transition:var(--transition)}.subscription-plan-card:hover{border-color:var(--color-brand);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.subscription-plan-card.popular{border-color:var(--color-brand);box-shadow:var(--shadow-lg)}.subscription-plan-card.current{border-color:var(--color-success)}.plan-popular-tag,.plan-current-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.plan-popular-tag{background:var(--color-brand);color:#fff}.plan-current-tag{background:var(--color-success);color:#fff}.subscription-plan-card h3{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.plan-price{margin-bottom:var(--space-2)}.plan-price-amount{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-brand)}.plan-price-period{color:var(--color-text-muted);font-size:var(--text-base)}.plan-members{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.plan-features{list-style:none;padding:0;margin:0;text-align:left}.plan-features li{padding:var(--space-1-5) 0;color:var(--color-text-secondary);font-size:var(--text-sm);border-bottom:1px solid var(--color-border)}.plan-features li:last-child{border-bottom:none}.plan-btn{display:block;width:100%;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);border:none}.plan-btn-choose{background:var(--color-surface-2, #2a2a3a);color:var(--color-text-primary);border:1px solid var(--color-border)}.plan-btn-choose:hover:not(:disabled){background:var(--color-brand);color:#fff;border-color:var(--color-brand);transform:translateY(-1px)}.plan-btn-popular{background:var(--color-brand);color:#fff}.plan-btn-popular:hover:not(:disabled){background:var(--color-brand-hover)}.plan-btn-current{background:var(--color-surface-2, #2a2a3a);color:var(--color-text-muted);opacity:.6;cursor:default}.plan-btn:disabled{opacity:.55;cursor:default}.subscription-success-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.subscription-cancelled-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:#9ca3af26;color:var(--color-text-muted);border-radius:var(--radius-full);font-size:var(--text-sm);margin-bottom:var(--space-2)}.subscription-actions{text-align:center;margin-bottom:var(--space-6)}.subscription-manage-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3-5) var(--space-8);background:var(--color-brand);border:none;border-radius:var(--radius-2);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-body);cursor:pointer;transition:var(--transition);min-height:48px;box-shadow:var(--shadow-button)}.subscription-manage-btn:hover:not(:disabled){background:var(--color-brand-hover);transform:translateY(-1px)}.subscription-manage-btn:disabled{opacity:.55;cursor:default}.subscription-manage-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-3);max-width:500px;margin-left:auto;margin-right:auto}.subscription-back-link{display:block;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color var(--duration-fast)}.subscription-back-link:hover{color:var(--color-text-secondary)}@media(max-width:768px){.subscription-plans{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}.kiosk-page{min-height:100vh;background:#0d0d0d;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.kiosk-logo{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;color:#f0f0f0;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.kiosk-logo span{color:var(--accent, #7c6eff)}.kiosk-tagline{font-size:.85rem;color:#ffffff59;margin-bottom:2.5rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.kiosk-card{background:#161618;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.5rem 2rem;width:100%;max-width:420px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0a}.kiosk-prompt{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:#f0f0f0;margin-bottom:1.5rem}.kiosk-pin-display{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.75rem}.kiosk-pin-dot{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:transparent;transition:all .2s ease}.kiosk-pin-dot.filled{background:var(--accent, #7c6eff);border-color:var(--accent, #7c6eff);box-shadow:0 0 16px #7c6eff66}.kiosk-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.kiosk-key{background:#1a1a1e;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.2rem;font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:#e8e8f0;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;min-height:64px}.kiosk-key:hover{background:#222226;border-color:#7c6eff4d}.kiosk-key:active{transform:scale(.95);background:#7c6eff1f}.kiosk-key.clear{font-size:.85rem;font-family:var(--font-body);color:#fff6}.kiosk-success{color:var(--success, #22c55e)}.kiosk-success-name{font-family:var(--font-heading);font-size:2rem;font-weight:700;margin:.5rem 0}.kiosk-success-icon{font-size:3rem}.kiosk-error{color:var(--danger, #ef4444);font-family:var(--font-heading);font-size:1rem}.pin-screen{position:fixed;inset:0;background:#0d0d0d;display:flex;align-items:center;justify-content:center;z-index:100}.pin-screen-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;max-width:360px;width:100%;padding:2rem}.pin-logo{color:var(--accent, #7c6eff);margin-bottom:1.25rem;filter:drop-shadow(0 0 24px rgba(124,110,255,.35))}.pin-gym-name{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:#f0f0f0;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.pin-title{font-size:.85rem;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.15rem}.pin-sub{font-size:1.05rem;font-weight:500;color:#ffffff80;margin-bottom:2rem}.pin-cancel{margin-top:1.5rem;padding:.65rem 2rem;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff6;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.pin-cancel:hover{border-color:#ef444466;color:var(--danger, #ef4444)}.pin-input-group{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pin-entry-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#0d0d0d;min-height:0}.pin-entry-header{display:flex;gap:1rem;margin-bottom:2rem;width:100%;justify-content:center}.pin-tab{padding:.75rem 2rem;border:none;border-radius:12px;background:#1a1a1e;color:#fff6;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:1rem}.pin-tab:hover{background:#222226;color:#ffffffb3}.pin-tab:disabled{background:var(--accent, #7c6eff);color:#fff;cursor:default}.pin-entry-label{font-size:1.3rem;font-weight:600;color:#ffffffe6;margin-bottom:1.5rem;font-family:var(--font-heading);letter-spacing:.02em}.pin-entry-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pin-dots{display:flex;gap:1.25rem;justify-content:center}.pin-dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:transparent;transition:all .2s ease}.pin-dot.filled{background:var(--accent, #7c6eff);border-color:var(--accent, #7c6eff);box-shadow:0 0 16px #7c6eff80}.pin-dot.error{border-color:var(--danger, #ef4444)}.pin-dot.error.filled{background:var(--danger, #ef4444);box-shadow:0 0 16px #ef444480;animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pin-error{color:var(--danger, #ef4444);font-weight:600;font-size:.9rem;margin-top:-.5rem}.pin-pad{display:grid;grid-template-columns:repeat(3,76px);gap:.85rem}.pin-key{width:76px;height:76px;border-radius:50%;background:#161618;border:1px solid rgba(255,255,255,.08);color:#e8e8f0;font-weight:700;font-size:1.6rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pin-key:hover:not(:disabled){background:#1e1e22;border-color:#7c6eff4d}.pin-key:active:not(:disabled){transform:scale(.93);background:#7c6eff26}.pin-key:disabled{opacity:.5;cursor:not-allowed}.pin-key.invisible{visibility:hidden}.pin-key.del-key{color:#fff6;font-size:1.2rem}.pin-key.del-key:hover:not(:disabled){color:var(--danger, #ef4444)}.kiosk-mode-tabs{display:flex;gap:1rem;padding:1rem 2rem;justify-content:center;border-bottom:1px solid rgba(255,255,255,.06);background:#0d0d0d}.kiosk-mode-tab{padding:.6rem 1.5rem;border:none;border-radius:10px;background:#161618;color:#fff6;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:.95rem}.kiosk-mode-tab:hover{background:#1e1e22;color:#ffffffb3}.kiosk-mode-tab.active{background:var(--accent, #7c6eff);color:#fff}.kiosk-screen{min-height:100vh;background:#0d0d0d;display:flex;flex-direction:column}.kiosk-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.06);background:#111113}.kiosk-brand{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;color:#f0f0f0;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.kiosk-clock{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--accent, #7c6eff);display:flex;flex-direction:column;align-items:center;gap:.1rem}.kiosk-date{font-size:.72rem;color:#ffffff59;font-weight:500;font-family:var(--font-body)}.kiosk-exit-btn{background:#161618;border:1px solid rgba(255,255,255,.08);color:#ffffff59;padding:.45rem 1rem;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .15s ease;font-weight:500}.kiosk-exit-btn:hover{border-color:#ef444466;color:var(--danger, #ef4444)}.kiosk-schedule-panel{display:flex;gap:.75rem;padding:.85rem 2rem;background:#111113;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;align-items:center}.kiosk-schedule-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;font-size:.88rem;font-weight:600}.kiosk-schedule-inprogress{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#10b981}.kiosk-schedule-next{background:#161618;border:1px solid rgba(255,255,255,.06);color:#ffffff8c}.kiosk-schedule-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-dot 1.5s infinite;flex-shrink:0}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.kiosk-schedule-icon{display:flex;align-items:center;color:#ffffff59}.kiosk-schedule-label{color:inherit;opacity:.7;font-weight:500}.kiosk-schedule-name{font-weight:700}.kiosk-schedule-time{color:var(--accent, #7c6eff);font-weight:700;margin-left:.25rem}.kiosk-today-count{text-align:center;padding:.6rem;font-size:.82rem;color:#ffffff59;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.4rem}.kiosk-search-wrap{padding:1.25rem 2rem .75rem;display:flex;flex-direction:column;gap:.75rem}.kiosk-heading{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:#f0f0f0}.kiosk-search{width:100%;padding:.85rem 1.25rem;background:#161618;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#e8e8f0;font-size:1.05rem;outline:none;transition:all .15s ease}.kiosk-search:focus{border-color:var(--accent, #7c6eff);box-shadow:0 0 0 3px #7c6eff26}.kiosk-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.85rem;padding:1.25rem 2rem;overflow-y:auto;flex:1}.kiosk-loading,.kiosk-no-results,.kiosk-hint{grid-column:1 / -1;text-align:center;color:#ffffff59;font-size:1rem;padding:3rem 0}.kiosk-member-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#161618;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem .5rem;cursor:pointer;transition:all .15s ease;width:100%}.kiosk-member-btn:hover:not(:disabled){border-color:#7c6eff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.kiosk-member-btn.checked-in{opacity:.5;cursor:not-allowed;background:#10b9810f;border-color:#10b98126}.kiosk-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;font-family:var(--font-heading)}.kiosk-member-name{font-size:.78rem;font-weight:600;color:#e8e8f0;text-align:center;line-height:1.25}.kiosk-member-belt{font-size:.65rem;color:#ffffff59;text-transform:capitalize}.celebration-screen{min-height:100vh;background:#0d0d0d;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.celebration-glow{position:absolute;inset:0;background:var(--belt-bg);opacity:.12;pointer-events:none;filter:blur(80px)}.celebration-content{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;padding:3rem 2rem;position:relative;z-index:1;animation:celebration-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes celebration-in{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.celebration-avatar{width:130px;height:130px;border-radius:50%;background:var(--belt-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:2.8rem;font-weight:900;color:var(--belt-text, white);box-shadow:0 0 60px var(--belt-glow, rgba(124,110,255,.35)),0 12px 40px #0006;border:3px solid rgba(255,255,255,.15);margin-bottom:.75rem}.celebration-oss{font-size:1.2rem;color:#fff6;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.celebration-name{font-family:var(--font-heading);font-size:2.8rem;font-weight:900;color:#f0f0f0;line-height:1.1}.celebration-belt{font-size:1rem;color:#ffffff8c;font-weight:600;text-transform:capitalize;letter-spacing:.1em}.celebration-msg{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--accent-bright, #a78bfa);margin:.5rem 0}.celebration-badges{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.5rem 0}.celebration-streak{background:#fb923c1f;border:1px solid rgba(251,146,60,.25);color:#f97316;padding:.5rem 1.5rem;border-radius:999px;font-weight:700;font-size:1.05rem;letter-spacing:.03em;display:flex;align-items:center;gap:.5rem;animation:badge-pop .4s cubic-bezier(.34,1.56,.64,1) .2s both}.celebration-milestone{background:#a78bfa1f;border:1px solid rgba(167,139,250,.25);color:#a78bfa;padding:.5rem 1.5rem;border-radius:999px;font-weight:700;font-size:1.05rem;letter-spacing:.03em;display:flex;align-items:center;gap:.5rem;animation:badge-pop .4s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes badge-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.celebration-check{color:var(--success, #22c55e);margin-top:.5rem}.celebration-timer{display:flex;gap:.5rem;margin-top:1.5rem}.celebration-tick{width:32px;height:4px;border-radius:2px;background:var(--accent, #7c6eff);transition:opacity 1s ease}.celebration-tick.done{opacity:.15}@media(max-width:768px){.kiosk-header{padding:.75rem 1.25rem}.kiosk-schedule-panel{padding:.65rem 1.25rem}.kiosk-search-wrap{padding:1rem 1.25rem .5rem}.kiosk-member-grid{padding:1rem 1.25rem;gap:.65rem}.pin-pad{grid-template-columns:repeat(3,68px);gap:.8rem}.pin-key{width:68px;height:68px}}@media(max-width:600px){.celebration-name{font-size:2rem}.celebration-avatar{width:100px;height:100px;font-size:2.2rem}.kiosk-schedule-panel{padding:.5rem 1rem}.pin-pad{grid-template-columns:repeat(3,64px);gap:.7rem}.pin-key{width:64px;height:64px;font-size:1.4rem}}.kiosk-technique-loop{position:fixed;inset:0;z-index:900;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}.kiosk-technique-loop iframe{position:absolute;inset:0;width:100%;height:100%;border:none;pointer-events:none}.kiosk-technique-label{position:absolute;bottom:80px;left:0;right:0;padding:1.25rem 2rem;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,transparent 100%);z-index:10}.kiosk-technique-badge{display:inline-flex;align-items:center;gap:.4rem;background:#7c6effd9;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .85rem;border-radius:20px;margin-bottom:.5rem}.kiosk-technique-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.6);margin-bottom:.4rem}.kiosk-technique-desc{font-size:.9rem;color:#ffffffb3;text-shadow:0 1px 4px rgba(0,0,0,.5)}.kiosk-technique-dismiss{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;font-size:.82rem;color:#ffffff59;letter-spacing:.05em;z-index:10;animation:tech-pulse 2.5s ease-in-out infinite}@keyframes tech-pulse{0%,to{opacity:.35}50%{opacity:.75}}.book-trial-page{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;align-items:center;padding:0 1.25rem 4rem;overflow-x:hidden}.bt-progress{position:fixed;top:0;left:0;right:0;height:4px;background:#ffffff0f;z-index:100}.bt-progress-fill{height:100%;background:var(--accent, #7c6eff);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:0 2px 2px 0}.bt-step-container{width:100%;max-width:440px;margin:0 auto;padding-top:3rem;animation:fadeSlideIn .35s cubic-bezier(.4,0,.2,1) both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bt-step-container.bt-back{animation:fadeSlideBack .3s cubic-bezier(.4,0,.2,1) both}@keyframes fadeSlideBack{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.bt-step{display:flex;flex-direction:column;align-items:center;text-align:center}.bt-step-header{margin-bottom:2rem}.bt-logo-mark{margin-bottom:.5rem;color:var(--accent-bright, #a78bfa)}.bt-step-header h1{font-family:var(--font-heading, "Syne", sans-serif);font-size:1.8rem;font-weight:800;color:var(--text-primary, #fff);letter-spacing:-.01em;line-height:1.15}.bt-subtitle{font-size:.85rem;color:var(--text-muted, #888);margin-top:.35rem}.bt-back{align-self:flex-start;background:none;border:none;color:var(--text-muted, #888);font-size:.85rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:color .2s}.bt-back:hover{color:var(--text-primary, #fff)}.bt-question{font-family:var(--font-heading, "Syne", sans-serif);font-size:1.5rem;font-weight:700;color:var(--text-primary, #fff);margin-bottom:1.75rem;line-height:1.2}.bt-choices{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;width:100%;margin-bottom:1.5rem}.bt-choice-card{background:var(--surface, #1a1a2e);border:2px solid var(--border, #2a2a3e);border-radius:16px;padding:1.5rem 1rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:.35rem;min-height:120px;justify-content:center;-webkit-tap-highlight-color:transparent}.bt-choice-card:hover,.bt-choice-card:focus-visible{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.08));transform:translateY(-3px);box-shadow:0 8px 24px #7c6eff26}.bt-choice-card.selected{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.12));box-shadow:0 0 0 3px #7c6eff33}.bt-choice-card.bt-choice-tall{min-height:160px;padding:1.5rem 1.25rem}.bt-choice-icon{font-size:2.2rem}.bt-choice-label{font-family:var(--font-heading, "Syne", sans-serif);font-size:1.1rem;font-weight:700;color:var(--text-primary, #fff)}.bt-choice-detail{font-size:.72rem;color:var(--text-muted, #888);line-height:1.4}.bt-age-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;width:100%;margin-bottom:1.5rem}.bt-age-btn{background:var(--surface, #1a1a2e);border:2px solid var(--border, #2a2a3e);border-radius:14px;padding:.9rem 0;font-family:var(--font-heading, "Syne", sans-serif);font-size:1.2rem;font-weight:700;color:var(--text-primary, #fff);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;min-height:56px}.bt-age-btn:hover,.bt-age-btn:focus-visible{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.08));transform:scale(1.05)}.bt-age-btn.selected{border-color:var(--accent, #7c6eff);background:var(--accent, #7c6eff);color:#fff}.bt-auto-route{font-size:.82rem;color:var(--accent-bright, #a78bfa);background:var(--accent-dim, rgba(124,110,255,.08));padding:.6rem 1rem;border-radius:10px;width:100%}.bt-class-list{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-bottom:1.5rem}.bt-class-card{background:var(--surface, #1a1a2e);border:2px solid var(--border, #2a2a3e);border-radius:14px;padding:1.25rem;cursor:pointer;transition:all .2s;text-align:left;-webkit-tap-highlight-color:transparent}.bt-class-card:hover,.bt-class-card:focus-visible{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.08));transform:translateY(-2px)}.bt-class-card.selected{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.12))}.bt-class-label{font-family:var(--font-heading, "Syne", sans-serif);font-size:1rem;font-weight:700;color:var(--text-primary, #fff)}.bt-class-detail{font-size:.78rem;color:var(--text-muted, #888);margin-top:.25rem}.bt-date-list{display:flex;flex-direction:column;gap:.6rem;width:100%;margin-bottom:1.25rem}.bt-date-card{background:var(--surface, #1a1a2e);border:2px solid var(--border, #2a2a3e);border-radius:14px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:space-between;gap:1rem;-webkit-tap-highlight-color:transparent;min-height:64px}.bt-date-card:hover,.bt-date-card:focus-visible{border-color:var(--accent, #7c6eff);background:var(--accent-dim, rgba(124,110,255,.08));transform:translateY(-2px)}.bt-date-card.selected{border-color:var(--accent, #7c6eff);background:var(--accent, #7c6eff)}.bt-date-left{display:flex;align-items:baseline;gap:.5rem}.bt-date-day{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #888);min-width:30px}.bt-date-num{font-family:var(--font-heading, "Syne", sans-serif);font-size:1.3rem;font-weight:800;color:var(--text-primary, #fff)}.bt-date-month{font-size:.72rem;color:var(--text-muted, #888)}.bt-date-time{font-size:.78rem;color:var(--accent-bright, #a78bfa);white-space:nowrap;font-weight:600}.bt-date-card.selected .bt-date-day,.bt-date-card.selected .bt-date-num,.bt-date-card.selected .bt-date-month,.bt-date-card.selected .bt-date-time{color:#fff}.bt-date-alt{display:flex;align-items:center;gap:.75rem;width:100%;margin-bottom:1rem}.bt-date-alt-label{font-size:.78rem;color:var(--text-muted, #888);white-space:nowrap}.bt-date-input{flex:1;background:#ffffff0d;border:1px solid var(--border-bright, #3a3a4e);border-radius:10px;color:var(--text-primary, #fff);padding:.6rem .75rem;font-size:.88rem;font-family:var(--font-body, sans-serif)}.bt-date-input:focus{outline:none;border-color:var(--accent, #7c6eff);box-shadow:0 0 0 3px #7c6eff26}.bt-form-fields{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:1.5rem;text-align:left}.bt-field-group{display:flex;flex-direction:column;gap:.35rem}.bt-field-group label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #888)}.bt-input{background:#ffffff0d;border:1.5px solid var(--border-bright, #3a3a4e);border-radius:12px;color:var(--text-primary, #fff);padding:.85rem 1rem;font-size:1rem;font-family:var(--font-body, sans-serif);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.bt-input:focus{outline:none;border-color:var(--accent, #7c6eff);box-shadow:0 0 0 3px #7c6eff26}.bt-input::placeholder{color:#ffffff40}.bt-field-hint{font-size:.68rem;color:var(--text-muted, #888)}.bt-optional{font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}.bt-next-btn,.bt-submit-btn{width:100%;padding:1rem;border:none;border-radius:14px;font-family:var(--font-heading, "Syne", sans-serif);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.bt-next-btn{background:var(--surface, #1a1a2e);border:2px solid var(--accent, #7c6eff);color:var(--accent-bright, #a78bfa)}.bt-next-btn:hover:not(:disabled){background:var(--accent-dim, rgba(124,110,255,.12))}.bt-submit-btn{background:var(--accent, #7c6eff);color:#fff;margin-bottom:.5rem}.bt-submit-btn:hover:not(:disabled){background:var(--accent-hover, #6b5ce7);box-shadow:0 8px 24px #7c6eff40;transform:translateY(-1px)}.bt-next-btn:disabled,.bt-submit-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.bt-confirm-card{background:var(--surface, #1a1a2e);border:1.5px solid var(--border, #2a2a3e);border-radius:16px;padding:1.25rem;width:100%;margin-bottom:1.5rem;text-align:left}.bt-confirm-row{display:flex;gap:.75rem;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.06);align-items:flex-start}.bt-confirm-row:last-child{border-bottom:none}.bt-confirm-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #888);min-width:60px;padding-top:.1rem}.bt-confirm-value{font-size:.88rem;color:var(--text-primary, #fff);line-height:1.4}.bt-confirm-location .bt-confirm-value{font-size:.78rem;color:var(--text-secondary, #aaa)}.bt-reassurance{font-size:.75rem;color:var(--text-muted, #888);text-align:center;margin-top:1rem}.bt-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:.65rem 1rem;font-size:.82rem;color:#ef4444;width:100%;text-align:left;margin-bottom:1rem}.bt-done{padding-top:3rem}.bt-done-icon{margin-bottom:1rem;color:var(--success, #22c55e);background:#22c55e1f;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.bt-done h1{font-family:var(--font-heading, "Syne", sans-serif);font-size:2.2rem;font-weight:800;color:var(--text-primary, #fff)}.bt-done-sub{font-size:1rem;color:var(--text-secondary, #aaa);margin-top:.35rem;margin-bottom:2rem}.bt-done-checklist{text-align:left;width:100%;display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.bt-done-item{font-size:.92rem;color:var(--text-primary, #fff);padding:.65rem 1rem;background:var(--surface, #1a1a2e);border-radius:10px}.bt-done-details{background:var(--surface, #1a1a2e);border-radius:14px;padding:1rem 1.25rem;width:100%;text-align:left;display:flex;flex-direction:column;gap:.5rem;font-size:.82rem;color:var(--text-secondary, #aaa)}.bt-done-link{display:inline-block;margin-top:2rem;font-size:.85rem;color:var(--accent-bright, #a78bfa);text-decoration:none}.bt-done-link:hover{color:var(--text-primary, #fff)}@media(max-width:480px){.book-trial-page{padding:0 1rem 3rem}.bt-step-container{padding-top:2rem}.bt-step-header h1{font-size:1.5rem}.bt-question{font-size:1.3rem;margin-bottom:1.25rem}.bt-choices{gap:.65rem}.bt-choice-card{padding:1.25rem .75rem;min-height:110px}.bt-choice-icon{font-size:1.8rem}.bt-age-grid{grid-template-columns:repeat(4,1fr)}.bt-date-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:360px){.bt-age-grid{grid-template-columns:repeat(3,1fr)}.bt-question{font-size:1.2rem}}.bt-sms-consent{margin-top:1rem;padding:.85rem 1rem;background:var(--surface-3, #1e1e2e);border:1px solid var(--border);border-radius:var(--radius-sm)}.bt-sms-consent-label{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;font-weight:600;color:var(--text-primary);cursor:pointer;margin-bottom:.5rem}.bt-sms-consent-checkbox{margin-top:2px;accent-color:var(--accent, #667eea);width:15px;height:15px;flex-shrink:0}.bt-sms-consent-text{font-size:.72rem;color:var(--text-muted);line-height:1.5;margin:0;padding-left:1.5rem}.bt-sms-consent-link{color:var(--accent, #667eea);text-decoration:underline}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base, #0a0a14);padding:2rem 1rem}.signup-container{width:100%;max-width:560px}.signup-header{text-align:center;margin-bottom:2rem}.signup-logo{font-size:3rem;margin-bottom:.5rem}.signup-header h1{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.75rem;font-weight:700;color:var(--text-primary, #e2e8f0);margin:0 0 .25rem}.signup-subtitle{color:var(--text-secondary, #94a3b8);font-size:.95rem;margin:0}.signup-form{background:var(--bg-card, #13131f);border:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:16px;padding:2rem}.signup-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.signup-section:last-of-type{border-bottom:none;margin-bottom:1rem;padding-bottom:0}.signup-section-header{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.signup-section-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent, #7c3aed);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}.signup-section-title{font-family:var(--font-heading, "Jost", sans-serif);font-size:1.1rem;font-weight:700;color:var(--text-primary, #e2e8f0);margin:0;letter-spacing:.01em}.signup-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.signup-row-address{grid-template-columns:2fr 1fr 1fr}.signup-field{margin-bottom:1rem}.signup-field:last-child{margin-bottom:0}.signup-section>.signup-field:last-child,.signup-section>.signup-row:last-child .signup-field{margin-bottom:0}.signup-field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.signup-field input[type=text],.signup-field input[type=email],.signup-field input[type=tel],.signup-field input[type=date],.signup-field select{width:100%;padding:.7rem .85rem;background:var(--bg-input, #1a1a2e);border:1px solid var(--border-subtle, rgba(255,255,255,.08));border-radius:8px;color:var(--text-primary, #e2e8f0);font-size:.95rem;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.signup-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.signup-field input[type=date]{color-scheme:dark}.signup-field input:focus,.signup-field select:focus{outline:none;border-color:var(--accent, #7c3aed);box-shadow:0 0 0 2px #7c3aed26}.signup-field input::placeholder{color:var(--text-muted, #64748b)}.signup-radio-group{display:flex;gap:.5rem}.signup-radio-card{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;background:var(--bg-input, #1a1a2e);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s;font-size:.85rem;color:var(--text-secondary, #94a3b8)}.signup-radio-card:hover{background:#7c3aed0f}.signup-radio-card.selected{border-color:var(--accent, #7c3aed);background:#7c3aed14;color:var(--text-primary, #e2e8f0)}.signup-radio-card input[type=radio]{display:none}.signup-payment-tabs{display:flex;gap:0;margin-bottom:1rem;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle, rgba(255,255,255,.08))}.signup-payment-tab{flex:1;padding:.7rem .5rem;background:var(--bg-input, #1a1a2e);border:none;color:var(--text-secondary, #94a3b8);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}.signup-payment-tab:first-child{border-right:1px solid var(--border-subtle, rgba(255,255,255,.08))}.signup-payment-tab:hover{background:#7c3aed0f}.signup-payment-tab.active{background:#7c3aed1f;color:var(--accent-bright, #a78bfa)}.signup-ach-notice{text-align:center;padding:1.5rem 1rem;background:var(--bg-input, #1a1a2e);border-radius:10px;border:1px dashed rgba(255,255,255,.1)}.signup-ach-icon{font-size:2rem;margin-bottom:.5rem}.signup-ach-notice p{margin:0;color:var(--text-secondary, #94a3b8);font-size:.9rem}.signup-ach-sub{margin-top:.35rem!important;font-size:.8rem!important;color:var(--text-muted, #64748b)!important}.signup-plans{display:flex;flex-direction:column;gap:.5rem}.signup-plans-loading{color:var(--text-secondary, #94a3b8);font-size:.9rem;padding:1rem 0;text-align:center}.signup-plan-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--bg-input, #1a1a2e);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.signup-plan-card:hover{background:#7c3aed0f}.signup-plan-card.selected{border-color:var(--accent, #7c3aed);background:#7c3aed14}.signup-plan-card input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border-subtle, rgba(255,255,255,.15));border-radius:50%;flex-shrink:0;position:relative;transition:border-color .2s}.signup-plan-card.selected input[type=radio]{border-color:var(--accent, #7c3aed)}.signup-plan-card.selected input[type=radio]:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--accent, #7c3aed)}.signup-plan-info{flex:1;display:flex;flex-direction:column}.signup-plan-name{font-weight:600;color:var(--text-primary, #e2e8f0);font-size:.95rem}.signup-plan-desc{font-size:.8rem;color:var(--text-secondary, #94a3b8);margin-top:.15rem}.signup-plan-price{font-weight:700;font-size:1.15rem;color:var(--accent-bright, #a78bfa);white-space:nowrap}.signup-plan-interval{font-size:.75rem;font-weight:400;color:var(--text-secondary, #94a3b8)}.signup-card-wrap{padding:.75rem .85rem;background:var(--bg-input, #1a1a2e);border:1px solid var(--border-subtle, rgba(255,255,255,.08));border-radius:8px;min-height:44px;transition:border-color .2s}.signup-card-wrap:focus-within{border-color:var(--accent, #7c3aed);box-shadow:0 0 0 2px #7c3aed26}.signup-card-error{color:var(--danger, #ef4444);font-size:.8rem;margin-top:.35rem}.signup-summary{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#7c3aed0f;border:1px solid rgba(124,58,237,.15);border-radius:10px;margin-bottom:1.25rem;color:var(--text-secondary, #94a3b8);font-size:.95rem}.signup-summary strong{color:var(--accent-bright, #a78bfa);font-size:1.15rem}.signup-submit{width:100%;padding:.85rem 1.5rem;background:var(--accent, #7c3aed);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;font-family:var(--font-heading, "Jost", sans-serif);cursor:pointer;transition:background .2s,opacity .2s;letter-spacing:.02em}.signup-submit:hover:not(:disabled){background:var(--accent-hover, #6d28d9)}.signup-submit:disabled{opacity:.5;cursor:not-allowed}.signup-error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171;padding:.7rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.signup-legal{text-align:center;font-size:.75rem;color:var(--text-muted, #64748b);margin-top:1rem;line-height:1.4}.signup-legal a{color:var(--accent-bright, #a78bfa);text-decoration:none}.signup-legal a:hover{text-decoration:underline}@media(max-width:520px){.signup-page{padding:2rem .75rem 1rem;align-items:flex-start}.signup-form{padding:1.25rem;border-radius:12px}.signup-row,.signup-row-address{grid-template-columns:1fr}.signup-header h1{font-size:1.4rem}.signup-radio-group{flex-direction:column}}:root{--bg-card: var(--color-surface);--bg-page: var(--color-bg);--border-subtle: var(--color-border-bright);--card-bg: var(--color-surface);--text: var(--color-text-primary);--accent: var(--color-brand);--accent-bright: var(--color-brand-hover);--accent-dim: var(--color-brand-dim);--accent-glow: var(--color-brand-glow);--accent-hover: var(--color-brand-hover);--bg: var(--color-bg);--bg-base: var(--color-bg);--bg-input: var(--color-surface-2);--border: var(--color-border);--border-accent: var(--color-border-accent);--border-bright: var(--color-border-bright);--surface: var(--color-surface);--surface-1: var(--color-surface);--surface-2: var(--color-surface-2);--surface-3: var(--color-surface-3);--surface-4: var(--color-surface-4);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--danger: var(--color-error);--danger-dim: var(--color-error-dim);--danger-rgb: 255,64,64;--success: var(--color-success);--success-dim: var(--color-success-dim);--warning: var(--color-warning);--warning-dim: var(--color-warning-dim);--info: var(--color-brand);--info-dim: var(--color-brand-dim);--glow: 0 0 20px var(--color-brand-glow);--glow-sm: 0 0 10px var(--color-brand-glow);--radius: var(--radius-3);--radius-xs: var(--radius-0-5);--radius-sm: var(--radius-1-5);--radius-md: var(--radius-2-5);--radius-lg: var(--radius-4);--radius-xl: var(--radius-6);--color-border-default: var(--color-border);--color-primary: var(--color-brand);--font-normal: var(--font-regular);--belt-bg: var(--color-surface-3);--belt-glow: var(--white-alpha-35);--belt-text: var(--color-text-primary);--space-0: 0px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-40: 160px;--radius-0: 0px;--radius-0-5: 2px;--radius-1: 4px;--radius-1-5: 6px;--radius-2: 8px;--radius-2-5: 10px;--radius-3: 12px;--radius-3-5: 14px;--radius-4: 16px;--radius-5: 20px;--radius-6: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.4), 0 0 0 1px rgba(0,0,0,.08);--shadow-sm: 0 1px 4px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 8px 24px rgba(0,0,0,.55), 0 4px 8px rgba(0,0,0,.3);--shadow-xl: 0 16px 40px rgba(0,0,0,.6), 0 8px 16px rgba(0,0,0,.35);--shadow-2xl: 0 24px 64px rgba(0,0,0,.65), 0 12px 24px rgba(0,0,0,.4);--shadow-button: 0 1px 4px rgba(0,0,0,.4), 0 2px 6px rgba(59,110,255,.2);--shadow-focus: 0 0 0 3px rgba(59,110,255,.35);--shadow-button-focus: 0 0 0 3px rgba(59,110,255,.35), 0 2px 6px rgba(59,110,255,.2);--shadow-input-active: 0 0 0 2px rgba(59,110,255,.4);--shadow-checkbox: 0 0 0 2px rgba(59,110,255,.35);--shadow-card: 0 2px 12px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.05);--mono-100: #f5f5f5;--mono-200: #e8e8e8;--mono-300: #d0d0d0;--mono-400: #a8a8a8;--mono-500: #808080;--mono-600: #606060;--mono-700: #404040;--mono-800: #2a2a2a;--mono-900: #1e1e1e;--mono-1000: #141414;--mono-1100: #0a0a0a;--brand-100: #e8eeff;--brand-200: #c5d4ff;--brand-300: #96b0ff;--brand-400: #6b8eff;--brand-500: #4a72ff;--brand-600: #3b6eff;--brand-700: #2c5ae0;--brand-800: #2347c0;--brand-900: #1a35a0;--brand-1000: #122680;--brand-1100: #0a1860;--error-100: #fff0f0;--error-200: #ffd6d6;--error-300: #ffaaaa;--error-400: #ff7a7a;--error-500: #ff5252;--error-600: #ff4040;--error-700: #e02020;--error-800: #c01010;--error-900: #a00000;--error-1000: #800000;--error-1100: #600000;--success-100: #f0fff8;--success-200: #c8ffe8;--success-300: #96f0cc;--success-400: #60e0aa;--success-500: #2ecc88;--success-600: #00c896;--success-700: #00a87a;--success-800: #008860;--success-900: #006848;--success-1000: #004830;--success-1100: #003020;--warning-100: #fffbf0;--warning-200: #fef3c7;--warning-300: #fde68a;--warning-400: #fcd34d;--warning-500: #fbbf24;--warning-600: #f59e0b;--warning-700: #d97706;--warning-800: #b45309;--warning-900: #92400e;--warning-1000: #78350f;--warning-1100: #5a2a0a;--mint-100: #f0fffe;--mint-200: #c8fff8;--mint-300: #96f0ea;--mint-400: #60e0d8;--mint-500: #2eccc4;--mint-600: #00d4aa;--mint-700: #00b090;--mint-800: #008c74;--mint-900: #006858;--mint-1000: #00483c;--mint-1100: #003028;--purple-100: #f5f0ff;--purple-200: #e4d8ff;--purple-300: #c4aaff;--purple-400: #a67cff;--purple-500: #8c52ff;--purple-600: #7c3aed;--purple-700: #6d28d9;--purple-800: #5b21b6;--purple-900: #4c1d95;--purple-1000: #3b1580;--purple-1100: #2a0f60;--color-bg: #080c14;--color-surface: #131a2b;--color-surface-2: #1a2236;--color-surface-3: #222c42;--color-surface-4: #2a354e;--color-overlay: rgba(8,12,20,.85);--color-border: rgba(255,255,255,.07);--color-border-bright: rgba(255,255,255,.13);--color-border-accent: rgba(59,110,255,.35);--color-border-error: rgba(255,64,64,.5);--color-border-success:rgba(0,200,150,.4);--color-text-primary: #f0f4ff;--color-text-secondary: #8a9bc0;--color-text-muted: #4a5568;--color-text-disabled: #2d3748;--color-text-inverse: #080c14;--color-text-brand: #6b9eff;--color-text-error: #ff7a7a;--color-text-success: #00d4aa;--color-text-warning: #fbbf24;--color-brand: #3b6eff;--color-brand-hover: #5580ff;--color-brand-active: #2c5ae0;--color-brand-tonal: rgba(59,110,255,.15);--color-brand-tonal-hover: rgba(59,110,255,.25);--color-brand-dim: rgba(59,110,255,.1);--color-brand-glow: rgba(59,110,255,.25);--color-error: #ff4040;--color-error-hover: #ff5252;--color-error-tonal: rgba(255,64,64,.12);--color-error-dim: rgba(255,64,64,.08);--color-success: #00c896;--color-success-hover: #00d4aa;--color-success-tonal: rgba(0,200,150,.12);--color-success-dim: rgba(0,200,150,.08);--color-warning: #f59e0b;--color-warning-hover: #fbbf24;--color-warning-tonal: rgba(245,158,11,.12);--color-warning-dim: rgba(245,158,11,.08);--color-adults: #3b6eff;--color-juniors: #00d4aa;--color-peewee: #ff6b9d;--color-teens: #a78bfa;--color-openmat: #f59e0b;--font-heading: "Jost", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 28px;--text-5xl: 32px;--text-6xl: 40px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-loose: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--tracking-widest: .12em;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--nb-brand: #c8202a;--nb-brand-hover: #d42d37;--nb-brand-active: #a81b23;--nb-brand-tonal: rgba(200, 32, 42, .12);--nb-brand-dim: rgba(200, 32, 42, .06);--belt-white: #f5f5f5;--belt-blue: #1e40af;--belt-purple: #6b21a8;--belt-brown: #78350f;--belt-black: #1a1a1a;--belt-coral: #e74c3c;--belt-yellow: #f59e0b;--belt-orange: #ea580c;--belt-green: #16a34a;--belt-grey: #6b7280;--chart-primary: #3b6eff;--chart-secondary: #00d4aa;--chart-tertiary: #f59e0b;--chart-quaternary:#a78bfa;--chart-danger: #ff4040;--chart-neutral: #4a5568;--btn-height-xs: 28px;--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-px-xs: var(--space-2);--btn-px-sm: var(--space-3);--btn-px-md: var(--space-4);--btn-px-lg: var(--space-5);--input-height-sm: 32px;--input-height-md: 40px;--input-height-lg: 48px;--ease-default: cubic-bezier(.2, 0, 0, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-fast: .1s;--duration-normal: .18s;--duration-slow: .28s;--transition-fast: all var(--duration-fast) var(--ease-out);--transition: all var(--duration-normal) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-default);--transition-spring: all var(--duration-slow) var(--ease-spring);--overlay-bg: rgba(0,0,0,.5);--overlay-light: rgba(0,0,0,.3);--overlay-heavy: rgba(0,0,0,.75);--white-alpha-5: rgba(255,255,255,.05);--white-alpha-8: rgba(255,255,255,.08);--white-alpha-10: rgba(255,255,255,.1);--white-alpha-13: rgba(255,255,255,.13);--white-alpha-15: rgba(255,255,255,.15);--white-alpha-20: rgba(255,255,255,.2);--white-alpha-35: rgba(255,255,255,.35);--white-alpha-40: rgba(255,255,255,.4);--white-alpha-55: rgba(255,255,255,.55);--white-alpha-70: rgba(255,255,255,.7);--white-alpha-90: rgba(255,255,255,.9);--black-alpha-5: rgba(0,0,0,.05);--black-alpha-8: rgba(0,0,0,.08);--black-alpha-10: rgba(0,0,0,.1);--black-alpha-15: rgba(0,0,0,.15);--black-alpha-20: rgba(0,0,0,.2);--black-alpha-30: rgba(0,0,0,.3);--black-alpha-40: rgba(0,0,0,.4);--black-alpha-55: rgba(0,0,0,.55);--black-alpha-60: rgba(0,0,0,.6);--black-alpha-65: rgba(0,0,0,.65);--black-alpha-80: rgba(0,0,0,.8);--black-alpha-92: rgba(0,0,0,.92);--overlay-dark: rgba(0,0,0,.85);--white-alpha-2: rgba(255,255,255,.02);--white-alpha-3: rgba(255,255,255,.03);--white-alpha-4: rgba(255,255,255,.04);--white-alpha-6: rgba(255,255,255,.06);--white-alpha-7: rgba(255,255,255,.07);--white-alpha-12: rgba(255,255,255,.12);--white-alpha-25: rgba(255,255,255,.25);--white-alpha-30: rgba(255,255,255,.3);--white-alpha-50: rgba(255,255,255,.5);--white-alpha-80: rgba(255,255,255,.8);--white-alpha-88: rgba(255,255,255,.88);--white-alpha-97: rgba(255,255,255,.97);--black-alpha-6: rgba(0,0,0,.06);--black-alpha-12: rgba(0,0,0,.12);--black-alpha-14: rgba(0,0,0,.14);--black-alpha-25: rgba(0,0,0,.25);--black-alpha-50: rgba(0,0,0,.5);--black-alpha-70: rgba(0,0,0,.7);--z-base: 0;--z-raised: 10;--z-dropdown:100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-tooltip: 500;--z-toast: 600}[data-theme=light]{--color-bg: #f4f6fb;--color-surface: #ffffff;--color-surface-2: #f0f2f8;--color-surface-3: #e6eaf4;--color-surface-4: #dde2ef;--color-overlay: rgba(244,246,251,.85);--color-border: rgba(0,0,0,.08);--color-border-bright: rgba(0,0,0,.14);--color-border-accent: rgba(44,90,224,.3);--color-border-error: rgba(229,62,62,.4);--color-border-success:rgba(0,168,120,.35);--color-text-primary: #0f1623;--color-text-secondary: #3d4f72;--color-text-muted: #6b7a99;--color-text-disabled: #b0b8cc;--color-text-inverse: #f0f4ff;--color-text-brand: #2c5ae0;--color-text-error: #dc2626;--color-text-success: #059669;--color-text-warning: #d97706;--color-brand: #2c5ae0;--color-brand-hover: #3b6eff;--color-brand-active: #1e4abf;--color-brand-tonal: rgba(44,90,224,.1);--color-brand-tonal-hover: rgba(44,90,224,.18);--color-brand-dim: rgba(44,90,224,.06);--color-brand-glow: rgba(44,90,224,.15);--color-error: #dc2626;--color-error-hover: #ef4444;--color-error-tonal: rgba(220,38,38,.08);--color-error-dim: rgba(220,38,38,.05);--color-success: #059669;--color-success-hover: #10b981;--color-success-tonal: rgba(5,150,105,.08);--color-success-dim: rgba(5,150,105,.05);--color-warning: #d97706;--color-warning-hover: #f59e0b;--color-warning-tonal: rgba(217,119,6,.08);--color-warning-dim: rgba(217,119,6,.05);--shadow-xs: 0 1px 2px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 8px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 20px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.05);--shadow-xl: 0 16px 32px rgba(0,0,0,.1), 0 8px 16px rgba(0,0,0,.05);--shadow-2xl: 0 24px 48px rgba(0,0,0,.12), 0 12px 24px rgba(0,0,0,.06);--shadow-button: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(44,90,224,.1);--shadow-focus: 0 0 0 3px rgba(44,90,224,.25);--shadow-button-focus: 0 0 0 3px rgba(44,90,224,.25), 0 1px 3px rgba(44,90,224,.1);--shadow-input-active: 0 0 0 2px rgba(44,90,224,.25);--shadow-checkbox: 0 0 0 2px rgba(44,90,224,.25);--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--btn-px-md);border:1.5px solid transparent;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;letter-spacing:var(--tracking-wide);cursor:pointer;white-space:nowrap;text-decoration:none;transition:var(--transition);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;outline:none}.btn:focus-visible{box-shadow:var(--shadow-focus)}.btn:disabled,.btn[disabled]{opacity:.38;cursor:not-allowed;pointer-events:none}.btn-xs{height:var(--btn-height-xs);padding:0 var(--btn-px-xs);font-size:var(--text-xs)}.btn-sm{height:var(--btn-height-sm);padding:0 var(--btn-px-sm);font-size:var(--text-sm)}.btn-md{height:var(--btn-height-md);padding:0 var(--btn-px-md);font-size:var(--text-base)}.btn-lg{height:var(--btn-height-lg);padding:0 var(--btn-px-lg);font-size:var(--text-lg)}.btn-filled,.btn-primary{background:var(--color-brand);border-color:var(--color-brand);color:#fff;box-shadow:var(--shadow-button)}.btn-filled:hover,.btn-primary:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-filled:active,.btn-primary:active{background:var(--color-brand-active);border-color:var(--color-brand-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-filled:focus-visible,.btn-primary:focus-visible{box-shadow:var(--shadow-button-focus)}.btn-tonal{background:var(--color-brand-tonal);border-color:transparent;color:var(--color-text-brand)}.btn-tonal:hover{background:var(--color-brand-tonal-hover);transform:translateY(-1px)}.btn-tonal:active{background:#3b6eff4d;transform:translateY(0)}.btn-outline{background:transparent;border-color:var(--color-border-bright);color:var(--color-text-primary)}.btn-outline:hover{background:var(--color-surface-2);border-color:var(--color-border-accent);color:var(--color-text-brand)}.btn-outline:active{background:var(--color-brand-dim)}.btn-bare,.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn-bare:hover,.btn-ghost:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.btn-bare:active,.btn-ghost:active{background:var(--color-surface-3)}.btn-success{background:var(--color-success);border-color:var(--color-success);color:#080c14;box-shadow:0 2px 8px #00c8964d}.btn-success:hover{background:var(--color-success-hover);box-shadow:0 4px 16px #00c89659;transform:translateY(-1px);color:#080c14}.btn-success:active{transform:translateY(0)}.btn-danger{background:var(--color-error);border-color:var(--color-error);color:#fff;box-shadow:0 2px 8px #ff40404d}.btn-danger:hover{background:var(--color-error-hover);box-shadow:0 4px 16px #ff404059;transform:translateY(-1px);color:#fff}.btn-danger:active{transform:translateY(0)}.btn-warning{background:var(--color-warning);border-color:var(--color-warning);color:#080c14;box-shadow:0 2px 8px #f59e0b4d}.btn-warning:hover{background:var(--color-warning-hover);transform:translateY(-1px)}.btn-mono{background:var(--color-surface-3);border-color:var(--color-border-bright);color:var(--color-text-primary)}.btn-mono:hover{background:var(--color-surface-4);border-color:var(--color-border-accent);transform:translateY(-1px)}.btn-icon{width:var(--btn-height-md);padding:0;border-radius:var(--radius-2)}.btn-icon.btn-sm{width:var(--btn-height-sm)}.btn-icon.btn-lg{width:var(--btn-height-lg);border-radius:var(--radius-3)}.btn-icon.btn-xs{width:var(--btn-height-xs)}.btn-block{width:100%}.btn.loading{pointer-events:none}.btn.loading:after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite;margin-left:var(--space-2)}@keyframes btn-spin{to{transform:rotate(360deg)}}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide)}.form-label.required:after{content:" *";color:var(--color-error)}.form-help{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-0-5)}.form-error-msg{font-size:var(--text-xs);color:var(--color-text-error);margin-top:var(--space-0-5);display:flex;align-items:center;gap:var(--space-1)}.input-wrap{position:relative;display:flex;align-items:center}.input{width:100%;height:var(--input-height-md);padding:0 var(--space-4);background:var(--color-surface-2);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-regular);transition:var(--transition);outline:none;appearance:none;-webkit-appearance:none}.input::placeholder{color:var(--color-text-muted)}.input:hover{border-color:var(--color-border-accent);background:var(--color-surface-3)}.input:focus{border-color:var(--color-brand);background:var(--color-surface-2);box-shadow:var(--shadow-input-active)}.input:disabled{opacity:.38;cursor:not-allowed;background:var(--color-surface)}.input.error{border-color:var(--color-error)}.input.error:focus{box-shadow:0 0 0 2px #ff404059}.input.success{border-color:var(--color-success)}.input-sm{height:var(--input-height-sm);font-size:var(--text-sm);padding:0 var(--space-3)}.input-lg{height:var(--input-height-lg);font-size:var(--text-lg);padding:0 var(--space-5)}.input-wrap .input-icon-left{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none}.input-wrap .input-icon-right{position:absolute;right:var(--space-3);color:var(--color-text-muted)}.input-wrap .input-icon-left~.input{padding-left:var(--space-9)}.input-wrap .input-icon-right~.input,.input-wrap .input:has(~.input-icon-right){padding-right:var(--space-9)}.input-wrap.has-prefix .input{padding-left:var(--space-9)}.input-wrap.has-suffix .input{padding-right:var(--space-9)}.textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);resize:vertical;min-height:100px;transition:var(--transition);outline:none}.textarea:hover{border-color:var(--color-border-accent);background:var(--color-surface-3)}.textarea:focus{border-color:var(--color-brand);box-shadow:var(--shadow-input-active)}.select{width:100%;height:var(--input-height-md);padding:0 var(--space-8) 0 var(--space-4);background:var(--color-surface-2);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;transition:var(--transition);outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a9bc0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center}.select:hover{border-color:var(--color-border-accent)}.select:focus{border-color:var(--color-brand);box-shadow:var(--shadow-input-active)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2-5);height:22px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);white-space:nowrap;border:1.5px solid transparent;transition:var(--transition-fast)}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-lg{height:28px;padding:0 var(--space-3);font-size:var(--text-sm)}.badge-sm{height:18px;padding:0 var(--space-2);font-size:10px}.badge-brand{background:var(--color-brand);color:#fff}.badge-success{background:var(--color-success);color:#fff}.badge-error{background:var(--color-error);color:#fff}.badge-warning{background:var(--color-warning);color:#080c14}.badge-mono{background:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-border-bright)}.badge-brand-tonal{background:var(--color-brand-tonal);color:var(--color-text-brand);border-color:var(--color-border-accent)}.badge-success-tonal{background:var(--color-success-tonal);color:var(--color-success);border-color:#00c8964d}.badge-error-tonal{background:var(--color-error-tonal);color:var(--color-error);border-color:#ff40404d}.badge-warning-tonal{background:var(--color-warning-tonal);color:var(--color-warning);border-color:#f59e0b4d}.badge-active{background:#00c8961f;color:var(--color-success);border-color:#00c8964d}.badge-trial{background:#3b6eff1f;color:var(--color-text-brand);border-color:var(--color-border-accent)}.badge-frozen{background:#8a9bc01f;color:var(--color-text-secondary);border-color:#8a9bc040}.badge-canceled{background:#ff40401a;color:var(--color-error);border-color:#ff404040}.badge-overdue{background:#ff40401f;color:var(--color-error);border-color:#ff40404d}.badge-visitor{background:#f59e0b1f;color:var(--color-warning);border-color:#f59e0b4d}.badge-noshow{background:#ff40401a;color:var(--color-error);border-color:#ff404040}.badge-adults{background:#3b6eff1f;color:var(--color-adults);border-color:#3b6eff4d}.badge-juniors{background:#00d4aa1f;color:var(--color-juniors);border-color:#00d4aa4d}.badge-peewee{background:#ff6b9d1f;color:var(--color-peewee);border-color:#ff6b9d4d}.badge-teens{background:#a78bfa1f;color:var(--color-teens);border-color:#a78bfa4d}.chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:0 var(--space-3);height:28px;border-radius:var(--radius-full);border:1.5px solid var(--color-border-bright);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--color-border-accent);color:var(--color-text-primary);background:var(--color-surface-3)}.chip.active{background:var(--color-brand-tonal);border-color:var(--color-border-accent);color:var(--color-text-brand)}.chip-dismiss{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:transparent;color:currentColor;opacity:.6;cursor:pointer;padding:0;border:none;font-size:10px;line-height:1;transition:var(--transition-fast)}.chip-dismiss:hover{opacity:1;background:#ffffff1a}.chip-count{min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-brand);color:#fff;font-size:10px;font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center;padding:0 4px}.switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-track{position:absolute;inset:0;background:var(--color-surface-4);border-radius:var(--radius-full);border:1.5px solid var(--color-border-bright);transition:var(--transition)}.switch-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--color-text-muted);transition:var(--transition-spring);box-shadow:var(--shadow-xs)}.switch input:checked~.switch-track{background:var(--color-brand);border-color:var(--color-brand)}.switch input:checked~.switch-thumb{left:21px;background:#fff}.switch:hover .switch-track{border-color:var(--color-border-accent)}.switch input:focus-visible~.switch-track{box-shadow:var(--shadow-focus)}.switch input:disabled~.switch-track{opacity:.38;cursor:not-allowed}.checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input[type=checkbox]{display:none}.checkbox-box{width:18px;height:18px;border-radius:var(--radius-0-5);border:1.5px solid var(--color-border-bright);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-fast)}.checkbox:hover .checkbox-box{border-color:var(--color-brand)}.checkbox input:checked~.checkbox-box{background:var(--color-brand);border-color:var(--color-brand)}.checkbox input:checked~.checkbox-box:after{content:"✓";color:#fff;font-size:11px;font-weight:var(--font-bold);line-height:1}.checkbox-label{font-size:var(--text-base);color:var(--color-text-secondary)}.radio{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.radio input[type=radio]{display:none}.radio-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--color-border-bright);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-fast)}.radio:hover .radio-dot{border-color:var(--color-brand)}.radio input:checked~.radio-dot{border-color:var(--color-brand);border-width:4px;background:#fff}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-brand-tonal);color:var(--color-text-brand);font-weight:var(--font-semibold);font-size:var(--text-sm);position:relative;flex-shrink:0;overflow:hidden;border:1.5px solid var(--color-border-accent)}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:32px;height:32px;font-size:var(--text-sm)}.avatar-md{width:40px;height:40px;font-size:var(--text-base)}.avatar-lg{width:48px;height:48px;font-size:var(--text-xl)}.avatar-xl{width:64px;height:64px;font-size:var(--text-2xl)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-status{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-surface-3)}.avatar-status.online{background:var(--color-success)}.avatar-status.away{background:var(--color-warning)}.avatar-status.offline{background:var(--color-text-muted)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-8px;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-left:0}.avatar-group-count{width:32px;height:32px;border-radius:50%;background:var(--color-surface-3);border:2px solid var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);display:flex;align-items:center;justify-content:center;margin-left:-8px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-6);box-shadow:var(--shadow-card);transition:var(--transition)}.card-sm{padding:var(--space-4);border-radius:var(--radius-3)}.card-lg{padding:var(--space-8);border-radius:var(--radius-5)}.card:hover.card-interactive{border-color:var(--color-border-bright);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-0-5)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-4);padding:var(--space-5) var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-card);transition:var(--transition);position:relative}.stat-card:hover{border-color:var(--color-border-bright);box-shadow:var(--shadow-md)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.stat-card-icon{width:28px;height:28px;border-radius:var(--radius-1-5);background:var(--color-brand-tonal);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--color-text-brand)}.stat-card-menu{color:var(--color-text-muted);cursor:pointer;font-size:16px}.stat-card-value{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--color-text-muted)}.stat-card-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.stat-card-delta{font-size:var(--text-sm);font-weight:var(--font-semibold);display:flex;align-items:center;gap:2px}.stat-card-delta.up{color:var(--color-success)}.stat-card-delta.down{color:var(--color-error)}.stat-card-delta-label{font-size:var(--text-xs);color:var(--color-text-muted)}.table-wrap{overflow-x:auto;border-radius:var(--radius-4);border:1px solid var(--color-border)}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-muted);background:var(--color-surface-2);border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:var(--color-text-secondary)}.table th .sort-icon{display:inline-block;margin-left:4px;opacity:.4}.table th.sorted .sort-icon{opacity:1;color:var(--color-brand)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{background:var(--color-surface);transition:var(--transition-fast)}.table tbody tr:hover{background:var(--color-surface-2)}.table tbody tr:nth-child(2n){background:#ffffff03}.table tbody tr:nth-child(2n):hover{background:var(--color-surface-2)}.table-cell-user{display:flex;align-items:center;gap:var(--space-3)}.table-cell-user-info{display:flex;flex-direction:column;gap:1px}.table-cell-name{font-weight:var(--font-medium);color:var(--color-text-primary);font-size:var(--text-base)}.table-cell-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.table-actions{display:flex;align-items:center;gap:var(--space-2)}.table-action-btn{width:28px;height:28px;border-radius:var(--radius-1);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);font-size:14px}.table-action-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.table-action-btn.danger:hover{background:var(--color-error-tonal);color:var(--color-error)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);background:var(--color-surface-2);border-bottom:1px solid var(--color-border);gap:var(--space-3);flex-wrap:wrap}.table-toolbar-left{display:flex;align-items:center;gap:var(--space-3);flex:1}.table-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.table-search{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-2);padding:0 var(--space-3);height:36px;min-width:220px}.table-search-icon{color:var(--color-text-muted);flex-shrink:0}.table-search input{background:none;border:none;outline:none;color:var(--color-text-primary);font-size:var(--text-sm);width:100%}.table-search input::placeholder{color:var(--color-text-muted)}.table-search:focus-within{border-color:var(--color-brand)}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}.pagination{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{min-width:32px;height:32px;border-radius:var(--radius-1);border:1.5px solid transparent;background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);padding:0 var(--space-1)}.pagination-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.pagination-btn.active{background:var(--color-brand-tonal);border-color:var(--color-border-accent);color:var(--color-text-brand);font-weight:var(--font-bold)}.pagination-btn:disabled{opacity:.38;cursor:not-allowed}.pagination-ellipsis{color:var(--color-text-muted);padding:0 var(--space-1)}.tooltip-wrap{position:relative;display:inline-flex}.tooltip{position:absolute;z-index:var(--z-tooltip);background:var(--color-surface-4);color:var(--color-text-primary);border:1px solid var(--color-border-bright);border-radius:var(--radius-1-5);padding:var(--space-1-5) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(4px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.tooltip-wrap:hover .tooltip,.tooltip-wrap:focus-within .tooltip{opacity:1;transform:translateY(0)}.tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px)}.tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px)}.tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(4px)}.tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-4px)}.tooltip-wrap:hover .tooltip-top,.tooltip-wrap:hover .tooltip-bottom{transform:translate(-50%) translateY(0)}.tooltip-wrap:hover .tooltip-left,.tooltip-wrap:hover .tooltip-right{transform:translateY(-50%) translate(0)}.tooltip-dark{background:var(--mono-1100);color:var(--mono-100);border-color:var(--mono-1000)}.menu{background:var(--color-surface-2);border:1px solid var(--color-border-bright);border-radius:var(--radius-3);box-shadow:var(--shadow-xl);padding:var(--space-1-5) 0;min-width:180px;z-index:var(--z-dropdown);overflow:hidden}.menu-item{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-4);font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);border:none;background:transparent;width:100%;text-align:left}.menu-item:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.menu-item.active{background:var(--color-brand-tonal);color:var(--color-text-brand)}.menu-item.danger{color:var(--color-error)}.menu-item.danger:hover{background:var(--color-error-tonal)}.menu-item-icon{font-size:15px;width:16px;text-align:center;flex-shrink:0}.menu-item-shortcut{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.menu-divider{height:1px;background:var(--color-border);margin:var(--space-1-5) 0}.menu-label{padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-muted)}.modal-backdrop{position:fixed;inset:0;background:#080c14cc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:modal-fade-in var(--duration-normal) var(--ease-out)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:1px solid var(--color-border-bright);border-radius:var(--radius-5);box-shadow:var(--shadow-2xl);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;animation:modal-slide-in var(--duration-slow) var(--ease-spring);overflow:hidden}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{max-width:380px}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.modal-close{width:32px;height:32px;border-radius:var(--radius-1);border:none;background:transparent;color:var(--color-text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.modal-close:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);flex-shrink:0}.file-drop-zone{border:1.5px dashed var(--color-border-bright);border-radius:var(--radius-3);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:var(--transition);background:var(--color-surface-2)}.file-drop-zone:hover,.file-drop-zone.drag-over{border-color:var(--color-brand);background:var(--color-brand-dim)}.file-drop-icon{font-size:28px;color:var(--color-text-muted);margin-bottom:var(--space-3)}.file-drop-label{font-size:var(--text-base);color:var(--color-text-secondary)}.file-drop-label strong{color:var(--color-text-brand);cursor:pointer}.file-drop-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.file-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-2);transition:var(--transition-fast)}.file-item-icon{font-size:20px;flex-shrink:0}.file-item-info{flex:1;min-width:0}.file-item-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-status{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-1);margin-top:2px}.file-item-status.uploading{color:var(--color-brand)}.file-item-status.success{color:var(--color-success)}.file-item-status.error{color:var(--color-error)}.file-progress{margin-top:var(--space-1-5)}.file-progress-bar{height:4px;border-radius:2px;background:var(--color-surface-3);overflow:hidden}.file-progress-fill{height:100%;border-radius:2px;background:var(--color-brand);transition:width .3s var(--ease-out)}.file-progress-text{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;text-align:right}.file-item-remove{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);flex-shrink:0}.file-item-remove:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast);padding:var(--space-1) var(--space-2);border-radius:var(--radius-1)}.breadcrumb-item:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.breadcrumb-item.current{color:var(--color-text-primary);font-weight:var(--font-medium);background:var(--color-surface-3)}.breadcrumb-sep{color:var(--color-text-muted);font-size:10px}.progress{height:6px;border-radius:var(--radius-full);background:var(--color-surface-3);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-brand);transition:width .4s var(--ease-out)}.progress-fill.success{background:var(--color-success)}.progress-fill.warning{background:var(--color-warning)}.progress-fill.error{background:var(--color-error)}.progress-sm{height:4px}.progress-lg{height:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-desc{font-size:var(--text-base);color:var(--color-text-muted);max-width:320px;margin-bottom:var(--space-5);line-height:var(--leading-loose)}.toast-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-3);border:1px solid var(--color-border-bright);border-radius:var(--radius-3);box-shadow:var(--shadow-xl);min-width:280px;max-width:420px;font-size:var(--text-base);color:var(--color-text-primary);animation:toast-in var(--duration-slow) var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast.success{border-left:3px solid var(--color-success)}.toast.error{border-left:3px solid var(--color-error)}.toast.warning{border-left:3px solid var(--color-warning)}.toast.info{border-left:3px solid var(--color-brand)}.toast-icon{font-size:18px;flex-shrink:0}.toast-msg{flex:1}.toast-close{cursor:pointer;color:var(--color-text-muted);font-size:14px;padding:var(--space-1)}.toast-close:hover{color:var(--color-text-primary)}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-surface-3) 50%,var(--color-surface-2) 75%);background-size:200% 100%;border-radius:var(--radius-1);animation:skeleton-shimmer 1.5s infinite var(--ease-default)}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.spinner{width:20px;height:20px;border:2px solid var(--color-border-bright);border-top-color:var(--color-brand);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:14px;height:14px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--color-border);margin:var(--space-4) 0}.divider-label{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest)}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--color-border)}.section-label{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-0-5) var(--space-2-5);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-2);margin-bottom:var(--space-2)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin-top:var(--space-1)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);overflow-x:auto}.tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--transition-fast);white-space:nowrap;background:transparent;border-top:none;border-left:none;border-right:none;letter-spacing:var(--tracking-wide)}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-text-brand);border-bottom-color:var(--color-brand)}.tab-count{font-size:10px;font-weight:var(--font-bold);padding:1px 6px;border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-text-muted);min-width:18px;text-align:center}.tab.active .tab-count{background:var(--color-brand-tonal);color:var(--color-text-brand)}@media(min-width:640px){.btn-group-stack{display:flex;gap:var(--space-2)}.btn-group-stack.mobile-vertical{flex-direction:row}.grid-cols-2-mobile{grid-template-columns:repeat(2,1fr)}.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-2col .form-field:last-child{grid-column:1 / -1}}@media(min-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}.grid-cols-3-desktop{grid-template-columns:repeat(3,1fr)}.grid-cols-4-desktop{grid-template-columns:repeat(4,1fr)}.sidebar-layout{display:grid;grid-template-columns:240px 1fr;gap:2rem}.form-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.form-3col .full-width{grid-column:1 / -1}.modal-lg{max-width:600px}.modal-xl{max-width:800px}[data-tooltip]:hover:after{opacity:1;pointer-events:auto}}@media(min-width:1024px){.container{max-width:1200px;padding:0 3rem}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.sidebar-sticky{position:sticky;top:2rem;height:fit-content}}@media(max-width:479px){html{font-size:15px}.container{padding:0 1rem}h1{font-size:1.4rem;margin-bottom:1rem}h2{font-size:1.1rem}h3{font-size:.95rem}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}.btn-lg,.btn-md{width:100%;padding:0 var(--space-3)}.modal{border-radius:0;height:100vh;max-height:100vh}.modal-content{width:100%!important;max-width:100%;border-radius:0;max-height:100vh}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:.8rem}th,td{padding:.5rem .75rem}.card-grid-mobile{grid-template-columns:1fr}.card{padding:1rem;margin-bottom:.75rem}.form-2col,.form-3col{grid-template-columns:1fr}.form-field{margin-bottom:1rem}input,textarea,select{padding:.75rem var(--space-3)}label{font-size:.85rem;margin-bottom:.4rem}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.flex-wrap{flex-wrap:wrap}.gap-4{gap:var(--space-2)}.hide-mobile{display:none}.show-mobile{display:block}.p-8{padding:var(--space-4)}.p-6{padding:var(--space-3)}.m-4{margin:var(--space-2)}.text-sm{font-size:.78rem}.text-xs{font-size:.7rem}button{min-height:44px;min-width:44px}a{padding:.35rem}.badge{padding:.12rem .5rem;font-size:.62rem}input[type=text],input[type=email],input[type=phone],textarea,select{width:100%}.toast-container{bottom:.75rem;right:.75rem;left:.75rem;max-width:none}.toast{font-size:.8rem;padding:.75rem}}@media print{.no-print,.btn,.nav,.toast-container{display:none}body{background:#fff;color:#000}}:root{--bg: #080c14;--surface: #0e1420;--surface-2: #141b2a;--surface-3: #1c2438;--surface-4: #232e46;--border: rgba(255,255,255,.07);--border-bright: rgba(255,255,255,.13);--border-accent: rgba(59,110,255,.35);--text-primary: #f0f4ff;--text-secondary: #8a9bc0;--text-muted: #4a5568;--text-inverse: #080c14;--accent: #3b6eff;--accent-hover: #5580ff;--accent-glow: rgba(59,110,255,.18);--accent-bright: #6b9eff;--accent-dim: rgba(59,110,255,.12);--color-adults: #3b6eff;--color-juniors: #00d4aa;--color-peewee: #ff6b9d;--color-teens: #a78bfa;--color-openmat: #f59e0b;--success: #00c896;--success-dim: rgba(0,200,150,.12);--warning: #f59e0b;--warning-dim: rgba(245,158,11,.12);--danger: #ff4757;--danger-dim: rgba(255,71,87,.12);--info: #3b6eff;--info-dim: rgba(59,110,255,.12);--font-heading: "Jost", sans-serif;--font-body: "DM Sans", sans-serif;--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 4px rgba(0,0,0,.5);--shadow: 0 4px 16px rgba(0,0,0,.45);--shadow-lg: 0 12px 40px rgba(0,0,0,.65);--glow: 0 0 20px rgba(59,110,255,.22);--glow-sm: 0 0 10px rgba(59,110,255,.15);--transition: all .18s ease;--transition-fast: all .1s ease}[data-theme=light]{--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f0f2f8;--surface-3: #e6eaf4;--surface-4: #dde2ef;--border: rgba(0,0,0,.08);--border-bright: rgba(0,0,0,.14);--border-accent: rgba(59,110,255,.3);--text-primary: #0f1623;--text-secondary: #3d4f72;--text-muted: #8292b0;--text-inverse: #f0f4ff;--accent: #2c5ae0;--accent-hover: #3b6eff;--accent-glow: rgba(44,90,224,.15);--accent-bright: #2c5ae0;--accent-dim: rgba(44,90,224,.08);--success: #00a878;--success-dim: rgba(0,168,120,.1);--warning: #d97706;--warning-dim: rgba(217,119,6,.1);--danger: #e53e3e;--danger-dim: rgba(229,62,62,.1);--info: #2c5ae0;--info-dim: rgba(44,90,224,.1);--shadow-sm: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.05);--shadow-lg: 0 12px 32px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);--glow: 0 0 16px rgba(44,90,224,.15);--glow-sm: 0 0 8px rgba(44,90,224,.1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:1rem;font-weight:600}p{color:var(--text-secondary)}a{color:var(--accent-bright);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--text-primary)}button{font-family:var(--font-body);font-weight:600;border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--btn-px-md);background:var(--color-brand);color:#fff;border:1.5px solid var(--color-brand);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition);white-space:nowrap;box-shadow:var(--shadow-button);letter-spacing:var(--tracking-wide)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-primary:focus-visible{box-shadow:var(--shadow-button-focus)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--btn-px-md);background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition);white-space:nowrap;letter-spacing:var(--tracking-wide)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border-accent);color:var(--color-text-primary);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:focus-visible{box-shadow:var(--shadow-focus)}input[type=checkbox],input[type=radio]{appearance:auto;-webkit-appearance:auto;width:auto;height:auto;border:none;background:none;padding:0}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-surface-2);border:1.5px solid var(--color-border-bright);border-radius:var(--radius-2);color:var(--color-text-primary);padding:0 var(--space-4);height:var(--input-height-md);transition:var(--transition);width:100%;outline:none;appearance:none;-webkit-appearance:none}textarea{height:auto;padding:var(--space-3) var(--space-4);resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:hover,textarea:hover,select:hover{border-color:var(--color-border-accent);background:var(--color-surface-3)}input:focus,textarea:focus,select:focus{border-color:var(--color-brand);background:var(--color-surface-2);box-shadow:var(--shadow-input-active)}input:disabled,textarea:disabled,select:disabled{opacity:.38;cursor:not-allowed}select option{background:var(--color-surface-3);color:var(--color-text-primary)}.main-with-nav{padding-top:0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary)}.page-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.page-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.6rem 1.1rem;margin-bottom:-1px;cursor:pointer;transition:var(--transition);letter-spacing:.01em}.page-tab:hover{color:var(--text-secondary)}.page-tab.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.page-tab-content{min-height:200px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.badge{display:inline-flex;align-items:center;padding:.18rem .6rem;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge-success{background:var(--success-dim);color:var(--success)}.badge-warning{background:var(--warning-dim);color:var(--warning)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-info{background:var(--info-dim);color:var(--info)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.page-transition{animation:page-fade-in .22s ease-out both}@keyframes page-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:360px;width:calc(100vw - 3rem);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;border-radius:var(--radius);border-left:3px solid;box-shadow:var(--shadow-lg);font-size:.875rem;font-weight:500;pointer-events:all;animation:toast-in .22s ease-out both;line-height:1.4;background:var(--surface-3);color:var(--text-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--accent)}.toast-icon{font-size:.85rem;flex-shrink:0;margin-top:.05rem}.toast-message{flex:1}.toast-close{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.45;color:var(--text-primary);transition:opacity .15s;flex-shrink:0}.toast-close:hover{opacity:.85}.test-mode-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--warning);font-size:.8rem;font-weight:600;text-align:center;padding:.5rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.belt-step.current .belt-dot{transform:scale(1.3);box-shadow:0 0 0 4px var(--accent-glow)}.belt-label .current-label{color:var(--accent-bright);font-weight:700;font-size:.8rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){h1{font-size:1.5rem}h2{font-size:1.25rem}}@media(max-width:480px){h1{font-size:1.25rem}.toast-container{bottom:1rem;right:1rem;left:1rem;width:auto;max-width:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=light] body{background-color:var(--bg);color:var(--text-primary)}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:#fff;border-color:#00000024;color:var(--text-primary)}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:var(--text-muted)}[data-theme=light] .admin-sidebar{background:#fff;border-right-color:var(--border)}[data-theme=light] .admin-drawer{background:#fff}[data-theme=light] .admin-nav-item{color:var(--text-secondary)}[data-theme=light] .admin-nav-item:hover{background:var(--surface-2);color:var(--text-primary)}[data-theme=light] .admin-nav-item.active{background:var(--accent-dim);color:var(--accent)}[data-theme=light] .admin-mobile-header{background:#fff;border-bottom-color:var(--border)}[data-theme=light] .admin-sidebar-footer,[data-theme=light] .admin-drawer-footer{border-top-color:var(--border)}[data-theme=light] .admin-user-name,[data-theme=light] .admin-drawer-user-name{color:var(--text-primary)}[data-theme=light] .admin-user-role,[data-theme=light] .admin-drawer-user-role{color:var(--text-muted)}[data-theme=light] .admin-logout-btn{color:var(--text-muted);border-color:var(--border)}[data-theme=light] .admin-logout-btn:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-dim)}[data-theme=light] .navbar{background:#fff;border-bottom-color:var(--border)}[data-theme=light] .navbar-menu{background:#fff}[data-theme=light] code,[data-theme=light] .st-key-chip{background:var(--surface-2);color:var(--accent);border-color:var(--border)}[data-theme=light] .st-info-block{background:var(--surface-2)}[data-theme=light] .kiosk-page{background:#0a0a0a!important;color:#fff!important}[data-theme=light] .black-belt{background:#1a1a2e;color:#fff}[data-theme=light] .white-belt{background:#d4d4d4;color:#111;border:1px solid #bbb}[data-theme=light] .theme-toggle-track{background:var(--surface-3);border-color:var(--border-bright)}[data-theme=light] .theme-toggle-thumb{background:#fff;box-shadow:0 1px 3px #00000026}[data-theme=light] .navbar{background:#ffffffe0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .navbar-menu{background:#fffffff7}[data-theme=light] .nav-item{color:var(--text-secondary)}[data-theme=light] .nav-item:hover{color:var(--text-primary);background:var(--surface-2)}[data-theme=light] .nav-item--active{color:var(--accent);background:#2c5ae014}[data-theme=light] .btn-logout{color:var(--text-muted);border-color:var(--border-bright)}[data-theme=light] .btn-logout:hover{color:var(--danger);border-color:var(--danger);background:#e53e3e0f}[data-theme=light] .lean-card{background:#fff;border-color:var(--border);box-shadow:0 1px 3px #0000000f}[data-theme=light] .lean-kid-item{background:var(--surface-2);border-color:var(--border)}[data-theme=light] .lean-kid-item:hover,[data-theme=light] .lean-kid-item:active{background:var(--surface-3);border-color:#c8202a33}[data-theme=light] .lean-plan-name{background:var(--surface-2);border-color:var(--border)}[data-theme=light] .profile-card{background:#fff;border-color:var(--border);box-shadow:0 1px 3px #0000000f}[data-theme=light] .detail-row:hover{background:var(--surface-2)}[data-theme=light] .profile-avatar{border-color:var(--accent);box-shadow:0 0 16px #2c5ae026,0 0 0 4px #2c5ae00f}[data-theme=light] .profile-avatar-overlay{background:#0000008c}[data-theme=light] .form-input[type=date],[data-theme=light] .form-input[type=time],[data-theme=light] .form-input[type=datetime-local]{color-scheme:light}[data-theme=light] .form-input{background:#fff;border-color:#00000024;color:var(--text-primary)}[data-theme=light] .form-input:focus{border-color:var(--accent);background:#fff}[data-theme=light] .comm-pref-options{background:var(--surface-2);border-color:var(--border)}[data-theme=light] .comm-pref-btn{background:transparent;color:#6b7a99}[data-theme=light] .comm-pref-btn:hover{background:#e6eaf4;color:#2c3e6b}[data-theme=light] .comm-pref-btn.selected{background:#2c5ae01a;border-color:var(--accent);color:var(--accent)}[data-theme=light] .preferences-list{border-color:var(--border)}[data-theme=light] .preference-item:hover{background:var(--surface-2)}[data-theme=light] .attendance-section,[data-theme=light] .stat-card{background:#fff;border-color:var(--border);box-shadow:0 1px 3px #0000000f}[data-theme=light] .attendance-item:hover{background:var(--surface-2)}[data-theme=light] .heatmap-empty{background:var(--surface-3)}[data-theme=light] .heatmap-future{background:var(--surface-2)}[data-theme=light] .heatmap-day-labels{background:#fff}[data-theme=light] .streak-progress-card{background:#fff;border-color:var(--border)}[data-theme=light] .streak-progress-bar-track{background:var(--surface-3)}[data-theme=light] .month-card{background:var(--surface-2);border-color:var(--border)}[data-theme=light] .att-bar-wrap{background:var(--surface-2)}[data-theme=light] .billing-card-display,[data-theme=light] .billing-card-collect{background:var(--surface-2);border-color:var(--border)}[data-theme=light] .stripe-card-element{background:#fff;border-color:var(--border)}[data-theme=light] .billing-charges-header,[data-theme=light] .billing-charges-row:hover{background:var(--surface-2)}[data-theme=light] .past-due-banner{background:#ef444414;border-color:#ef444433}[data-theme=light] .parent-portal{background:var(--bg);color:var(--text-primary)}[data-theme=light] .kid-card{background:#fff;border-color:var(--border);box-shadow:0 1px 3px #0000000f}[data-theme=light] .kid-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014}[data-theme=light] .announcement-card,[data-theme=light] .quick-link-card{background:#fff;border-color:var(--border)}[data-theme=light] .quick-link-card:hover{background:var(--surface-2);border-color:var(--accent)}[data-theme=light] .tab{color:var(--text-muted)}[data-theme=light] .tab:hover{color:var(--text-primary);background:var(--surface-2)}[data-theme=light] .tab.active{color:var(--accent);background:#fff;border-color:var(--border)}[data-theme=light] .privacy-page,[data-theme=light] .terms-page{color:var(--text-primary)}[data-theme=light] .toast{background:#fff;border-color:var(--border);color:var(--text-primary);box-shadow:0 4px 12px #0000001a}[data-theme=light] .danger-zone{border-color:#dc26261f}[data-theme=light] .danger-zone:hover{border-color:#dc262633}[data-theme=light] .data-export-btn{border-color:var(--border);color:var(--text-muted)}[data-theme=light] .data-export-btn:hover{background:var(--surface-2);border-color:var(--border-bright);color:var(--text-primary)}@media(max-width:768px){.dashboard-page,.admin-members,.admin-attendance-page,.admin-billing-page,.trials-page,.admin-messages-page,.admin-gym-page,.admin-settings-page,.admin-announcements-page{padding:1rem!important}.page-header,.admin-members-header,.dash-header,.trials-header,.bill-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.page-header h1,.admin-members-header h1,.dash-title{font-size:1.35rem!important}.page-header .btn-primary,.page-header .btn-secondary,.admin-members-header .btn-primary,.admin-members-header .btn-secondary{width:100%;justify-content:center}button,.btn,.trial-btn,.btn-primary,.btn-secondary,.admin-nav-item,.week-nav-btn,.filter-tab,.filter-subtab{min-height:44px}.trial-status-badge,.status-badge,.bill-badge,.tab-count,.nav-badge,.admin-mobile-badge{min-height:unset}.members-table-wrap,.dash-table-wrap,.bill-table-wrap,.attendance-table-wrap,.att-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.dash-card,.trial-card,.bill-chart-card,.bill-breakdown-card,.bill-member-section,.bill-paying-card,.att-class-card{padding:.875rem 1rem!important}}@media(max-width:768px){.dash-kpis{grid-template-columns:repeat(2,1fr)!important;gap:.625rem}.dash-mid-row{grid-template-columns:1fr!important;gap:.625rem}}@media(max-width:480px){.dashboard-page{padding:.875rem!important}.dash-kpis{grid-template-columns:repeat(2,1fr)!important}.dash-kpi-val{font-size:clamp(1.5rem,4vw,2.2rem)}.dash-kpi-label{font-size:.62rem}.dash-title{font-size:1.2rem!important}.dash-member-table th:nth-child(4),.dash-member-table td:nth-child(4),.dash-member-table th:nth-child(5),.dash-member-table td:nth-child(5){display:none}.dash-member-table{font-size:.78rem}.dash-member-table th,.dash-member-table td{padding:.5rem}.dash-member-name{font-size:.82rem}.dash-member-since{display:none}.dash-member-initials{width:28px;height:28px;font-size:.68rem}}@media(max-width:768px){.admin-members{padding:1rem!important}.filter-subtabs{gap:.4rem}.members-table th,.members-table td{padding:.55rem .65rem}.members-table{font-size:.82rem}.members-table th:nth-child(2),.members-table td:nth-child(2){display:none}.members-table th:nth-child(4),.members-table td:nth-child(4){display:none}}@media(max-width:480px){.admin-members{padding:.875rem!important}.admin-members-header{flex-direction:column!important;gap:.75rem!important;align-items:flex-start!important}.admin-members-header h1{font-size:1.2rem!important}.admin-members-header .btn-primary{width:100%;justify-content:center}.members-table{font-size:.75rem}.members-table th,.members-table td{padding:.45rem .5rem}.member-initials{width:28px;height:28px;font-size:.65rem}.member-name{font-size:.8rem}.member-email{display:none}.filter-tabs{flex-wrap:wrap;gap:.35rem}.filter-tab{font-size:.75rem;padding:.35rem .7rem}.filter-subtabs{flex-wrap:wrap}.filter-subtab{font-size:.7rem;padding:.3rem .55rem}.crud-modal{width:100vw!important;max-width:100vw!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92vh}.form-row{grid-template-columns:1fr!important}.modal-overlay{align-items:flex-end!important;padding:0!important}}@media(max-width:768px){.trials-page{padding:1rem!important}.trial-stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.625rem}.trials-grid{grid-template-columns:1fr!important}.trial-card-header{flex-direction:row!important}.trial-stat-total{font-size:1.6rem}}@media(max-width:480px){.trials-page{padding:.875rem!important}.trial-stats-grid{grid-template-columns:repeat(2,1fr)!important}.trial-actions{flex-wrap:wrap;gap:.4rem}.trial-btn{flex:1;min-width:120px;justify-content:center;font-size:.78rem}.trial-name{font-size:.95rem}.trial-contact{font-size:.7rem}}@media(max-width:768px){.admin-attendance-page{padding:1rem!important}.stats-kpis{grid-template-columns:repeat(2,1fr)!important}.stats-charts-row,.stats-lists-row{grid-template-columns:1fr!important}.week-days{gap:.2rem}.wd-name{font-size:.55rem}.wd-num{font-size:.95rem}.att-class-card{flex-wrap:wrap;gap:.5rem}.acc-right{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:.4rem}}@media(max-width:480px){.admin-attendance-page{padding:.875rem!important}.stats-kpis{grid-template-columns:repeat(2,1fr)!important}.stat-value{font-size:1.6rem}.week-nav-btn{width:36px;height:36px}.week-label{font-size:.78rem}.attendance-table th:nth-child(4),.attendance-table td:nth-child(4){display:none}}@media(max-width:768px){.admin-billing-page{padding:1rem!important}.bill-kpis{grid-template-columns:repeat(2,1fr)!important;gap:.625rem}.bill-chart-header,.bill-member-header{flex-direction:column;align-items:flex-start;gap:.5rem}.bill-status-filters{flex-wrap:wrap}.bill-event-row{flex-direction:column;align-items:flex-start;gap:.4rem}.bill-event-right{width:100%;justify-content:space-between;flex-direction:row}.bill-paying-grid{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:480px){.admin-billing-page{padding:.875rem!important}.bill-kpis{grid-template-columns:repeat(2,1fr)!important}.bk-val{font-size:1.5rem}.bill-table{font-size:.75rem}.bill-table th,.bill-table td{padding:.45rem .5rem}.bill-table th:nth-child(3),.bill-table td:nth-child(3){display:none}.bill-table th:nth-child(5),.bill-table td:nth-child(5){display:none}.bill-paying-grid{grid-template-columns:repeat(3,1fr)!important}.bps-val{font-size:1.4rem}}@media(max-width:768px){.messages-layout,.messages-container{flex-direction:column!important;height:auto!important}.messages-sidebar,.messages-list{width:100%!important;max-height:40vh;border-right:none!important;border-bottom:1px solid var(--border)}.messages-detail,.message-detail{width:100%!important;min-height:200px}.messages-compose-area textarea,.msg-compose textarea{font-size:1rem}}@media(max-width:768px){.admin-announcements-page{padding:1rem!important}.announcement-form,.ann-form{display:flex;flex-direction:column;gap:.75rem}.ann-form-row{grid-template-columns:1fr!important}.announcement-list{display:flex;flex-direction:column;gap:.625rem}.announcement-card,.ann-card{padding:.875rem!important}}@media(max-width:480px){.ann-actions{flex-direction:column;gap:.4rem}.ann-actions button{width:100%;justify-content:center}}@media(max-width:768px){.admin-gym-page,.gym-page,.admin-settings-page,.settings-page{padding:1rem!important}.settings-section,.gym-section{margin-bottom:1.25rem}.settings-form,.gym-form{display:flex;flex-direction:column;gap:.75rem}.settings-row,.gym-row,.form-row{grid-template-columns:1fr!important}.settings-form input,.settings-form select,.settings-form textarea{width:100%;font-size:1rem}}@media(max-width:480px){.shared-tabs,.filter-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.shared-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar{display:none}}@media(max-width:768px){input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],select,textarea{font-size:16px!important}.tab-count,.nav-badge{font-size:inherit!important}}@media(max-width:768px){.members-toast,.bill-toast{top:auto!important;bottom:1rem;right:1rem;left:1rem;text-align:center}}.mobile-filter-select-wrap,.mobile-tab-select-wrap{display:none}@media(max-width:768px){.filter-tabs-desktop,.page-tabs-desktop,.bill-filter-btns-desktop,.inbox-filter-tabs-desktop,.period-btns-desktop{display:none!important}.mobile-filter-select-wrap,.mobile-tab-select-wrap{display:block;margin-bottom:.75rem}.mobile-filter-select,.period-select-mobile{width:100%;background:var(--surface-2);border:1px solid var(--border-bright);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;padding:.625rem 2.5rem .625rem .875rem;border-radius:var(--radius-sm);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;cursor:pointer;min-height:44px}.mobile-filter-select:focus,.period-select-mobile:focus{outline:none;border-color:var(--accent)}.bill-status-filters{flex-wrap:wrap;gap:.5rem}.bill-status-filters .mobile-filter-select-wrap{display:block;width:100%;margin:0}.stats-period-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stats-period-bar .mobile-filter-select{margin:0}.period-select-mobile{width:100%}}@media(max-width:768px){.members-table{table-layout:fixed}.members-table th:nth-child(1),.members-table td:nth-child(1){width:55%}.members-table th:nth-child(2),.members-table td:nth-child(2){width:15%}.members-table th:nth-child(3),.members-table td:nth-child(3){width:30%}.member-email{display:none}}@media(max-width:768px){.trials-page{padding:1rem!important}.trial-stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.625rem}.trial-stat-card{padding:.875rem!important}.trial-stat-total{font-size:1.8rem!important}.trial-stat-breakdown{flex-direction:column!important;gap:.2rem}.trials-grid{grid-template-columns:1fr!important}.trial-card{padding:1rem!important}.trial-card-header{gap:.5rem}.trial-name{font-size:1rem!important}.trial-actions{display:flex;flex-wrap:wrap;gap:.5rem}.trial-btn{flex:1;min-width:100px;text-align:center;justify-content:center;font-size:.78rem;padding:.5rem .75rem}.admin-members-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.admin-members-header .btn-primary{width:100%;text-align:center;justify-content:center}}@media(max-width:480px){.trial-stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.session-log-table{font-size:.8rem}.session-log-table th,.session-log-table td{padding:.45rem .5rem}.att-table-wrap{overflow-x:auto}}@media(max-width:768px){.msg-log-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.msg-log-table{font-size:.78rem;min-width:400px}.msg-log-table th,.msg-log-table td{padding:.4rem .5rem}.log-subject{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-to{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-page{padding:1rem!important}.inbox-list-header{flex-wrap:wrap;gap:.5rem}.inbox-filter-row{width:100%}.compose-btn{width:100%;text-align:center;justify-content:center;margin-top:.25rem}}
