:root{--color-bg: #eef1f5;--color-surface: #ffffff;--color-surface-raised: #f7f8fa;--color-surface-hover: #e6eaf0;--color-border: #cdd5e0;--color-border-light: #dde3ec;--color-text: #0f172a;--color-text-muted: #5a6a80;--color-text-light: #8494a7;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #d4e4fc;--color-primary-text: #ffffff;--color-on-primary: #ffffff;--color-danger: #ef4444;--color-danger-light: #fde8e8;--color-warning: #f59e0b;--color-warning-light: #fef3cd;--color-success: #10b981;--color-success-light: #d5f5e8;--color-info: #06b6d4;--color-info-light: #d4f4f9;--color-panel: var(--color-surface-raised);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 6px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .06);--color-shadow: var(--shadow-sm);--radius-sm: .5rem;--radius: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--sidebar-width: 260px;--header-height: 64px;--listing-media-height: 160px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--topbar-height: 56px;--color-gender-f: #d6399b;--color-gender-m: #2970d6;--scrollbar-track: #dde3ec;--scrollbar-thumb: #8494a7;--scrollbar-thumb-hover: #5a6a80}[data-theme=light]{--color-bg: #eef1f5;--color-surface: #ffffff;--color-surface-raised: #f7f8fa;--color-surface-hover: #e6eaf0;--color-border: #cdd5e0;--color-border-light: #dde3ec;--color-text: #0f172a;--color-text-muted: #5a6a80;--color-text-light: #8494a7;--color-primary-light: #d4e4fc;--color-danger-light: #fde8e8;--color-warning-light: #fef3cd;--color-success-light: #d5f5e8;--color-info-light: #d4f4f9;--color-gender-f: #d6399b;--color-gender-m: #2970d6;--scrollbar-track: #dde3ec;--scrollbar-thumb: #8494a7;--scrollbar-thumb-hover: #5a6a80;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 6px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06)}[data-theme=dark]{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-raised: #273344;--color-surface-hover: #334155;--color-border: #334155;--color-border-light: #1e293b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-light: #64748b;--color-primary-light: #1e3a5f;--color-danger-light: #450a0a;--color-warning-light: #451a03;--color-success-light: #052e16;--color-info-light: #083344;--color-gender-f: #ff8ad4;--color-gender-m: #6bb5ff;--scrollbar-track: #1e293b;--scrollbar-thumb: #475569;--scrollbar-thumb-hover: #64748b;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 2px 4px rgba(0, 0, 0, .25), 0 1px 2px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .25), 0 2px 4px rgba(0, 0, 0, .2)}[data-theme=vantagepoint]{--color-bg: #e6eefa;--color-surface: #ffffff;--color-surface-raised: #f0f4ff;--color-surface-hover: #dce6f8;--color-border: #b8ccf4;--color-border-light: #cddaf8;--color-text: #0f172a;--color-text-muted: #4260a8;--color-text-light: #6d8fd4;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #ccdcfa;--color-danger-light: #fde8e8;--color-warning-light: #fef3cd;--color-success-light: #d5f5e8;--color-info-light: #d4f4f9;--scrollbar-track: #cddaf8;--scrollbar-thumb: #6d8fd4;--scrollbar-thumb-hover: #4260a8;--shadow-xs: 0 1px 2px rgba(37, 99, 235, .08);--shadow-sm: 0 1px 3px rgba(37, 99, 235, .1), 0 1px 2px rgba(37, 99, 235, .06);--shadow-md: 0 2px 6px rgba(37, 99, 235, .1), 0 1px 3px rgba(37, 99, 235, .08);--shadow-lg: 0 4px 12px rgba(37, 99, 235, .12), 0 2px 4px rgba(37, 99, 235, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-full);border:3px solid var(--scrollbar-track)}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background-color:var(--scrollbar-track)}body{background-color:var(--color-bg);color:var(--color-text);min-height:100vh;overflow-x:hidden;transition:background-color .2s,color .2s}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius);border:none;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-ghost{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-hover)}.btn-ghost:active:not(:disabled){transform:scale(.98)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-ghost-danger{background-color:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.btn-ghost-danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-danger) 10%,transparent)}.btn-ghost-danger:active:not(:disabled){transform:scale(.98)}.btn-ghost-danger:disabled{opacity:.45;cursor:not-allowed}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}.btn-success:active:not(:disabled){transform:scale(.98)}.btn-secondary{background-color:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem;gap:.25rem}.btn-xs{padding:.25rem .5rem;font-size:.75rem;gap:.125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:var(--radius-lg)}.btn-icon{padding:.5rem;width:36px;height:36px;justify-content:center}.sidebar-create-btn{display:inline-flex;width:100%;justify-content:center;align-items:center;min-height:2.25rem;margin-bottom:.75rem;text-decoration:none;text-align:center;font-size:.875rem;font-weight:600}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-2px)}.card-sm{padding:1rem}.card-lg{padding:1.5rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.card-title{font-size:1rem;font-weight:600}.card-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.listing-card-media{position:relative;height:var(--listing-media-height, 160px);min-height:var(--listing-media-height, 160px);overflow:hidden}.listing-card-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.listing-card-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1rem 1rem;flex-wrap:wrap}.listing-card-action{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;padding:.65rem .95rem;min-height:2.5rem;text-decoration:none}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.form-field input,.form-field select,.form-field textarea{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--color-text-light)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.col-span-2{grid-column:span 2}.form-group-full{grid-column:1 / -1}.input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-light)!important}.field-error{font-size:.75rem;color:var(--color-danger);margin-top:.125rem}.ghost-input{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.875rem;width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ghost-input:hover{border-color:var(--color-text-light)}.ghost-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-hint{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.badge{display:inline-flex;align-items:center;padding:.1875rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;white-space:nowrap}.badge-sm{padding:.125rem .5rem;font-size:.6875rem}.badge-lg{padding:.25rem .75rem;font-size:.8125rem}.badge-blue,.badge-info{background:var(--color-info-light);color:#0e7490}.badge-green,.badge-success{background:var(--color-success-light);color:#065f46}.badge-red,.badge-danger{background:var(--color-danger-light);color:#991b1b}.badge-yellow,.badge-warning{background:var(--color-warning-light);color:#92400e}.badge-neutral,.badge-ghost{background:var(--color-surface-hover);color:var(--color-text-muted)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg);padding-top:var(--topbar-height, 56px)}.topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;width:100%;z-index:100;box-shadow:var(--shadow-sm);gap:1.5rem;box-sizing:border-box}.topbar-brand{font-size:1.4rem;font-weight:700;color:var(--color-text);text-decoration:none;white-space:nowrap;flex-shrink:0;line-height:1;transform-origin:left center;transform:scale(1.1)}.topbar-brand:hover{color:var(--color-primary);text-decoration:none}.topbar-nav{display:flex;align-items:center;justify-content:center;gap:.25rem;flex:1}.topbar-link{display:inline-flex;align-items:center;padding:.5rem .9rem;border-radius:var(--radius);font-size:1rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.topbar-link:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.topbar-link:active{transform:scale(.98);background:var(--color-border)}.topbar-link-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.topbar-link-active:active{transform:scale(.98)}.topbar-contextual-nav{display:none}.topbar-user{position:relative;flex-shrink:0}.user-bubble{height:36px;border-radius:999px;background:var(--color-surface-hover);border:1px solid var(--color-border);cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;color:var(--color-text-muted);transition:all var(--transition-fast);padding:2px .7rem 2px 2px}.user-bubble-name{font-size:.8125rem;font-weight:500;color:var(--color-text);white-space:nowrap;max-width:11ch;overflow:hidden;text-overflow:ellipsis}.user-bubble:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.user-bubble-initials{width:30px;height:30px;border-radius:50%;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary);pointer-events:none}.user-bubble-img{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0;pointer-events:none}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:0;z-index:200;overflow:hidden}.dropdown-label{padding:.625rem 1rem;font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--color-border);margin:0}.dropdown-link{display:block;padding:.625rem 1rem;font-size:.875rem;color:var(--color-text);text-decoration:none;transition:background var(--transition-fast)}.dropdown-link:hover{background:var(--color-surface-hover);text-decoration:none}.dropdown-signout{display:block;width:100%;padding:.625rem 1rem;font-size:.875rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.dropdown-signout:hover{background:var(--color-surface-hover);color:var(--color-text)}.dropdown-org-btn{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:none;border:none;width:100%;text-align:left}.dropdown-org-active{font-weight:600;color:var(--color-primary)}.dropdown-org-check{font-size:.75rem;color:var(--color-primary);flex-shrink:0}.dropdown-create-org{font-size:.8125rem;color:var(--color-primary);cursor:pointer;background:none;border:none;width:100%;text-align:left}.dropdown-create-org:disabled{opacity:.5;cursor:not-allowed}.main-content{flex:1;min-width:0;overflow:auto;padding:2.5rem}.players-main{min-width:0;padding:1.5rem 2rem}.page-header{align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-title{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.3}.page-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin-top:.25rem}.header-actions{display:flex;gap:.5rem;align-items:center}.section-heading{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:1rem}.section-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.settings-section{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.settings-form{max-width:480px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-surface) 100%);padding:1.5rem}.auth-card{width:100%;max-width:420px;animation:slideUp .4s ease-out}.auth-card .card{padding:2rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-logo{font-size:2.5rem;margin-bottom:.5rem}.auth-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.auth-subtitle{font-size:.9375rem;color:var(--color-text-muted)}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--color-text-muted);font-size:.8125rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.14),transparent 42%),linear-gradient(180deg,#0e142057,#070a1285);backdrop-filter:blur(7px) saturate(112%);-webkit-backdrop-filter:blur(7px) saturate(112%);display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,2.2vw,1.25rem);z-index:1000;animation:fadeIn .2s ease-out}@supports not (backdrop-filter: blur(2px)){.modal-overlay{background:#070a12a3}}.modal{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-sm{max-width:400px}.modal-lg{max-width:720px}.modal-xl{max-width:860px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:1.125rem;font-weight:600}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.tab{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap}.filter-pill{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);text-transform:capitalize}.filter-pill:hover{background:var(--color-surface-hover);border-color:var(--color-text-light)}.filter-pill-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.empty-state{text-align:center;padding:3rem 2rem;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:.9375rem;max-width:320px;margin:0 auto}.error-banner{background:var(--color-danger-light);border:1px solid var(--color-danger);color:#991b1b;padding:.875rem 1rem;border-radius:var(--radius);font-size:.875rem}.success-banner{background:var(--color-success-light);border:1px solid var(--color-success);color:#065f46;padding:.875rem 1rem;border-radius:var(--radius);font-size:.875rem}.warning-banner{background:var(--color-warning-light);border:1px solid var(--color-warning);color:#92400e;padding:.875rem 1rem;border-radius:var(--radius);font-size:.875rem}.info-banner{background:var(--color-info-light);border:1px solid var(--color-info);color:#0e7490;padding:.875rem 1rem;border-radius:var(--radius);font-size:.875rem}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:180px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden;animation:slideDown .15s ease-out}.dropdown-item{display:block;width:100%;padding:.625rem 1rem;font-size:.875rem;color:var(--color-text);background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.dropdown-item:hover{background:var(--color-surface-hover)}.dropdown-divider{height:1px;background:var(--color-border);margin:.25rem 0}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.session-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.session-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.session-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;padding-bottom:0}.session-name{font-size:1rem;font-weight:600}.session-name a{color:var(--color-text);text-decoration:none}.session-name a:hover{color:var(--color-primary)}.session-stats{display:flex;gap:1.5rem;padding:1rem 1.25rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.stat-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-muted)}.session-meta{padding:0 1.25rem}.badge-skill-high{background:var(--color-success-light);color:#065f46}.badge-skill-mid{background:var(--color-info-light);color:#0e7490}.badge-skill-low{background:var(--color-warning-light);color:#92400e}.badge-skill-none{background:var(--color-surface-hover);color:var(--color-text-muted)}.text-muted{color:var(--color-text-muted)}.text-body{color:var(--color-text)}.text-primary{color:var(--color-primary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-center{text-align:center}.text-right{text-align:right}.font-sm{font-size:.8125rem}.font-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase;letter-spacing:.025em}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center}.flex-start{justify-content:flex-start}.flex-end{justify-content:flex-end}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-4{gap:.25rem}.gap-8{gap:.5rem}.gap-12{gap:.75rem}.gap-16{gap:1rem}.gap-20{gap:1.25rem}.gap-24{gap:1.5rem}.mb-4{margin-bottom:.25rem}.mb-8{margin-bottom:.5rem}.mb-12{margin-bottom:.75rem}.mb-16{margin-bottom:1rem}.mb-20{margin-bottom:1.25rem}.mb-24{margin-bottom:1.5rem}.mb-28{margin-bottom:1.75rem}.mb-32{margin-bottom:2rem}.mt-4{margin-top:.25rem}.mt-8{margin-top:.5rem}.mt-16{margin-top:1rem}.mt-auto{margin-top:auto}.p-16{padding:1rem}.p-24{padding:1.5rem}.px-16{padding-left:1rem;padding-right:1rem}.py-8{padding-top:.5rem;padding-bottom:.5rem}.badge-active{background:var(--color-success-light);color:#059669}.badge-inactive{background:var(--color-surface-hover);color:var(--color-text-muted)}.badge-m{background:#3b82f61f;color:#3b82f6}.badge-f{background:#ec48991f;color:#ec4899}.badge-org{background:var(--color-primary-light);color:var(--color-primary)}.badge-member{background:var(--color-surface-hover);color:var(--color-text-muted)}.alert{padding:.875rem 1rem;border-radius:var(--radius);font-size:.875rem;border:1px solid transparent;display:flex;align-items:flex-start;gap:.5rem}.alert-success{background:var(--color-success-light);border-color:var(--color-success);color:#065f46}.alert-error{background:var(--color-danger-light);border-color:var(--color-danger);color:#991b1b}.alert-warning{background:var(--color-warning-light);border-color:var(--color-warning);color:#92400e}.alert-info{background:var(--color-info-light);border-color:var(--color-info);color:#0e7490}.btn-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-outline:active:not(:disabled){transform:scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.topbar-hamburger,.topbar-brand-toggle{display:none}@media(max-width:768px){.topbar{padding:0 1rem;gap:.75rem}.topbar-brand{display:none}.topbar-brand-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:.25rem 0;cursor:pointer;color:var(--color-text);font-size:1.4rem;font-weight:700;line-height:1;transform-origin:left center;transform:scale(1.1);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.topbar-brand-toggle-text{white-space:nowrap}.topbar-brand-toggle-chevron{color:var(--color-text-muted);transition:transform .2s ease;flex-shrink:0;margin-top:1px}.topbar-brand-toggle-chevron.rotated{transform:rotate(180deg)}.topbar-hamburger{display:none}.topbar-nav{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:.5rem;z-index:99}.topbar-nav.topbar-nav-open{display:flex}.topbar-link{padding:.625rem 1rem;border-radius:var(--radius-sm);font-size:.9375rem;width:100%;box-sizing:border-box}.topbar-link-active{background:var(--color-primary-light)}.topbar-contextual-nav{display:flex;flex-direction:column;width:100%;margin-top:.375rem;padding:.625rem .35rem 0;border-top:1px solid var(--color-border)}.topbar-contextual-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.125rem .7rem .5rem}.topbar-contextual-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-light);padding:.35rem .7rem .2rem}.topbar-contextual-link{display:flex;justify-content:space-between;align-items:center}.topbar-contextual-group-toggle{border:none;background:transparent;cursor:pointer;text-align:left}.topbar-contextual-chevron{font-size:.72rem;color:var(--color-text-muted);transition:transform .2s ease}.topbar-contextual-chevron.open{transform:rotate(180deg)}.topbar-contextual-link-subtle{padding-left:1.6rem;font-size:.86rem;color:var(--color-text-muted)}.topbar-contextual-badge{padding:.12rem .45rem;border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 34%,transparent)}.user-bubble{width:36px;justify-content:center;padding:2px}.user-bubble-name{display:none}.main-content{padding:1rem}.listing-card-actions{justify-content:stretch}.players-main{padding:1rem}.listing-card-action{flex:1;text-align:center}.page-header{flex-direction:column;align-items:stretch}.programs-grid,.sessions-grid,.form-grid{grid-template-columns:1fr}.col-span-2{grid-column:span 1}.modal{margin:1rem;max-height:calc(100vh - 2rem)}.modal-overlay{padding:.6rem;backdrop-filter:blur(5px) saturate(108%);-webkit-backdrop-filter:blur(5px) saturate(108%)}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}}@media(max-width:640px){.page-title{font-size:1.25rem}.modal-content{max-width:calc(100vw - 2rem)}}@media(max-width:480px){.main-content{padding:.75rem}.card{padding:.875rem}.listing-card-media{height:var(--listing-media-height-mobile, 140px);min-height:var(--listing-media-height-mobile, 140px)}.section-title{font-size:1rem}.page-header{gap:.5rem}.btn{padding:.5rem .875rem;font-size:.8125rem}.modal{margin:.5rem;max-height:calc(100vh - 1rem)}.modal-overlay{padding:.4rem}.modal-content{padding:1rem}.sessions-grid{grid-template-columns:minmax(0,1fr)}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--color-primary) 0%,var(--color-primary-hover) 50%,var(--color-primary) 100%);transform-origin:left;z-index:9999;animation:loading-progress 1s ease-in-out infinite}@keyframes loading-progress{0%{transform:scaleX(0);opacity:1}50%{transform:scaleX(.6);opacity:.9}to{transform:scaleX(.9);opacity:.7}}.banded tbody tr:nth-child(odd),.banded>.list-check-row:nth-child(odd){background-color:var(--color-surface-hover)}
