:root{--font-ui:Arial,Helvetica,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-display:clamp(34px,3vw,44px);--text-title:clamp(26px,2.2vw,32px);--text-section:16px;--text-body:13px;--text-label:12px;--text-caption:11px;--radius-control:5px;--radius-panel:8px;--radius-dialog:10px;--radius-badge:3px;--duration-fast:120ms;--duration-base:180ms;--duration-enter:220ms;--ease-ui:cubic-bezier(.2,.7,.2,1);--layer-sticky:8;--layer-popover:30;--layer-dialog:100}:root,[data-theme-preview],[data-theme]{--color-background:var(--bg);--color-surface:var(--surface);--color-elevated:var(--surface-2);--color-overlay:var(--surface-3);--color-text:var(--text);--color-secondary:var(--text-2);--color-muted:var(--muted);--color-border:var(--border);--color-action:var(--accent);--color-action-ink:var(--accent-ink);--color-success:var(--green);--color-warning:var(--amber);--color-error:var(--red);--color-info:var(--blue);--success:var(--green);--warning:var(--amber);--danger:var(--red);--color-selected:var(--accent-dim);--color-hover:color-mix(in srgb,var(--text) 4%,var(--surface));--color-focus:var(--accent);--color-success-surface:color-mix(in srgb,var(--green) 10%,var(--surface));--color-warning-surface:color-mix(in srgb,var(--amber) 10%,var(--surface));--color-error-surface:color-mix(in srgb,var(--red) 10%,var(--surface));--chart-1:var(--accent);--chart-2:var(--blue);--chart-3:var(--amber);--chart-4:var(--violet);--chart-5:var(--green);--chart-grid:var(--border);--chart-axis:var(--muted);--chart-tooltip:var(--surface-2);--shadow-popover:0 8px 28px #0003;--shadow-dialog:0 24px 80px #0005}body{font-family:var(--font-ui);font-size:var(--text-body);line-height:1.55}button,input,select,textarea{font-family:inherit}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button,summary{touch-action:manipulation}.athlete-month-plan svg,.athlete-training-plan-item svg,.notice-acked svg{display:inline-block;vertical-align:-.15em;margin-right:4px}.main{min-width:0}.main>:where(.card+.card,.card+.stack,.stack+.card){margin-top:var(--space-4)}.main :where(h1,h2,h3){text-wrap:balance}.page-head{gap:var(--space-4) var(--space-6);margin-bottom:var(--space-6);padding:4px 0 var(--space-6);align-items:center}.page-head>:first-child{min-width:0}h1{font-size:var(--text-title);font-weight:500;letter-spacing:-.045em;line-height:1.18}h2{font-size:var(--text-section);letter-spacing:-.02em;text-transform:none;color:var(--text);line-height:1.35}h2,h3{font-weight:600}h3{font-size:14px;letter-spacing:-.015em;line-height:1.4}.page-eyebrow{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.12em;margin:0 0 9px}.subtitle{color:var(--muted);margin-top:8px;line-height:1.6;font-size:13px;max-width:76ch}.card{padding:var(--space-5);border-radius:var(--radius-panel);min-width:0;box-shadow:none}.grid{gap:var(--space-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.stack{gap:var(--space-4)}.row{gap:var(--space-2)}.stat-label{font-size:10px;font-weight:500;letter-spacing:.09em}.stat-value{font-size:32px;line-height:1.12;letter-spacing:-.045em;font-weight:500;margin-top:12px}.stat-note{line-height:1.55;font-size:var(--text-caption);margin-top:8px}.stat-card-link:hover{border-color:var(--border-strong);background:var(--color-hover)}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);margin-bottom:24px;overflow:hidden}.metric-strip>.card{border:0;border-right:1px solid var(--border);border-radius:0;background:transparent}.metric-strip>.card:last-child{border-right:0}.chart-tip,.metric-value,.num,.stat-hero-value,.stat-value,.time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}code,pre{font-family:var(--font-mono)}.btn{min-height:38px;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--radius-control);font-size:12px;line-height:1.35;font-weight:600;letter-spacing:0;text-transform:none;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast)}.btn svg{flex:none;width:16px;height:16px}.btn:active:not(:disabled){filter:brightness(.94)}.btn:disabled{opacity:.5}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text-2)}.btn-ghost:hover{border-color:var(--muted);background:var(--color-hover);color:var(--text)}.btn-tertiary{background:transparent;border-color:transparent;color:var(--text-2)}.btn-tertiary:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--red) 38%,var(--border));color:var(--red)}.btn-danger:hover{background:var(--color-error-surface)}.btn-sm{min-height:32px;padding:6px 10px;font-size:11px}.btn-icon{padding:8px;width:36px;min-height:36px}.btn[aria-busy=true]{cursor:progress}.button-spinner{display:inline-block;width:13px;height:13px;border:1.5px solid;border-right:1.5px solid transparent;border-radius:50%;animation:ui-spin .8s linear infinite}input,select,textarea{background:var(--bg);border-color:var(--border-strong);border-radius:var(--radius-control);font-size:13px;line-height:1.45;padding:9px 11px;transition:border-color var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:40px}input:not(:disabled):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}input:disabled,select:disabled,textarea:disabled{color:var(--muted);background:var(--surface-2);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);border-color:var(--border-strong);box-shadow:0 0 0 1000px var(--bg) inset;-webkit-transition:background-color 99999s ease-out;transition:background-color 99999s ease-out}input:-webkit-autofill:focus,select:-webkit-autofill:focus,textarea:-webkit-autofill:focus{border-color:var(--accent);box-shadow:0 0 0 1000px var(--bg) inset,0 0 0 2px var(--accent-dim)}input:-webkit-autofill,select:-webkit-autofill,textarea:-webkit-autofill{background:var(--bg);color:var(--text)}input:autofill,select:autofill,textarea:autofill{background:var(--bg);color:var(--text)}textarea{resize:vertical;min-height:80px}select:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa5b3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}select[multiple]{min-height:110px}input[type=search]{padding-left:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa5b3' stroke-width='1.6'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px;background-size:16px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;min-height:0}input[type=range]{accent-color:var(--accent);padding:0}input[type=file]{padding:6px}input[type=file]::-webkit-file-upload-button{margin-right:12px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:3px;color:var(--text);background:var(--surface-2);font:inherit;cursor:pointer}input[type=file]::file-selector-button{margin-right:12px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:3px;color:var(--text);background:var(--surface-2);font:inherit;cursor:pointer}.field-label,label{color:var(--text-2);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;margin-bottom:6px}.required-marker{color:var(--red)}.field{min-width:0;margin-bottom:16px}.field-help{display:block;font-size:11px;line-height:1.55;color:var(--muted);margin-top:6px}.form-grid{gap:0 16px}.check-label{gap:8px;line-height:1.5}.toolbar{border-radius:var(--radius-panel);gap:10px;padding:12px 14px;margin-bottom:16px}.toolbar input,.toolbar select{min-width:0}.roster-filters{padding-bottom:16px;border-bottom:1px solid var(--border)}.filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.filter-bar>.field{margin-bottom:0}.table-wrap{max-width:100%;border:1px solid var(--border);border-radius:6px;overflow-x:auto;overscroll-behavior-x:contain}.table-wrap table{border:0}th{padding:11px 12px;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.055em;background:var(--surface-2)}td{padding:12px;font-size:12px;line-height:1.5}tbody tr{transition:background var(--duration-fast)}tbody tr:hover{background:var(--color-hover)}tbody tr:focus-within{background:var(--color-hover)}tbody th{background:transparent}td .btn{white-space:nowrap}td input:not([type=checkbox]),td select{min-height:34px}.pagination{padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.pagination a[aria-current=page]{color:var(--accent);background:var(--accent-dim)}.badge{padding:3px 7px;border-radius:var(--radius-badge);font-size:10px;font-weight:600;letter-spacing:.01em;text-transform:none;line-height:1.4}.badge-green{background:var(--color-success-surface);border-color:color-mix(in srgb,var(--green) 24%,var(--border))}.badge-amber{background:var(--color-warning-surface);border-color:color-mix(in srgb,var(--amber) 24%,var(--border))}.badge-red{background:var(--color-error-surface);border-color:color-mix(in srgb,var(--red) 24%,var(--border))}.count-badge{border-radius:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabs{gap:16px;margin-bottom:20px;overflow-x:auto}.tab{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;padding:11px 2px;white-space:nowrap}.tab.active,.tab[aria-current=page],.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.tab-count{border-radius:3px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.panel-header h2{margin:0}.panel-header p{margin:5px 0 0;font-size:12px;color:var(--muted);max-width:65ch}.panel-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-section{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-gap:32px;gap:32px;padding:24px 0;border-bottom:1px solid var(--border)}.settings-section>.settings-intro h2{margin:0 0 8px}.settings-section>.settings-intro p{color:var(--muted);font-size:12px;max-width:34ch}.settings-section>:last-child{min-width:0}.settings-section:last-child{border-bottom:0}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:20px;border-top:1px solid var(--border)}.empty{padding:32px 20px;line-height:1.65;font-size:12px}.empty-state{display:grid;justify-items:start;grid-gap:8px;gap:8px;padding:32px 24px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.empty-state h3{margin:0;font-size:15px;font-weight:500}.empty-state p{max-width:64ch;margin:0;color:var(--muted);font-size:12px}.empty-state>svg{color:var(--muted);margin-bottom:6px}.empty-state .btn{margin-top:8px}.feedback{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-left-width:3px;border-radius:5px;background:var(--surface);font-size:12px;line-height:1.6}.feedback-success{border-left-color:var(--green)}.feedback-error{border-left-color:var(--red)}.feedback-warning{border-left-color:var(--amber)}.feedback-info{border-left-color:var(--accent)}.feedback>svg{flex:none;margin-top:1px}.feedback p{margin:0}.modal{max-width:640px;padding:24px;border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog)}.submit-confirmation{max-width:440px}.submit-confirmation h2{margin:0 0 10px}.submit-confirmation p{margin:0;color:var(--text-2);line-height:1.6}.modal-header{display:flex;align-items:center;gap:16px;margin:-24px -24px 24px;padding:18px 24px;border-bottom:1px solid var(--border)}.modal-header h2{flex:1 1;margin:0;font-size:18px;font-weight:500}.modal-body{min-width:0}.confirm-dialog::-webkit-backdrop,.modal::-webkit-backdrop{background:#02070ccc;-webkit-backdrop-filter:none;backdrop-filter:none}.confirm-dialog::backdrop,.modal::backdrop{background:#02070ccc;-webkit-backdrop-filter:none;backdrop-filter:none}.modal[open]{animation:ui-dialog-in var(--duration-enter) var(--ease-ui)}.confirm-dialog{border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog)}.confirm-dialog-heading .eyebrow{display:none}.confirm-dialog-icon{background:transparent;border:0;border-radius:0;flex-basis:24px;width:24px;height:24px}.confirm-dialog h2{font-size:18px;font-weight:500}.confirm-dialog p{font-size:13px}.confirm-actions{background:transparent}details>summary{color:var(--text-2)}details>summary:hover{color:var(--text)}.secondary-action summary{min-height:32px;display:flex;align-items:center}.squad-switch-notice{border-color:var(--border);border-left:3px solid var(--accent);background:var(--surface-2)}.loading-card,.loading-panel,.skeleton{animation:ui-loading 1.6s ease-in-out infinite alternate}.skeleton{display:block;background:var(--surface-3);border-radius:3px;height:12px}.skeleton+.skeleton{margin-top:10px}.skeleton-title{height:26px;max-width:220px}.skeleton-number{height:36px;max-width:90px}.page-loading{max-width:1120px}.page-loading-label{margin:0 0 20px;color:var(--muted);font-size:12px}.page-loading-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin:24px 0}.page-loading-metrics>div{padding:20px}.page-loading-metrics>div,.page-loading-table{border:1px solid var(--border);border-radius:var(--radius-panel)}.page-loading-table{display:grid;grid-gap:12px;gap:12px;padding:24px}.page-loading-table .skeleton{height:24px;margin:0}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-loading{0%{opacity:.4}to{opacity:.75}}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1000px){.settings-section{grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:24px}}@media (max-width:720px){.page-head{align-items:flex-start;margin-bottom:20px;padding-bottom:20px}.page-head>:last-child:not(:first-child){flex-wrap:wrap}.card{padding:16px}.settings-section{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 0}.settings-section>.settings-intro p{max-width:65ch}.btn,.btn-sm{min-height:44px}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}td{padding:11px 10px}.tabs{flex-wrap:nowrap;gap:20px}.tab{min-height:44px;display:inline-flex;align-items:center}.modal{width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:20px}.modal-header{margin:-20px -20px 20px;padding:16px 20px}.panel-header{gap:10px}.panel-header,.panel-header-actions{flex-wrap:wrap}.roster-filters input[type=search],.roster-filters select{min-width:0;max-width:100%}}@media (max-width:440px){.metric-strip{grid-template-columns:1fr}.metric-strip>.card{border-right:0;border-bottom:1px solid var(--border)}.metric-strip>.card:last-child{border-bottom:0}.page-loading-metrics{gap:8px}.page-loading-metrics>div{padding:12px}.form-grid{grid-template-columns:minmax(0,1fr)}.pagination{grid-template-columns:auto 1fr auto;gap:8px}.pagination>:nth-child(2){text-align:center}.form-actions{justify-content:stretch}.form-actions .btn{flex:1 1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important}.auth-page *,.confirm-dialog,.login-wrap *,.modal,.shell *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (forced-colors:active){.badge,.btn,.tab.active,input,select,textarea{border:1px solid ButtonText}}