:root{--font-sans: Inter, "Segoe UI", Roboto, Arial, sans-serif;--font-serif: Georgia, "Times New Roman", serif;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--tracking-label: .08em;--tracking-tight: -.01em;--tracking-normal: 0;--badge-radius: 4px;--badge-font-size: .7rem;--badge-font-weight: 600;--badge-padding-y: 2px;--badge-padding-x: 6px;--badge-letter-spacing: .01em;--color-black: #000000;--color-white: #ffffff;--surface-page: var(--color-black);--surface-panel: #1e1e1e;--surface-muted: #1a1a1a;--surface-elevated: #262626;--surface-track: #2a2a2a;--surface-slate: #1f2937;--scrim-navy-800: #1e293b;--scrim-navy-900: #0f172a;--scrim-navy-950: #020617;--scrim-navy-deep: #0b1220;--border-default: #333333;--border-slate: #334155;--border-slate-strong: #475569;--text-bright: #fafafa;--text-primary: #e5e5e5;--text-secondary: #b3b3b3;--text-muted: #8a8a8a;--text-dim: #6b6b6b;--brand-cyan: #00a1d0;--signal-green: #0ac026;--signal-yellow: #facc15;--signal-orange: #fb923c;--signal-red: #b90e12;--signal-red-on-dark: #f5444a;--accent-blue: #2563eb;--accent-blue-strong: #1d4ed8;--accent-blue-300: #60a5fa;--accent-blue-200: #93c5fd;--accent-blue-100: #bfdbfe;--accent-sky: #0ea5e9;--accent-sky-300: #38bdf8;--accent-sky-200: #7dd3fc;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-800: #166534;--green-950: #052e16;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-800: #991b1b;--red-900: #7f1d1d;--red-950: #450a0a;--amber-500: #f59e0b;--amber-100: #fef9c3;--amber-900: #854d0e;--orange-100: #ffedd5;--orange-200: #fed7aa;--orange-800: #9a3412;--kpi-bullet-track: color-mix(in srgb, var(--text-muted) 22%, transparent);--kpi-bullet-band: color-mix(in srgb, var(--signal-green) 35%, transparent);--kpi-bullet-marker: var(--text-primary)}:root{color-scheme:dark;font-family:var(--font-sans);line-height:1.5;color:var(--text-primary);--page-bg: var(--surface-page);--panel-bg: var(--surface-panel);--panel-bg-muted: var(--surface-muted);--panel-bg-elevated: var(--surface-elevated);--panel-border: var(--border-default);--panel-gradient: linear-gradient(135deg, var(--panel-bg) 0%, var(--panel-bg-muted) 100%);background:var(--page-bg)}*{box-sizing:border-box}body{margin:0;background:var(--page-bg)}html:has(.app-shell),body:has(.app-shell){height:100%}body:has(.app-shell){overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{width:min(1400px,100%);max-width:1400px;margin:0 auto;padding:clamp(16px,3vw,28px) clamp(12px,2.5vw,24px) 48px}.app-shell{width:min(1400px,100%);max-width:1400px;margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:clamp(12px,2.5vw,24px) clamp(12px,2.5vw,24px) 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.app-header{flex-shrink:0;z-index:30;margin-bottom:16px;background:var(--page-bg);border-bottom:1px solid var(--panel-border);padding-bottom:12px;padding-right:10px}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.app-header-brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.app-brand-row{display:flex;align-items:center;gap:14px;min-width:0}.app-brand-title{font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary);line-height:1}.app-brand-mark{display:flex;align-items:center;flex-shrink:0}.app-brand-mark img{height:52px;width:auto;object-fit:contain;display:block}.app-brand-divider{width:1px;height:40px;background:var(--panel-border);flex-shrink:0;align-self:center}.app-brand-discipline{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand-cyan)}.app-brand-discipline-button{margin:0;padding:4px;border:none;border-radius:8px;background:transparent;color:var(--brand-cyan);cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-brand-discipline-button:hover{background:color-mix(in srgb,var(--brand-cyan) 12%,transparent)}.app-brand-discipline-button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.app-brand-discipline-icon{width:32px;height:32px;display:block}.app-header-user{flex-shrink:0;margin-left:auto}.app-main{flex:1;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:10px}.app-page{display:flex;flex-direction:column;gap:16px;width:100%}.app-page>.panel{margin-bottom:0}.page-intro{margin-bottom:0}.page-intro-with-actions{display:flex;justify-content:space-between;align-items:flex-start;align-content:flex-start;gap:16px;flex-wrap:wrap}.page-intro-copy{min-width:0;flex:1 1 16rem}.page-intro-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-shrink:0}.page-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.page-intro h1{margin:0 0 6px;font-size:clamp(1.35rem,3vw,1.65rem);line-height:1.2}.page-intro-no-title .page-intro-copy p{margin:0}.app-nav{display:flex;gap:4px}.app-nav-header{padding-bottom:0}.app-nav-mobile{display:none}.app-nav-link{flex:1;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:600;padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.app-nav-link:hover,.app-nav-link:focus-visible{color:var(--text-primary)}.app-nav-link-active{color:var(--text-primary);border-bottom-color:var(--brand-cyan)}.app-nav-link-short{display:none}@media(max-width:768px){.app-shell{padding-bottom:clamp(12px,2.5vw,24px)}.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.app-nav-header{display:none}.app-nav-mobile{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel-bg);border-top:1px solid var(--panel-border);padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px color-mix(in srgb,var(--color-black) 35%,transparent)}.app-nav-mobile .app-nav-link{border-bottom:none;border-radius:10px;padding:8px 4px;font-size:.72rem}.app-nav-mobile .app-nav-link-active{background:var(--panel-bg-elevated);border-bottom-color:transparent;color:var(--brand-cyan)}.app-nav-link-full{display:none}.app-nav-link-short{display:inline}}@media(min-width:769px){.app-nav-link-full{display:inline}}.topbar{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.topbar-athlete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.topbar-brand h1{margin:0 0 6px;font-size:clamp(1.45rem,3.5vw,1.85rem);line-height:1.2}.topbar-status{color:var(--text-muted);font-size:.82rem;white-space:nowrap}.muted{color:var(--text-muted);margin:0}.active-athlete-button{display:inline-flex;align-items:center;color:var(--text-secondary);background:transparent;border:1px solid var(--border-slate);padding:7px 10px;border-radius:8px;font-size:.84rem}.active-athlete-row{display:inline-flex;align-items:center;gap:8px}.active-athlete-avatar{width:26px;height:26px;border-radius:999px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary);font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.03em;flex-shrink:0}.active-athlete-avatar-sport{color:var(--color-white)}.active-athlete-avatar-icon{width:17px;height:17px;display:block}.active-athlete-name{color:var(--text-primary);font-weight:600}.active-athlete-button-open{border-color:var(--accent-blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-blue) 28%,transparent)}.user-menu{position:relative}.user-menu-trigger{gap:4px}.user-menu-chevron{color:var(--text-muted);font-size:.72rem;line-height:1;margin-left:2px}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:10rem;padding:6px;border:1px solid var(--border-slate);border-radius:10px;background:var(--panel-bg);box-shadow:0 10px 24px color-mix(in srgb,var(--color-black) 35%,transparent)}.user-menu-item{display:block;width:100%;text-align:left;background:transparent;color:var(--text-primary);border:none;border-radius:6px;padding:8px 10px;font-size:.88rem;font-weight:500}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--panel-bg-elevated)}.user-menu-item-danger{color:var(--red-300)}.user-menu-item-danger:hover,.user-menu-item-danger:focus-visible{background:color-mix(in srgb,var(--red-900) 35%,transparent)}.topbar-status .ok{color:var(--signal-green)}.topbar-status .err{color:var(--signal-red-on-dark)}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:16px;margin-bottom:16px}.panel h2{margin:0 0 12px;font-size:1.1rem}.panel-footnote{margin:-4px 0 12px;color:var(--text-dim);font-size:.82rem;line-height:1.4}.controls .control-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.controls label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text-secondary)}.controls select{min-width:140px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary)}.controls input[type=date]{background:var(--color-black);border:1px solid var(--border-slate);color:var(--text-primary);border-radius:8px;padding:8px 10px}.controls .checkbox{flex-direction:row;align-items:center}.control-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}button{background:var(--accent-blue);color:var(--color-white);border:none;border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}button.secondary{background:var(--border-slate)}button:disabled{opacity:.6;cursor:not-allowed}.status-line{margin:12px 0 0;color:var(--text-muted);font-size:.92rem}.error-banner{margin:12px 0 0;color:var(--red-200);background:var(--red-950);border:1px solid var(--red-900);border-radius:8px;padding:10px 12px}.success-banner{margin:12px 0 0;color:var(--green-200);background:var(--green-950);border:1px solid var(--green-800);border-radius:8px;padding:10px 12px}.data-health-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 16px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-gradient)}.data-health-banner-warn{border-color:var(--signal-orange);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-orange) 30%,transparent)}.data-health-banner-auth{border-color:var(--signal-red);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-red) 30%,transparent)}.data-health-banner-body{flex:1 1 260px;min-width:0}.data-health-banner-title{margin:0;font-weight:600}.data-health-banner-text{margin:4px 0 0;color:var(--text-muted);font-size:.92rem}.data-health-banner-synced{margin:6px 0 0;font-size:.82rem}.data-health-banner-actions{display:flex;gap:8px;flex-shrink:0}.onboarding-checklist{margin:0 0 16px;display:flex;flex-direction:column;gap:14px}.onboarding-checklist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.onboarding-checklist-head>div:first-child{flex:1;min-width:min(100%,28rem)}.onboarding-checklist-kicker{margin:0 0 4px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.onboarding-checklist-title{margin:0 0 6px;font-size:1.15rem}.onboarding-checklist-lead{margin:0;font-size:.92rem}.onboarding-sync-banner{margin:0;padding:10px 12px;border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);display:flex;align-items:center;gap:10px;font-size:.92rem}.onboarding-checklist-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.onboarding-step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--scrim-navy-900) 40%,transparent)}.onboarding-step--current{border-color:color-mix(in srgb,var(--accent-sky-200) 45%,transparent);background:color-mix(in srgb,var(--accent-sky-200) 8%,transparent)}.onboarding-step--done{opacity:.78}.onboarding-step-index{flex-shrink:0;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--text-primary);border:1px solid var(--panel-border);background:var(--panel-bg-elevated)}.onboarding-step--done .onboarding-step-index{color:var(--signal-green);border-color:color-mix(in srgb,var(--signal-green) 45%,transparent);background:color-mix(in srgb,var(--signal-green) 12%,transparent)}.onboarding-step--current .onboarding-step-index{color:var(--accent-sky-200);border-color:color-mix(in srgb,var(--accent-sky-200) 50%,transparent)}.onboarding-step-body{flex:1;min-width:0}.onboarding-step-title{margin:0;font-weight:600}.onboarding-step-text{margin:4px 0 0;font-size:.9rem}.onboarding-step .dashboard-hero-cta{margin-top:10px}.settings-data-health{margin:8px 0 0;font-size:.92rem}.settings-data-health-warn{color:var(--signal-orange)}.settings-data-health-auth{color:var(--signal-red)}.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:14px;padding:20px 22px;margin-bottom:16px;border:1px solid var(--panel-border);background:var(--panel-gradient)}.hero.signal-green{border-color:var(--signal-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-green) 35%,transparent)}.hero.signal-yellow{border-color:var(--signal-yellow);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-yellow) 35%,transparent)}.hero.signal-orange{border-color:var(--signal-orange);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-orange) 35%,transparent)}.hero.signal-red{border-color:var(--signal-red);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-red) 35%,transparent)}.hero-empty{color:var(--text-muted)}.hero-label{margin:0 0 4px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.hero-recommendation{margin:0;font-size:2rem}.hero-meta{margin:8px 0 0;color:var(--text-secondary)}.hero-reason{margin:10px 0 0;color:var(--text-muted);font-size:.92rem;max-width:52rem}.hero-badge{font-size:1.4rem;font-weight:700;padding:12px 16px;border-radius:var(--badge-radius);background:var(--color-black)}.hero-badge.signal-green{color:var(--signal-green)}.hero-badge.signal-yellow{color:var(--signal-yellow)}.hero-badge.signal-orange{color:var(--signal-orange)}.hero-badge.signal-red{color:var(--signal-red-on-dark)}.workout-stats .stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.stat-card{background:var(--color-black);border:1px solid var(--panel-border);border-radius:10px;padding:14px 12px;text-align:center}.stat-card-highlight{border-color:var(--accent-blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-blue) 25%,transparent)}.stat-value{margin:0;font-size:1.85rem;font-weight:700;line-height:1.1}.stat-label{margin:6px 0 0;font-size:.8rem;color:var(--text-muted)}.readiness-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.readiness-compare-wrap{overflow-x:auto;margin:0 -4px;padding-bottom:4px}.readiness-compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px}.readiness-compare-table th,.readiness-compare-table td{padding:6px 8px;border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:top;font-size:.84rem}.readiness-compare-metric-head,.readiness-compare-metric{min-width:148px;max-width:180px;font-size:.78rem;font-weight:600;color:var(--text-muted)}.readiness-compare-sticky{position:sticky;left:0;z-index:1;background:var(--panel-bg)}.readiness-compare-day-head{min-width:76px;max-width:84px;text-align:center;vertical-align:bottom}.readiness-compare-day-date{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:4px}.readiness-compare-day-score{display:block;font-size:.92rem;font-weight:700;line-height:1.2}.readiness-compare-day-score.signal-green{color:var(--signal-green)}.readiness-compare-day-score.signal-yellow{color:var(--signal-yellow)}.readiness-compare-day-score.signal-orange{color:var(--signal-orange)}.readiness-compare-day-score.signal-red{color:var(--signal-red-on-dark)}.readiness-compare-row td.highlight-yellow{color:var(--signal-yellow);font-weight:700;background:#eab3081f}.readiness-compare-row td.highlight-orange{color:var(--signal-orange);font-weight:700;background:#f973161f}.readiness-compare-row td.highlight-red{color:var(--signal-red-on-dark);font-weight:700;background:#ef44441f}.readiness-compare-group-row th{padding-top:14px;padding-bottom:6px;border-bottom:none;background:transparent}.readiness-compare-group-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:left}.readiness-compare-row td{font-weight:600}.readiness-compare-actions{margin-top:10px}.readiness-compare-toggle{margin-top:4px}.readiness-checkin-cell-btn{display:inline-flex;align-items:center;min-width:2rem;padding:0;border:0;border-bottom:1px dashed var(--text-muted);background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.readiness-checkin-cell-btn:hover,.readiness-checkin-cell-btn:focus-visible{border-bottom-color:var(--accent);color:var(--accent);outline:none}.readiness-checkin-cell-btn-empty{font-weight:500;color:var(--text-muted)}.readiness-checkin-cell-editor{display:flex;flex-direction:column;gap:2px}.readiness-checkin-cell-input{width:3rem;padding:2px 4px;border:1px solid var(--accent);border-radius:4px;background:var(--panel-bg);color:var(--text-primary);font:inherit;font-weight:600}.readiness-checkin-cell-status{font-size:.72rem;line-height:1.2}.readiness-checkin-cell-error{color:var(--signal-red)}.readiness-card{background:var(--color-black);border:1px solid var(--panel-border);border-radius:10px;padding:12px}.readiness-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.readiness-card h3{margin:0;font-size:1rem}.badge{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);letter-spacing:var(--badge-letter-spacing);background:var(--panel-bg-elevated)}.badge.signal-green{color:var(--signal-green)}.badge.signal-yellow{color:var(--signal-yellow)}.badge.signal-orange{color:var(--signal-orange)}.badge.signal-red{color:var(--signal-red-on-dark)}.table-badge{display:inline-block;padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);background:var(--panel-bg-elevated);white-space:nowrap}.recommendation{margin:0 0 6px;font-weight:600}.card-reason{margin:0 0 8px;color:var(--text-muted);font-size:.85rem;line-height:1.35}.readiness-score{margin:0 0 10px;color:var(--text-muted);font-size:.88rem}.readiness-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.readiness-card dt{margin:0;font-size:.72rem;color:var(--text-muted);text-transform:uppercase}.readiness-card dd{margin:0;font-weight:600}.readiness-card dt.highlight-yellow,.readiness-card dd.highlight-yellow{color:var(--signal-yellow)}.readiness-card dt.highlight-orange,.readiness-card dd.highlight-orange{color:var(--signal-orange)}.readiness-card dt.highlight-red,.readiness-card dd.highlight-red{color:var(--signal-red-on-dark)}.readiness-alerts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 8px;padding:0}.readiness-alerts-compact{margin-bottom:6px}.hero .readiness-alerts{margin:6px 0 8px}.alert-chip{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);letter-spacing:var(--badge-letter-spacing);border:1px solid transparent}.alert-yellow{color:var(--signal-yellow);background:color-mix(in srgb,var(--signal-yellow) 12%,transparent);border-color:color-mix(in srgb,var(--signal-yellow) 35%,transparent)}.alert-red{color:var(--signal-red-on-dark);background:color-mix(in srgb,var(--signal-red) 12%,transparent);border-color:color-mix(in srgb,var(--signal-red) 35%,transparent)}.goal-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-width:1.5px}.goal-hero-main{flex:1}.goal-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;row-gap:8px;flex-wrap:wrap;margin-bottom:4px}.goal-hero-heading{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.goal-hero-heading .hero-label{margin-bottom:0}.goal-hero-verdict-sep{color:var(--text-muted);font-weight:700}.goal-hero-verdict{font-size:.8rem;font-weight:700;letter-spacing:var(--badge-letter-spacing);white-space:nowrap;color:var(--text-secondary)}.goal-hero-verdict.signal-green{color:var(--signal-green)}.goal-hero-verdict.signal-yellow{color:var(--signal-yellow)}.goal-hero-verdict.signal-orange{color:var(--signal-orange)}.goal-hero-verdict.signal-red{color:var(--signal-red-on-dark)}.goal-hero-icon{width:22px;height:22px;flex-shrink:0;color:var(--brand-cyan)}.goal-hero-manage{flex-shrink:0;font-size:.82rem;padding:6px 10px}.goal-title{margin:0;font-size:1.65rem}.goal-primary{margin:6px 0 8px;color:var(--text-muted)}.goal-hero-title-block{min-width:0}.goal-metrics-graphics{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:12px;margin-top:8px}.goal-metric-trend{display:flex;flex-direction:column;gap:4px;padding:4px 10px;background:var(--color-black);border:1px solid var(--panel-border);border-radius:12px;min-width:0}.goal-metric-trend-heading{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}.goal-metric-trend-separator{font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1;color:var(--text-dim)}.goal-metric-trend-scope{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.goal-metric-trend-framing{margin:0;font-size:var(--text-2xs);line-height:var(--leading-snug);color:var(--text-dim)}.goal-trend-axis-target{fill:var(--text-muted)}.goal-trend-chart{width:100%;height:auto;aspect-ratio:360 / 168;display:block;padding:4px 0}.goal-trend-axis{fill:var(--text-dim);font-size:9px;letter-spacing:.06em}.goal-trend-target{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:2 3;opacity:.75}.goal-trend-target-label{fill:var(--text-muted);font-size:8.5px;letter-spacing:.06em}.goal-trend-horizon-label{fill:var(--text-secondary);font-size:9px;letter-spacing:.04em}.goal-trend-weekend-label{fill:var(--text-muted);font-size:9px}.goal-trend-today-guide{stroke:var(--border-default);stroke-width:1;stroke-dasharray:2 3;opacity:.6}.goal-trend-actual{fill:none;stroke:var(--text-secondary);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.goal-trend-forecast{fill:none;stroke-width:2.2;stroke-dasharray:5 4;stroke-linecap:round}.goal-trend-dot{fill:var(--text-secondary);stroke:var(--color-black);stroke-width:1}.goal-trend-endpoint{fill:var(--color-black);stroke-width:2}.goal-trend-callout-value{font-size:10px;font-weight:700}.goal-trend-callout-delta{fill:var(--text-muted);font-size:8.5px}.goal-trend-actual.signal-green,.goal-trend-forecast.signal-green,.goal-trend-endpoint.signal-green{stroke:var(--signal-green)}.goal-trend-actual.signal-yellow,.goal-trend-forecast.signal-yellow,.goal-trend-endpoint.signal-yellow{stroke:var(--signal-yellow)}.goal-trend-actual.signal-orange,.goal-trend-forecast.signal-orange,.goal-trend-endpoint.signal-orange{stroke:var(--signal-orange)}.goal-trend-actual.signal-red,.goal-trend-forecast.signal-red,.goal-trend-endpoint.signal-red{stroke:var(--signal-red-on-dark)}.goal-trend-dot.signal-green,.goal-trend-callout-value.signal-green{fill:var(--signal-green)}.goal-trend-dot.signal-yellow,.goal-trend-callout-value.signal-yellow{fill:var(--signal-yellow)}.goal-trend-dot.signal-orange,.goal-trend-callout-value.signal-orange{fill:var(--signal-orange)}.goal-trend-dot.signal-red,.goal-trend-callout-value.signal-red{fill:var(--signal-red-on-dark)}.goal-trend-band{stroke:none;opacity:.16}.goal-trend-band.signal-green{fill:var(--signal-green)}.goal-trend-band.signal-yellow{fill:var(--signal-yellow)}.goal-trend-band.signal-orange{fill:var(--signal-orange)}.goal-trend-band.signal-red{fill:var(--signal-red-on-dark)}.goal-trend-anomaly{fill:transparent;stroke:var(--text-secondary);stroke-width:1.3;stroke-dasharray:2 2}.goal-trend-footnote{fill:var(--text-muted);font-size:7.5px}.goal-trend-now-label{fill:var(--text-secondary);font-size:8.5px;font-weight:600}.goal-trend-axis,.goal-trend-target-label,.goal-trend-now-label,.goal-trend-callout-value,.goal-trend-callout-delta{paint-order:stroke;stroke:var(--color-black);stroke-width:2.6px;stroke-linejoin:round}.goal-metric-trend-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:120px}.goal-metric-trend-fallback strong{font-size:1.8rem;font-weight:700}.goal-metric-trend-fallback span{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.goal-metric-graphic{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 10px;background:var(--color-black);border:1px solid var(--panel-border);border-radius:12px;text-align:center;min-width:0}.goal-metric-graphic-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;line-height:1.25}.goal-metric-ring-wrap{position:relative;width:112px;height:84px}.goal-readiness-gauge{width:100%;height:100%;display:block}.goal-readiness-zone{fill:none;stroke-width:10;stroke-linecap:butt}.goal-readiness-zone-red{stroke:var(--signal-red)}.goal-readiness-zone-yellow{stroke:var(--signal-yellow)}.goal-readiness-zone-green{stroke:var(--signal-green)}.goal-readiness-marker{stroke:var(--color-black);stroke-width:2}.goal-readiness-marker.goal-readiness-zone-red{fill:var(--signal-red)}.goal-readiness-marker.goal-readiness-zone-yellow{fill:var(--signal-yellow)}.goal-readiness-marker.goal-readiness-zone-green{fill:var(--signal-green)}.goal-metric-ring-center{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;pointer-events:none}.goal-metric-ring-center strong{font-size:1.3rem;line-height:1;font-weight:700;letter-spacing:-.02em}.goal-metric-ring-band{font-size:.7rem;line-height:1.1;color:var(--text-muted);font-weight:500}.goal-metric-podium{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;height:84px}.goal-metric-podium-icon{width:68px;height:84px;color:var(--brand-cyan);flex:none}.goal-metric-podium-readout{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}.goal-metric-podium-readout strong{font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.goal-metric-podium-readout strong.signal-green{color:var(--signal-green)}.goal-metric-podium-readout strong.signal-yellow{color:var(--signal-yellow)}.goal-metric-podium-readout strong.signal-orange{color:var(--signal-orange)}.goal-metric-podium-readout strong.signal-red{color:var(--signal-red-on-dark)}.goal-metric-podium-band{font-size:.7rem;color:var(--text-muted);font-weight:500}.goal-metric-podium-bar{fill:none;stroke:var(--border-slate-strong);stroke-width:1.5}.goal-metric-podium-ground{stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.goal-metric-meter-track{fill:var(--surface-track)}.goal-metric-meter-fill{fill:var(--brand-cyan)}.goal-metric-meter-fill.signal-green{fill:var(--signal-green)}.goal-metric-meter-fill.signal-yellow{fill:var(--signal-yellow)}.goal-metric-meter-fill.signal-orange{fill:var(--signal-orange)}.goal-metric-meter-fill.signal-red{fill:var(--signal-red)}.goal-metric-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;position:relative}.goal-metric-countdown--weather{border-color:#ffffff38}.goal-metric-countdown--weather .goal-metric-graphic-label,.goal-metric-countdown--weather .goal-metric-countdown-horizon,.goal-metric-countdown--weather .goal-metric-countdown-weather{color:#ffffffd1}.goal-metric-countdown--weather .goal-metric-countdown-value--themed{color:#fff;text-shadow:0 1px 12px rgb(0 0 0 / .22)}.goal-metric-countdown--sunny{background:linear-gradient(165deg,#1e6bb8,#4da3e0 38%,#7ec8f2 62%,#f0c75e)}.goal-metric-countdown--partly-cloudy{background:linear-gradient(165deg,#3a6a8c,#6a9ec4,#a8c8dc)}.goal-metric-countdown--cloudy{background:linear-gradient(165deg,#4a5568,#6b7b8f 55%,#8a97a8)}.goal-metric-countdown--fog{background:linear-gradient(165deg,#6b7280,#9ca3af 60%,#c4c9d0)}.goal-metric-countdown--rain{background:linear-gradient(165deg,#2c4a6e,#3d6a8c 45%,#5a8bad)}.goal-metric-countdown--storm{background:linear-gradient(165deg,#1a1f3b,#2d3a5c 40%,#4a5568)}.goal-metric-countdown--snow{background:linear-gradient(165deg,#4a8eb0,#7eb8d8 45%,#b8d4e8)}.goal-metric-countdown--snow .goal-metric-graphic-label,.goal-metric-countdown--snow .goal-metric-countdown-horizon,.goal-metric-countdown--snow .goal-metric-countdown-weather{color:#ffffffe6}.goal-metric-countdown--pending{background:linear-gradient(165deg,#2a3f5c,#3d5a7a 55%,#5a7a9a)}.goal-metric-countdown-horizon{font-size:.68rem;font-weight:var(--weight-semibold);color:var(--text-muted);letter-spacing:.04em;line-height:1.25}.goal-metric-countdown-weather{font-size:.62rem;font-weight:var(--weight-medium);color:var(--text-muted);line-height:1.3;text-align:center;max-width:9.5rem}.goal-metric-countdown-value{font-size:4rem;font-weight:700;line-height:1;letter-spacing:-.02em}.goal-stats-row{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:12px}.goal-stats-row>div{min-width:120px}.goal-stat-probability .goal-stat-value{white-space:nowrap}.goal-stat-label{display:block;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.goal-stat-value{display:block;margin-top:2px;font-size:1.05rem}.goal-stat-value.signal-green{color:var(--signal-green)}.goal-stat-value.signal-yellow{color:var(--signal-yellow)}.goal-stat-value.signal-orange{color:var(--signal-orange)}.goal-stat-value.signal-red{color:var(--signal-red-on-dark)}.goal-hero.signal-green{border-color:var(--signal-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-green) 35%,transparent)}.goal-hero.signal-yellow{border-color:var(--signal-yellow);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-yellow) 35%,transparent)}.goal-hero.signal-orange{border-color:var(--signal-orange);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-orange) 35%,transparent)}.goal-hero.signal-red{border-color:var(--signal-red);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-red) 35%,transparent)}.goal-week-focus{margin:12px 0 0;color:var(--text-secondary);font-size:.92rem;max-width:52rem}.goal-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.25rem,1fr));gap:10px;align-items:stretch}.goal-kpi-section{margin-top:1.25rem}.goal-kpi-section:first-of-type{margin-top:.75rem}.goal-kpi-section-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.goal-kpi-section-note{margin:0 0 .65rem;color:var(--text-muted);font-size:.85rem;max-width:42rem}.goal-kpi-bridge-note{margin-top:.35rem}.goal-kpi-heading{display:flex;align-items:center;gap:8px;min-width:0}.goal-kpi-icon{width:22px;height:22px;flex-shrink:0;color:var(--brand-cyan)}.goal-kpi-title{margin:0}.goal-kpi-intro{margin:0 0 1.1rem;padding-left:1.15rem;color:var(--text-dim);font-size:.82rem;line-height:1.35;list-style:disc}.goal-kpi-intro li+li{margin-top:.15rem}.goal-kpi-bullet-wrap{margin:8px 0 4px;width:100%}.goal-kpi-bullet-labels{display:flex;justify-content:space-between;gap:8px;margin-top:4px;font-size:.65rem;color:var(--text-muted)}.goal-kpi-bullet-labels-threshold{display:block}.goal-kpi-bullet-labels-threshold-ceiling{text-align:right}.goal-kpi-bullet-labels-threshold-floor{text-align:left}.goal-kpi-bullet-threshold-line{position:absolute;top:-1px;width:1px;height:10px;margin-left:-.5px;background:var(--text-dim);opacity:.65}.goal-kpi-bullet-track{position:relative;height:8px;border-radius:999px;background:var(--kpi-bullet-track);overflow:visible}.goal-kpi-bullet-band{position:absolute;top:1px;height:6px;border-radius:999px;background:var(--kpi-bullet-band)}.goal-kpi-bullet-marker{position:absolute;top:-2px;width:3px;height:12px;margin-left:-1.5px;border-radius:2px;background:var(--kpi-bullet-marker)}.goal-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.goal-kpi-top h2{margin:0}.goal-kpi-top{margin-bottom:.35rem}.goal-kpi-panel-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex-shrink:0}.goal-kpi-card-wrap{display:flex;flex-direction:column;align-items:stretch;min-width:0;height:100%;gap:4px}.goal-kpi-card-optional{border-style:dashed}.goal-kpi-remove{display:inline-block;align-self:flex-start;margin-top:0;padding:0 0 0 2px;border:none;background:transparent;color:var(--text-muted);font-size:.72rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.goal-kpi-remove:hover{color:var(--text-primary)}.goal-kpi-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:120;width:min(92vw,28rem);max-height:80vh;overflow:auto;background:var(--panel-bg-muted);border:1px solid var(--border-slate);border-radius:12px;padding:1rem;box-shadow:0 20px 40px color-mix(in srgb,var(--color-black) 45%,transparent)}.goal-kpi-picker-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.goal-kpi-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;text-align:left;padding:.75rem;border:1px solid var(--border-slate);border-radius:8px;background:var(--color-black);color:inherit;cursor:pointer}.goal-kpi-picker-item span{color:var(--text-muted);font-size:.85rem}.goal-kpi-picker-item:hover:not(:disabled){border-color:var(--border-slate-strong)}.goal-kpi-card{background:var(--color-black);border:1px solid var(--panel-border);border-radius:10px;padding:12px 12px 8px;text-align:left;width:100%;height:100%;min-height:10.5rem;color:inherit;cursor:pointer;display:flex;flex-direction:column;box-sizing:border-box}.goal-kpi-card-body{flex:0 0 auto}.goal-kpi-card-footer{display:flex;flex-direction:column;justify-content:flex-end;flex:1 1 auto;margin-top:.35rem;gap:0}.goal-kpi-card-pace{min-height:1.15rem;display:flex;align-items:flex-end;margin-bottom:.5rem}.goal-kpi-card-definition{min-height:2rem;display:flex;align-items:flex-start;padding:.35rem 0;box-sizing:border-box}.goal-kpi-card-slot-empty{display:block;width:100%;min-height:1em}.goal-kpi-card:hover{border-color:var(--border-slate)}.goal-kpi-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.goal-kpi-card.kpi-good{border-color:var(--signal-green)}.goal-kpi-card.kpi-warn{border-color:var(--signal-yellow)}.goal-kpi-card.kpi-bad{border-color:var(--signal-red)}.goal-kpi-status{margin:0 0 6px;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing)}.goal-kpi-status.kpi-good{color:var(--signal-green)}.goal-kpi-status.kpi-warn{color:var(--signal-yellow)}.goal-kpi-status.kpi-bad{color:var(--signal-red-on-dark)}.goal-kpi-label{margin:0;font-size:.72rem;color:var(--text-muted);text-transform:uppercase}.goal-kpi-value{margin:6px 0 4px;font-size:1.35rem;font-weight:700}.goal-kpi-target{margin:0;font-size:.78rem;color:var(--text-dim)}.goal-kpi-note{margin:0;font-size:.72rem;color:var(--text-dim);font-style:italic;line-height:1.35;overflow-wrap:break-word}.goal-kpi-week{margin:0;font-size:.76rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-kpi-week-good{color:var(--signal-green)}.goal-kpi-week-warn{color:var(--signal-yellow)}.goal-kpi-week-bad{color:var(--signal-red-on-dark)}.goal-kpi-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--scrim-navy-950) 62%,transparent);border:0;border-radius:0;padding:0;z-index:30}.goal-kpi-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,92vw);background:var(--panel-bg-muted);border-left:1px solid var(--panel-border);padding:18px 16px;z-index:31;overflow-y:auto}.goal-kpi-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.goal-kpi-drawer-head h3{margin:0;font-size:1.1rem;text-transform:capitalize}.goal-kpi-drawer-target{margin:12px 0;color:var(--text-secondary)}.goal-kpi-drawer-body p{color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.panel>.weekly-coach-block{margin-top:0;padding-top:0;border-top:none}.weekly-coach-block{margin-top:16px;padding-top:12px;border-top:1px solid var(--panel-border)}.weekly-coach-block h3{margin:0 0 10px;font-size:1rem;display:flex;align-items:center;gap:8px}.weekly-coach-summary{margin:0 0 12px;color:var(--text-secondary);line-height:1.45}.weekly-coach-focus{margin:12px 0 0;padding:10px 12px;background:var(--color-black);border:1px solid var(--panel-border);border-radius:8px;color:var(--text-primary);line-height:1.45}.composer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.composer-header h2{margin:0}.composer-context{margin:0 0 12px;color:var(--text-muted);font-size:.85rem;text-transform:capitalize}.composer-name{margin-bottom:12px;max-width:28rem}.composer-steps{display:flex;flex-direction:column;gap:8px}.composer-repeat{border:1px solid var(--panel-border);border-left:3px solid var(--accent-blue);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.composer-repeat-head{font-weight:600}.composer-step{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--color-black);border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px}.composer-step-type{min-width:84px;font-weight:600;color:var(--text-secondary);align-self:center}.composer-field{display:flex;flex-direction:column;font-size:.72rem;color:var(--text-muted);gap:3px}.composer-field input,.composer-field select{font-size:.9rem}.composer-field input[type=number]{width:70px}.composer-field-note{flex:1;min-width:160px}.composer-field-note input{width:100%}.composer-coach-review-hint{margin:4px 0 10px;font-size:.88rem;line-height:1.45}.composer-actions{display:flex;align-items:flex-end;gap:12px;margin-top:14px}.composer-actions-inline{margin-top:0;margin-bottom:12px}.composer-safety-notes{margin:0 0 12px;padding-left:18px;color:var(--signal-yellow);font-size:.88rem}.composer-result{display:flex;align-items:center;gap:12px;margin-top:12px}.composer-undo{margin-left:auto}.checkin-panel{display:flex;flex-direction:column;gap:12px}.checkin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.checkin-head h2{margin:0 0 4px;font-size:1.15rem}.checkin-summary{margin:0}.checkin-hints{margin:0;padding-left:18px;color:var(--text-muted);font-size:.88rem}.checkin-chips{display:flex;flex-wrap:wrap;gap:8px}.checkin-chip{border:1px solid var(--border-slate);background:var(--panel-bg-muted);color:var(--text-primary);border-radius:var(--badge-radius);padding:8px 12px;font-size:.88rem;cursor:pointer}.checkin-chip-high{border-color:var(--amber-500)}.checkin-chip-selected{background:var(--accent-blue-strong);border-color:var(--accent-blue-300)}.checkin-expand-toggle{align-self:flex-start;background:none;border:none;color:var(--accent-blue-200);padding:0;cursor:pointer;font-size:.9rem}.checkin-details{display:flex;flex-direction:column;gap:12px}.checkin-field input{width:100%}.checkin-sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.checkin-sliders label,.checkin-field{display:flex;flex-direction:column;gap:6px;font-size:.88rem}.checkin-sick{display:flex;align-items:center;gap:8px;font-size:.9rem}.checkin-actions{display:flex;gap:10px}.profile-view{display:flex;flex-direction:column;gap:12px}.profile-view-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.profile-view-header h2{margin:0}.athlete-profile-page,.goal-setup-page,.settings-page{display:flex;flex-direction:column;gap:20px}.page-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-page-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary)}.profile-back-button{flex-shrink:0}.profile-shell{display:flex;flex-direction:column;gap:14px;padding-bottom:4px}.profile-shell-identity{display:flex;align-items:center;gap:16px}.profile-shell-copy{min-width:0}.profile-shell-name{margin:0;font-size:1.6rem;font-weight:700;line-height:1.2;color:var(--text-bright)}.profile-shell-meta{margin:4px 0 0;color:var(--text-secondary);font-weight:500}.profile-shell-location,.profile-shell-hint{margin:4px 0 0;font-size:.9rem}.profile-integrations-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.profile-integrations-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.profile-integration-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--badge-radius);border:1px solid var(--panel-border);background:color-mix(in srgb,var(--scrim-navy-deep) 45%,transparent);color:inherit;font:inherit;cursor:pointer}.profile-integration-chip:hover{border-color:color-mix(in srgb,var(--accent-blue-200) 45%,var(--panel-border))}.profile-integration-chip-name{font-size:.88rem;font-weight:500}.profile-integrations-manage{flex-shrink:0}.profile-integrations-loading{font-size:.88rem}.profile-training-snapshot{margin:0}.profile-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-streak-card{display:flex;flex-direction:column;justify-content:center}.profile-streak-select-wrap{display:block;margin-top:6px}.profile-streak-select{width:100%;margin:0;padding:2px 24px 2px 4px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;line-height:1.3;text-align:center;text-align-last:center;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.profile-streak-select:hover,.profile-streak-select:focus-visible{color:var(--text-primary);outline:none;background-color:color-mix(in srgb,var(--panel-border) 35%,transparent)}.profile-snapshot-error,.profile-snapshot-hint{margin:8px 0 0;font-size:.88rem}.profile-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.profile-column{min-width:0}.profile-group{padding:16px;border-radius:12px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--scrim-navy-deep) 55%,transparent)}.profile-group+.profile-group,.profile-group+.profile-subsection,.profile-subsection+.profile-subsection{margin-top:0}.profile-group-title{margin:0 0 12px;font-size:1rem;font-weight:600}.profile-group-head{margin-bottom:12px}.profile-group-intro,.profile-subsection-intro{margin:4px 0 0;font-size:.88rem;line-height:1.45}.profile-subsection{padding-top:14px;margin-top:14px;border-top:1px solid var(--panel-border)}.profile-subsection:first-child{padding-top:0;margin-top:0;border-top:none}.profile-subsection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.profile-subsection-title{margin:0;font-size:.92rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.profile-training-data-group .profile-subsection:first-of-type{padding-top:0;margin-top:0;border-top:none}.profile-training-data-group .profile-subsection:not(:first-of-type){margin-top:12px;padding-top:18px}.profile-gated-panel{padding:14px 0 4px}.profile-gated-panel h3{margin:0 0 8px;font-size:.95rem}.profile-gated-body{margin:0 0 12px;font-size:.9rem;line-height:1.45}.profile-account-group{padding-top:4px}.profile-account-title{margin-bottom:10px;color:var(--text-muted);font-size:.88rem;text-transform:uppercase;letter-spacing:.05em}.profile-account-sections{display:flex;flex-direction:column;gap:12px}.profile-account-sections .account-email-section,.profile-account-sections .account-delete-section{border:1px solid color-mix(in srgb,var(--panel-border) 70%,transparent);background:color-mix(in srgb,var(--scrim-navy-deep) 35%,transparent)}.profile-page-toolbar,.goal-setup-toolbar{display:flex;justify-content:flex-start;gap:10px}.goal-setup-toolbar{justify-content:space-between;align-items:center}.profile-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.profile-hero-main{display:flex;align-items:center;gap:16px}.profile-hero-avatar{width:64px;height:64px;border-radius:999px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary);font-size:1.2rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.profile-hero-name{margin:0 0 4px;font-size:1.6rem;line-height:1.2}.profile-hero-meta{margin:0;color:var(--text-secondary);font-weight:500}.profile-hero-location{margin:4px 0 0;font-size:.9rem}.profile-hero-stat{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:8px 12px;border:1px solid var(--panel-border);border-radius:10px;background:var(--color-black)}.profile-hero-target{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin-top:14px;padding-top:14px;border-top:1px solid var(--panel-border)}.profile-hero-target-label{color:var(--text-muted);font-size:.9rem}.profile-hero-target-value{color:var(--text-bright);font-size:1.25rem;font-weight:700;line-height:1}.profile-stats-section .profile-field{margin-bottom:12px}.profile-stats-grid{margin-top:4px}.profile-stats-loading,.profile-stats-footnote{margin:8px 0 0;font-size:.88rem}.profile-hero-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-bright);line-height:1.1}.profile-hero-stat-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.account-email-section,.account-delete-section{grid-column:1 / -1}.account-email-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.account-email-intro{margin:4px 0 0}.account-delete-warning{margin:0 0 10px;color:var(--red-300);font-size:.92rem}.account-delete-list{margin:0 0 14px;padding-left:1.2rem}.account-delete-confirm{background:color-mix(in srgb,var(--red-900) 55%,transparent);border-color:var(--red-300);color:var(--red-300)}.account-delete-confirm:hover,.account-delete-confirm:focus-visible{background:color-mix(in srgb,var(--red-900) 75%,transparent)}.profile-section h3{margin:0 0 12px;font-size:1rem}.profile-field-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.profile-field{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:baseline}.profile-field dt{margin:0;color:var(--text-muted);font-size:.84rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.profile-field-source{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);color:var(--accent-blue-200);border:1px solid color-mix(in srgb,var(--accent-blue-200) 35%,transparent);border-radius:var(--badge-radius);padding:var(--badge-padding-y) var(--badge-padding-x)}.profile-field-source-local{color:var(--signal-yellow);border-color:color-mix(in srgb,var(--signal-yellow) 35%,transparent)}.profile-field dd{margin:0;color:var(--text-primary);font-size:.92rem;font-weight:500;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.profile-field-use-garmin{font-size:.75rem;padding:.15rem .5rem;line-height:1.2}.profile-bike-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.profile-equipment-section .profile-field-grid{margin-bottom:0}.profile-equipment-empty{margin:12px 0 0;font-size:.9rem}.profile-bike-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:10px;background:var(--color-black)}.profile-edit-note{font-size:.82rem;margin:0}.profile-edit-note code{font-size:.78rem}.profile-data-sources-head,.profile-about-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.profile-data-sources-intro,.profile-about-intro,.profile-gated-body,.profile-benchmarks-note{margin:0 0 12px;font-size:.9rem}.profile-data-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.profile-data-source-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:10px;background:var(--color-black);color:inherit;text-align:left;cursor:pointer}.profile-data-source-button:hover{border-color:var(--border-slate)}.profile-data-source-main{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-data-source-name{font-weight:600}.profile-data-source-subtitle,.profile-data-source-note{font-size:.85rem}.profile-gated-panel{display:flex;flex-direction:column;gap:12px}.profile-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.profile-about-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-secondary)}.profile-about-field input,.profile-about-field select{width:100%}.profile-about-actions,.profile-benchmarks-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.profile-account-sections{display:flex;flex-direction:column;gap:16px;margin-top:8px;padding-top:8px;border-top:1px solid var(--panel-border)}.goal-review-panel{display:flex;flex-direction:column;gap:10px}.goal-review-panel>.muted{margin:0}.goal-review-chips{display:flex;gap:8px;flex-wrap:wrap}.goal-review-chip{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);color:var(--text-secondary);background:var(--color-black);border:1px solid var(--panel-border);border-radius:var(--badge-radius);padding:var(--badge-padding-y) var(--badge-padding-x)}.goal-review-warn{margin:0;color:var(--signal-yellow)}.goal-review-note{margin:0;color:var(--text-secondary)}.goal-review-definitions{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.goal-review-card{background:var(--color-black);border:1px solid var(--panel-border);border-radius:10px;padding:10px}.goal-review-card h3{margin:0 0 8px;font-size:.95rem}.goal-review-card p{margin:0 0 6px;color:var(--text-secondary);font-size:.83rem;line-height:1.35}.goal-review-target{color:var(--text-muted)}.goal-review-list{margin:0;padding-left:1.1rem;color:var(--text-secondary)}.table-wrap{overflow:auto;max-height:520px;border:1px solid var(--panel-border);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:8px 10px;border-bottom:1px solid var(--panel-border);text-align:left;white-space:nowrap}thead th{position:sticky;top:0;z-index:1}th{background:var(--color-black);color:var(--text-muted)}tr:last-child td{border-bottom:none}.training-plan-hub-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:flex-end}.training-plan-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0 4px}.training-plan-empty p{margin:0;color:var(--text-muted);max-width:42rem}.power-meter-control{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.power-meter-control .power-meter-hint{margin:0;font-size:.82rem;line-height:1.35;text-align:right;max-width:22rem}.power-meter-switch{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border:1px solid var(--border-slate);border-radius:8px;background:var(--color-black);width:100%;justify-content:space-between}.power-meter-switch-label{font-size:.88rem;font-weight:600;color:var(--text-primary)}.power-meter-switch-control{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;padding:0;cursor:pointer;font-weight:600}.power-meter-switch-control:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}.power-meter-switch-track{width:40px;height:22px;border-radius:999px;background:var(--border-slate);position:relative;transition:background .15s ease;flex-shrink:0}.power-meter-switch-control[aria-checked=true] .power-meter-switch-track{background:var(--accent-blue)}.power-meter-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:var(--color-white);transition:transform .15s ease;box-shadow:0 1px 2px color-mix(in srgb,var(--color-black) 25%,transparent)}.power-meter-switch-control[aria-checked=true] .power-meter-switch-thumb{transform:translate(18px)}.power-meter-switch-state{font-size:.82rem;font-weight:600;color:var(--text-muted);min-width:1.6rem}.power-meter-switch-control[aria-checked=true] .power-meter-switch-state{color:var(--accent-blue-200)}.power-meter-hint{font-size:.88rem}.training-plan-hub-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.training-plan-hub-header h2{margin:0 0 4px}.today-plan-card{border-radius:12px;padding:18px 20px;margin-bottom:20px;border:1px solid var(--panel-border);background:var(--panel-gradient);min-width:0}.today-plan-card.signal-green{border-color:var(--signal-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-green) 35%,transparent)}.today-plan-card.signal-yellow{border-color:var(--signal-yellow);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-yellow) 35%,transparent)}.today-plan-card.signal-orange{border-color:var(--signal-orange);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-orange) 35%,transparent)}.today-plan-card.signal-red{border-color:var(--signal-red);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-red) 35%,transparent)}.today-plan-card--completed{border-color:var(--signal-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--signal-green) 35%,transparent)}.plan-badge-complete{background:color-mix(in srgb,var(--signal-green) 15%,transparent);color:var(--green-300);border:1px solid color-mix(in srgb,var(--signal-green) 35%,transparent)}.today-plan-post-workout-recognition{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--text-bright);overflow-wrap:anywhere;word-break:break-word}.today-plan-post-workout-assessment,.today-plan-post-workout-tomorrow{margin:0 0 8px;color:var(--text-secondary)}.today-plan-coach-note--post-workout{border-left:3px solid var(--signal-green)}.today-plan-completion-summary{margin:0 0 10px;color:var(--green-300);font-weight:600}.today-plan-execution-list{margin:0 0 10px;padding-left:18px;color:var(--text-secondary);font-size:.92rem}.today-plan-execution-list--positive{color:var(--green-200)}.today-plan-execution-list--concern{color:var(--signal-yellow)}.today-plan-planned-ref{margin:10px 0 0;font-size:.85rem}.today-plan-card--key{border-left:3px solid var(--brand-cyan)}.today-plan-card--empty{color:var(--text-muted)}.today-plan-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.today-plan-date{margin:0;font-size:1.15rem;font-weight:600}.today-plan-section{margin-bottom:18px}.today-plan-section:last-child{margin-bottom:0}.today-plan-section-label{margin:0 0 10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.today-plan-card-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.today-plan-headline{margin:0 0 8px;font-size:1.35rem;font-weight:700;line-height:1.3}.today-plan-headline-action{color:var(--text-bright)}.today-plan-headline-zone{font-size:1rem;font-weight:600}.today-plan-headline-zone.signal-green{color:var(--signal-green)}.today-plan-headline-zone.signal-yellow{color:var(--signal-yellow)}.today-plan-headline-zone.signal-orange{color:var(--signal-orange)}.today-plan-headline-zone.signal-red{color:var(--signal-red-on-dark)}.today-plan-metrics{margin:8px 0 0}.today-plan-readiness-strip{margin-top:4px}.today-plan-readiness-strip-line{margin:0;font-size:.9rem;line-height:1.45;color:var(--text-muted)}.today-plan-readiness-strip .today-plan-headline-zone{font-size:.9rem}.today-plan-readiness-strip .readiness-alerts{margin-top:8px}.today-plan-coach-note{margin-top:14px;padding:12px 14px;background:color-mix(in srgb,var(--scrim-navy-deep) 60%,transparent);border:1px solid var(--panel-border);border-radius:8px}.today-plan-coach-note--sessions{margin-top:14px;margin-bottom:0}.today-plan-coach-note--helpful{border-color:color-mix(in srgb,var(--signal-green) 35%,transparent);background:color-mix(in srgb,var(--green-800) 12%,transparent)}.today-plan-coach-note--helpful .today-plan-coach-note-text{color:var(--green-200)}.today-plan-coach-note--neutral{border-color:var(--border-slate-strong)}.today-plan-coach-note--caution{border-color:color-mix(in srgb,var(--signal-yellow) 35%,transparent);background:color-mix(in srgb,var(--amber-900) 12%,transparent)}.today-plan-coach-note--caution .today-plan-coach-note-text{color:var(--signal-yellow)}.today-plan-coach-note--overreaching{border-color:color-mix(in srgb,var(--signal-orange) 40%,transparent);background:color-mix(in srgb,var(--orange-800) 15%,transparent)}.today-plan-coach-note--overreaching .today-plan-coach-note-text{color:var(--orange-200)}.today-plan-coach-note-label{margin:0 0 6px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:8px}.coach-ai-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--accent-sky-300) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent-sky-300) 35%,transparent);color:var(--accent-sky-200)}.coach-ai-icon{width:13px;height:13px;display:block}.goal-kpi-drawer-insight{margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--scrim-navy-800) 80%,transparent)}.goal-kpi-drawer-insight-label{margin:0 0 8px;color:var(--text-muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.goal-kpi-drawer-insight p:last-child{margin:0;line-height:1.55}.goal-kpi-drawer-body{margin-top:20px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--scrim-navy-800) 80%,transparent)}.goal-wizard-launch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.goal-wizard{position:fixed;top:0;right:0;z-index:60;width:min(560px,100vw);height:100vh;overflow-y:auto;padding:20px 22px 28px;background:var(--color-black);border-left:1px solid var(--panel-border);box-shadow:-12px 0 40px color-mix(in srgb,var(--color-black) 35%,transparent)}.goal-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.goal-wizard-section{display:flex;flex-direction:column;gap:18px}.goal-wizard-field,.goal-wizard-grid label,.goal-wizard-target-fields label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary);min-width:0}.goal-wizard-field-secondary{margin-top:4px;padding-top:14px;border-top:1px solid var(--panel-border);font-weight:400;color:var(--text-muted)}.goal-wizard-field textarea,.goal-wizard-field input,.goal-wizard-field select,.goal-wizard-grid input,.goal-wizard-grid select,.goal-wizard-target-fields input{width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary);font:inherit;font-weight:400;line-height:1.35;min-height:2.5rem}.goal-wizard-field textarea{min-height:7rem;resize:vertical}.goal-wizard-field-help{font-size:.82rem;font-weight:400;color:var(--text-muted);line-height:1.4}.goal-wizard-review-fields{display:flex;flex-direction:column;gap:16px}.goal-wizard-review-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:720px){.goal-wizard-review-pair{grid-template-columns:1fr}}.goal-wizard-event-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:-6px}.goal-wizard-event-field{position:relative}.goal-wizard-event-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;max-height:220px;overflow-y:auto;border-radius:8px;border:1px solid var(--panel-border);background:var(--color-black);box-shadow:0 12px 28px color-mix(in srgb,var(--color-black) 55%,transparent)}.goal-wizard-event-suggestion{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:0;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;font:inherit;font-weight:400;cursor:pointer}.goal-wizard-event-suggestion:hover,.goal-wizard-event-suggestion:focus-visible{background:color-mix(in srgb,var(--scrim-navy-deep) 70%,transparent);outline:none}.goal-wizard-event-suggestion-name{font-weight:600;line-height:1.35}.goal-wizard-event-suggestion-meta{font-size:.82rem;line-height:1.35}.goal-wizard-event-searching{margin:0;font-size:.82rem}.goal-wizard-event-match{margin:0;padding:12px 14px;border-radius:8px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--scrim-navy-deep) 55%,transparent);line-height:1.45}.goal-wizard-event-match p{margin:0}.goal-wizard-event-match p+p{margin-top:6px}.goal-wizard-runway-gate{display:grid;gap:10px;margin-top:10px;justify-items:start}.goal-wizard-runway-gate .error-banner{margin:0}.goal-wizard-event-miss{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.goal-wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-wizard-actions{display:flex;gap:10px;flex-wrap:wrap}.goal-wizard-source{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-muted);font-size:.85rem}.goal-wizard-rationale{margin:0;padding:12px 14px;border-radius:8px;background:color-mix(in srgb,var(--scrim-navy-deep) 60%,transparent);border:1px solid var(--panel-border);line-height:1.55}.goal-wizard-safety{margin:0;padding-left:18px;color:var(--signal-yellow);font-size:.9rem;line-height:1.45}.goal-wizard-targets{display:flex;flex-direction:column;gap:12px}.goal-wizard-target-row{padding:12px;border:1px solid var(--panel-border);border-radius:8px;background:color-mix(in srgb,var(--scrim-navy-900) 55%,transparent)}.goal-wizard-target-label{margin:0 0 8px;font-weight:600}.goal-wizard-target-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.goal-wizard-errors{margin:0;padding-left:18px;color:var(--signal-red-on-dark)}.goal-wizard-warnings{margin:0;padding-left:18px;color:var(--signal-yellow)}@media(max-width:720px){.goal-wizard-target-fields{grid-template-columns:1fr 1fr}.goal-wizard-launch-row,.page-intro-with-actions{flex-direction:column;justify-content:flex-start;align-content:flex-start}.page-intro-with-actions .page-intro-copy{flex:0 1 auto}.page-intro-actions{width:100%;margin-top:4px}.page-intro-actions button{flex:1 1 auto;width:100%}.settings-range-grid,.goal-metrics-graphics{grid-template-columns:1fr}}.today-plan-coach-note-text{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.55}.today-plan-workout{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--scrim-navy-800) 80%,transparent)}.today-plan-workout-panel{padding:14px 16px;background:color-mix(in srgb,var(--scrim-navy-deep) 55%,transparent);border:1px solid color-mix(in srgb,var(--accent-sky-300) 18%,transparent);border-radius:10px}.session-card-stack{display:flex;flex-direction:column;gap:10px}.session-card{border-left-width:3px;border-left-style:solid}.session-card--planned{border-left-color:var(--accent-sky-300)}.session-card--extra{padding:12px 16px;background:color-mix(in srgb,var(--scrim-navy-900) 65%,transparent);border:1px solid var(--border-slate);border-left:3px solid var(--border-slate-strong);border-radius:10px}.session-card--near-miss{padding:12px 16px;background:color-mix(in srgb,var(--signal-yellow) 8%,var(--scrim-navy-900) 65%);border:1px solid color-mix(in srgb,var(--signal-yellow) 35%,var(--border-slate));border-left:3px solid var(--signal-yellow);border-radius:10px}.session-card-title{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.session-card-title .today-plan-workout-name{margin:0}.session-chip{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);border:1px solid;flex-shrink:0}.session-chip--extra{color:var(--text-muted);border-color:var(--border-slate-strong);background:color-mix(in srgb,var(--border-slate-strong) 18%,transparent)}.session-chip--near-miss{color:var(--signal-yellow);border-color:color-mix(in srgb,var(--signal-yellow) 45%,transparent);background:color-mix(in srgb,var(--signal-yellow) 12%,transparent)}.plan-badge-confirmed{color:var(--accent-sky-200);border-color:color-mix(in srgb,var(--accent-sky-300) 45%,transparent);background:color-mix(in srgb,var(--accent-sky-300) 10%,transparent)}.plan-badge-off-plan{color:var(--signal-yellow);border-color:color-mix(in srgb,var(--signal-yellow) 45%,transparent);background:color-mix(in srgb,var(--signal-yellow) 12%,transparent)}.today-plan-off-plan-review{display:flex;flex-direction:column;gap:16px}.today-plan-off-plan-verdict{margin:0;color:var(--text-primary);font-size:1rem;font-weight:650;line-height:1.5}.today-plan-review-group{display:flex;flex-direction:column;gap:6px}.today-plan-review-label{margin:0;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.today-plan-review-group .today-plan-execution-list{margin:0}.today-plan-review-action,.today-plan-review-tomorrow{margin:0;color:var(--text-primary);line-height:1.5}.today-plan-review-action{font-weight:600}.session-card-confirm{margin-top:10px}.session-card-note--caution{color:var(--signal-yellow)}.session-card-note--overreaching{color:var(--signal-red)}.today-plan-next-time,.session-card-next-time{margin:10px 0 0;font-size:.88rem;font-weight:600;color:var(--accent-sky-200)}.session-parts{list-style:none;margin:0 0 12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--scrim-navy-900) 50%,transparent);border:1px solid var(--panel-border);border-radius:8px}.session-parts-block{margin-bottom:12px}.session-parts-heading{margin:0 0 6px;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.session-parts-item--optional .session-part-detail{color:var(--text-muted);font-style:italic}.session-parts li{display:flex;align-items:baseline;gap:10px;font-size:.9rem}.session-part-label{flex-shrink:0;min-width:72px;color:var(--text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.session-part-detail{color:var(--text-primary)}.session-card-extra-name{margin:0;font-size:.98rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.session-card--extra .session-card-meta{margin:6px 0 0;font-size:.88rem}.session-card-note{margin:4px 0 0;font-size:.82rem}.session-coach-feedback{margin:8px 0 0;padding:8px 10px;border-radius:8px;font-size:.88rem;line-height:1.45;border:1px solid var(--border-slate);background:color-mix(in srgb,var(--scrim-navy-900) 55%,transparent);color:var(--text-secondary)}.session-coach-feedback--helpful{border-color:color-mix(in srgb,var(--signal-green) 35%,transparent);background:color-mix(in srgb,var(--green-800) 15%,transparent);color:var(--green-200)}.session-coach-feedback--neutral{border-color:var(--border-slate-strong);color:var(--text-secondary)}.session-coach-feedback--caution{border-color:color-mix(in srgb,var(--signal-yellow) 35%,transparent);background:color-mix(in srgb,var(--amber-900) 15%,transparent);color:var(--signal-yellow)}.session-coach-feedback--overreaching{border-color:color-mix(in srgb,var(--signal-orange) 40%,transparent);background:color-mix(in srgb,var(--orange-800) 18%,transparent);color:var(--orange-200)}.today-plan-workout-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.today-plan-workout-panel-head .today-plan-workout-name{margin:0;flex:1;min-width:0}.today-plan-power-meter{display:flex;align-items:center;gap:8px;flex-shrink:0}.power-meter-switch--compact{width:auto;padding:4px 10px;gap:8px}.power-meter-switch--compact .power-meter-switch-label{font-size:.82rem}.info-tooltip{position:relative;display:inline-flex}.info-tooltip-trigger{width:1.25rem;height:1.25rem;padding:0;border-radius:50%;border:1px solid var(--text-dim);background:color-mix(in srgb,var(--scrim-navy-900) 80%,transparent);color:var(--text-muted);font-size:.72rem;font-weight:700;font-style:italic;font-family:var(--font-serif);line-height:1;cursor:help;display:inline-flex;align-items:center;justify-content:center}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{color:var(--text-primary);border-color:var(--border-slate-strong);outline:none}.info-tooltip-trigger:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-blue) 45%,transparent)}.info-tooltip-bubble{position:absolute;top:calc(100% + 8px);right:0;width:max(16rem,240px);max-width:min(22rem,90vw);padding:10px 12px;background:var(--panel-bg-elevated);border:1px solid var(--border-slate-strong);border-radius:8px;font-size:.82rem;line-height:1.45;font-weight:400;font-style:normal;font-family:inherit;color:var(--text-primary);text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:20;box-shadow:0 10px 28px color-mix(in srgb,var(--color-black) 40%,transparent)}.info-tooltip:hover .info-tooltip-bubble,.info-tooltip:focus-within .info-tooltip-bubble{opacity:1;visibility:visible}.today-plan-workout-panel .today-plan-workout-name{margin-top:0}.today-plan-bike-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--scrim-navy-800) 65%,transparent)}.today-plan-bike-label{min-width:5.5rem;color:var(--text-muted);font-size:.88rem}.today-plan-bike-value{color:var(--text-primary);font-weight:600}.today-plan-bike-select{min-width:min(100%,20rem);padding:8px 10px;border-radius:8px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary)}.bike-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.bike-config-intro{margin:6px 0 0;max-width:42rem}.bike-config-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.bike-config-item{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px;border:1px solid var(--border-slate);border-radius:10px;background:color-mix(in srgb,var(--scrim-navy-deep) 45%,transparent)}.bike-config-field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--text-muted)}.bike-config-field input{padding:8px 10px;border-radius:8px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary)}.bike-config-check{display:flex;align-items:center;gap:8px;align-self:end;color:var(--text-primary);font-size:.9rem}.bike-config-remove{justify-self:end}.bike-config-actions{margin-top:14px}.bike-config-empty{margin:0 0 12px}@media(max-width:720px){.bike-config-item{grid-template-columns:1fr}}.today-plan-workout-name{margin:0 0 8px;font-size:1.05rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.plan-upcoming-label{margin:0;font-size:.95rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.plan-upcoming-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.plan-upcoming-hint{margin:0;font-size:.82rem}.plan-badge-coach-adjusted{background:color-mix(in srgb,var(--accent-blue-300) 15%,transparent);color:var(--accent-blue-200);border:1px solid color-mix(in srgb,var(--accent-blue-300) 35%,transparent)}.training-plan-day--coach-adjusted{border-color:color-mix(in srgb,var(--accent-blue-300) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-blue-300) 12%,transparent)}.plan-upcoming{margin-bottom:16px}.training-plan-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.training-plan-day--compact{padding:10px 12px;display:flex;flex-direction:column;gap:5px;min-height:116px}.training-plan-day--compact .training-plan-day-head{margin-bottom:0}.training-plan-day--interactive{cursor:pointer;transition:border-color .15s ease,background .15s ease}.training-plan-day--interactive:hover{border-color:var(--accent-sky-300);background:var(--panel-bg-elevated)}.training-plan-day--interactive:focus-visible{outline:2px solid var(--accent-sky-300);outline-offset:2px}.training-plan-day-when{display:flex;align-items:baseline;gap:6px;min-width:0}.training-plan-day--compact .training-plan-workout-name{font-size:.92rem;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:break-word}.training-plan-day-meta{margin:0;font-size:.82rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.training-plan-coach-note--compact{margin:auto 0 0;font-size:.82rem}.plan-garmin-editor{margin-top:20px;padding-top:16px;border-top:1px solid var(--panel-border)}.plan-garmin-title{margin:0 0 8px;font-size:1rem}.plan-garmin-hint{margin:12px 0 0;font-size:.88rem}.garmin-upload-cta{margin-top:16px;padding-top:16px;border-top:1px solid var(--panel-border);scroll-margin-top:16px}.garmin-upload-cta-empty{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.garmin-upload-cta-empty p{margin:0;flex:1 1 220px}.plan-garmin-loading{margin:8px 0 0}.panel-refreshing{margin:0;padding:20px 0}.dashboard-refresh-banner{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--panel-bg);border:1px solid var(--panel-border);font-size:.92rem}.power-meter-control--inline{margin-bottom:12px}.today-plan-garmin-action{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.today-plan-garmin-uploaded{margin:0;font-size:.85rem}.workout-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--scrim-navy-950) 72%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.workout-modal{width:min(920px,100%);max-height:min(92vh,960px);display:flex;flex-direction:column;background:var(--panel-bg-muted);border:1px solid var(--border-slate);border-radius:14px;box-shadow:0 24px 64px color-mix(in srgb,var(--color-black) 45%,transparent)}.workout-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--panel-border)}.workout-modal-header h2{margin:0;font-size:1.05rem}.workout-modal-body{padding:16px 20px;overflow:auto}.workout-modal-close{flex-shrink:0}.plan-garmin-editor--modal{border-top:none;padding-top:0}.composer-actions-modal{position:sticky;bottom:0;margin-top:16px;padding-top:14px;border-top:1px solid var(--panel-border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-panel) 0%,transparent) 0%,var(--panel-bg-muted) 24%);justify-content:flex-end}.composer-actions-modal .secondary{margin-right:auto}@media(max-width:720px){.workout-modal-overlay{padding:12px}.composer-actions-modal{flex-direction:column;align-items:stretch}.composer-actions-modal .secondary{margin-right:0}}.training-plan-panel{margin-bottom:1rem}.training-plan-header h2{margin:0 0 4px}.training-plan-subtitle{margin:0;color:var(--text-muted);font-size:.9rem}.training-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}.training-plan-day{background:var(--color-black);border:1px solid var(--panel-border);border-radius:10px;padding:12px 14px}.training-plan-day--today{border-color:var(--accent-sky-300);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-sky-300) 25%,transparent)}.training-plan-day--key{border-left:3px solid var(--brand-cyan)}.training-plan-day-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.training-plan-day-name{font-weight:600;margin-right:8px}.training-plan-day-date{color:var(--text-dim);font-size:.85rem}.training-plan-day-badges{display:flex;flex-wrap:wrap;gap:4px}.plan-badge{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);background:var(--panel-bg-elevated);color:var(--text-secondary);letter-spacing:var(--badge-letter-spacing)}.plan-badge-today{background:var(--accent-sky);color:var(--color-black)}.plan-badge-key{background:var(--brand-cyan);color:var(--color-black)}.plan-badge-phase{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--text-muted) 28%,transparent)}.plan-badge-planned{color:var(--accent-sky-200);border:1px solid color-mix(in srgb,var(--accent-sky-300) 45%,transparent);background:color-mix(in srgb,var(--accent-sky-300) 10%,transparent)}.plan-upcoming-group{margin-bottom:14px}.plan-upcoming-group:last-child{margin-bottom:0}.plan-upcoming-group-label{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.plan-zone-green{background:var(--green-800);color:var(--green-100)}.plan-zone-yellow{background:var(--amber-900);color:var(--amber-100)}.plan-zone-orange{background:var(--orange-800);color:var(--orange-100)}.plan-zone-red{background:var(--red-800);color:var(--red-100)}.training-plan-workout-name{margin:0 0 6px;font-size:1rem}.training-plan-coach-note{margin:0 0 10px;color:var(--text-secondary);font-size:.88rem;line-height:1.4}.training-plan-details{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:.82rem}.training-plan-details dt{color:var(--text-dim);margin:0}.training-plan-details dd{margin:0;color:var(--text-primary)}.user-equipment-panel .user-equipment-summary{margin:0 0 10px;color:var(--text-secondary)}.user-equipment-bikes{margin:0 0 10px;padding-left:1.2rem;color:var(--text-primary)}.user-equipment-note{font-size:.82rem}@media(max-width:720px){.hero{flex-direction:column;align-items:flex-start}.hero-recommendation{font-size:1.55rem}.hero-badge{align-self:flex-start;font-size:1.15rem;padding:10px 14px}.topbar-athlete{flex-direction:column;align-items:stretch}.topbar-status{white-space:normal}.active-athlete-button{display:flex;width:100%;justify-content:flex-start}.user-menu,.user-menu-dropdown{width:100%}.controls .control-row{flex-direction:column;align-items:stretch}.controls label{width:100%}.controls select,.controls input[type=date]{width:100%;min-width:0}.control-actions button{flex:1 1 calc(50% - 5px);min-width:0}.training-plan-hub-header,.training-plan-hub-actions{flex-direction:column;align-items:stretch}.power-meter-control{align-items:stretch;width:100%}.power-meter-control .power-meter-hint{text-align:left;max-width:none;padding:0 2px}.power-meter-switch{width:100%}.profile-view-header{flex-direction:column;align-items:stretch}.profile-view-header button{width:100%}.profile-hero{flex-direction:column;align-items:stretch}.profile-shell{gap:12px}.profile-integrations-strip{flex-direction:column;align-items:stretch}.profile-integrations-manage{width:100%}.profile-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-columns{grid-template-columns:1fr}.profile-hero-stat{align-items:flex-start;text-align:left}.profile-field{grid-template-columns:1fr}.profile-field dd{text-align:left}.today-plan-card-head{flex-direction:column;align-items:flex-start}.today-plan-card-badges{justify-content:flex-start}}@media(min-width:721px)and (max-width:1024px){.training-plan-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.training-plan-grid--compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(min-width:1280px){.training-plan-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.training-plan-grid--compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.app-login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-screen{width:min(440px,100%)}.login-brand-wrap{display:flex;align-items:center;justify-content:center;margin:0 0 14px;padding:6px 0 2px}.login-brand-horiz{display:block;width:min(240px,100%);height:auto;max-height:66px;object-fit:contain;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--color-black) 22%,transparent))}.login-card h1{margin:0 0 10px;font-size:1.65rem}.login-lead{margin-bottom:20px}.login-help{margin:0 0 12px;font-size:.82rem;line-height:1.4}.login-lead+.login-help{margin-top:-10px}.login-card .error-banner{margin:12px 0}.login-card .status-banner{margin:12px 0;padding:12px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-blue-200) 35%,var(--panel-border));background:color-mix(in srgb,var(--accent-blue-200) 12%,var(--panel-bg));color:var(--text-primary);font-size:.9rem;line-height:1.45}.service-unavailable-card .login-lead{margin-bottom:20px}.login-success{margin:0 0 12px;color:var(--green-300);font-size:.82rem}.login-forgot-link{margin-top:6px;align-self:flex-start;border:none;background:transparent;color:var(--accent-blue-200);font-size:.8rem;padding:0;cursor:pointer}.login-forgot-link:hover,.login-forgot-link:focus-visible{color:var(--accent-blue-100);text-decoration:underline}.login-reset-box{border:1px solid var(--border-slate);border-radius:10px;padding:10px 12px;background:var(--panel-bg-muted);margin-top:4px}.login-reset-box h3{margin:0 0 6px;font-size:.92rem}.login-reset-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.login-athlete-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.login-athlete-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-slate);border-radius:10px;background:var(--panel-bg-muted);color:inherit;text-align:left;cursor:pointer}.login-athlete-button:hover,.login-athlete-button:focus-visible{border-color:var(--accent-blue);background:var(--panel-bg-elevated)}.login-athlete-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.login-athlete-copy strong{font-size:.95rem}.login-athlete-copy .muted{font-size:.78rem}.login-default-badge{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);color:var(--text-muted);border:1px solid var(--border-slate);border-radius:var(--badge-radius);padding:var(--badge-padding-y) var(--badge-padding-x);white-space:nowrap}.login-mode-tabs{display:flex;gap:8px;margin-bottom:16px}.login-mode-tab{flex:1;padding:8px 12px;border:1px solid var(--border-slate);border-radius:8px;background:var(--panel-bg-muted);color:var(--text-muted);cursor:pointer;font-size:.88rem}.login-mode-tab.active{color:var(--text-primary);border-color:var(--accent-blue);background:var(--panel-bg-elevated)}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--text-secondary)}.login-field input{width:100%;padding:10px 12px;border:1px solid var(--border-slate);border-radius:8px;background:var(--panel-bg-muted);color:var(--text-primary);font:inherit}.login-field input:focus{outline:none;border-color:var(--accent-blue)}.login-show-password{display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-size:.8rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.login-show-password input{width:auto;margin:0;accent-color:var(--accent-blue);cursor:pointer}.login-submit{margin-top:4px;padding:11px 14px;border:none;border-radius:8px;background:var(--accent-blue);color:var(--color-white);font:inherit;font-weight:600;cursor:pointer}.login-submit:disabled{opacity:.65;cursor:not-allowed}.connected-apps-status{display:flex;flex-direction:column;gap:10px}.connected-apps-form{margin-top:4px}.connected-apps-subheading{margin:18px 0 8px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.integration-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.integration-row-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg-elevated);color:inherit;text-align:left;cursor:pointer}.integration-row-button:hover{border-color:var(--accent-blue)}.integration-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.integration-row-title{font-size:.98rem;font-weight:600}.integration-row-subtitle,.integration-row-meta{font-size:.82rem;color:var(--text-muted)}.integration-row-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0}.integration-row-chevron{color:var(--text-muted);font-size:1.1rem;line-height:1}.integration-status-pill{display:inline-flex;align-items:center;padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);border:1px solid transparent}.integration-status-pill--connected{color:var(--signal-green);background:color-mix(in srgb,var(--signal-green) 16%,transparent);border-color:color-mix(in srgb,var(--signal-green) 35%,transparent)}.integration-status-pill--managed{color:var(--accent-blue);background:color-mix(in srgb,var(--accent-blue) 12%,transparent);border-color:color-mix(in srgb,var(--accent-blue) 30%,transparent)}.integration-status-pill--needs_attention{color:var(--signal-orange);background:color-mix(in srgb,var(--signal-orange) 14%,transparent);border-color:color-mix(in srgb,var(--signal-orange) 35%,transparent)}.integration-status-pill--not_connected{color:var(--text-muted);background:var(--panel-bg-muted);border-color:var(--panel-border)}.integration-detail{display:flex;flex-direction:column;gap:12px}.integration-detail-actions{display:flex;flex-direction:column;gap:10px}.button-with-spinner{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.btn-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.integration-sync-hint{margin:0;font-size:.9rem;font-variant-numeric:tabular-nums}.import-data-block{display:flex;flex-direction:column;gap:10px}.import-data-block h3{margin:0;font-size:1rem}.dashboard-goal-stack{display:flex;flex-direction:column;gap:0;margin-bottom:4px}.dashboard-goal-stack-refreshing{opacity:.92;transition:opacity .15s ease}.dashboard-goal-stack .goal-hero,.dashboard-weekly-coach{margin-bottom:16px}.dashboard-weekly-coach h3{margin-top:0}.dashboard-hero-empty{margin-bottom:16px}.dashboard-hero-cta{margin-top:12px}.dashboard-error{margin-bottom:16px}.settings-section h2{margin-top:0}.settings-connection-status{margin:0 0 8px}.settings-range-grid{display:grid;grid-template-columns:minmax(11rem,1fr) minmax(10rem,1fr) minmax(10rem,1fr);gap:16px 20px;align-items:end}.settings-field{display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--text-secondary);min-width:0}.settings-field select,.settings-field input[type=date]{width:100%;min-width:0;padding:10px 12px;border-radius:8px;border:1px solid var(--border-slate);background:var(--color-black);color:var(--text-primary);font:inherit}.settings-checkbox{margin-top:16px}.settings-env-grid{margin:4px 0 0;display:grid;gap:8px 16px}.settings-env-row{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:8px 16px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border-slate)}.settings-env-row:last-child{border-bottom:none}.settings-env-row dt{margin:0;font-size:.85rem;color:var(--text-secondary)}.settings-env-row dd{margin:0;font-size:.9rem;color:var(--text-primary);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.collapsible-section{padding:0;overflow:hidden}.collapsible-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.collapsible-section-toggle h2{margin:0 0 4px;font-size:1.1rem}.collapsible-section-summary{font-size:.82rem}.collapsible-section-chevron{color:var(--text-muted);font-size:1.1rem;flex-shrink:0}.collapsible-section-body{padding:0 16px 16px;border-top:1px solid var(--surface-slate)}.readiness-cards-section .panel-footnote{margin:12px 0}.training-data-tables{display:flex;flex-direction:column;gap:16px}.training-data-tables .panel{margin-bottom:0}.goal-active-panel{display:flex;flex-direction:column;gap:14px}.goal-active-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.goal-active-kicker{margin:0 0 4px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.goal-section-kicker-icon{width:14px;height:14px;flex-shrink:0;color:var(--brand-cyan)}.goal-active-name{margin:0 0 6px;font-size:1.25rem}.goal-active-primary{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.4;max-width:52ch}.goal-active-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.goal-active-status{display:inline-block;padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);background:var(--panel-bg-elevated);border:1px solid var(--panel-border);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);color:var(--text-primary)}.goal-active-status.signal-green{color:var(--signal-green);border-color:color-mix(in srgb,var(--signal-green) 45%,transparent);background:color-mix(in srgb,var(--signal-green) 15%,transparent)}.goal-active-status.signal-yellow{color:var(--signal-yellow);border-color:color-mix(in srgb,var(--signal-yellow) 45%,transparent);background:color-mix(in srgb,var(--signal-yellow) 15%,transparent)}.goal-active-status.signal-orange{color:var(--signal-orange);border-color:color-mix(in srgb,var(--signal-orange) 45%,transparent);background:color-mix(in srgb,var(--signal-orange) 15%,transparent)}.goal-active-status.signal-red{color:var(--signal-red-on-dark, var(--signal-red));border-color:color-mix(in srgb,var(--signal-red) 45%,transparent);background:color-mix(in srgb,var(--signal-red) 12%,transparent)}.goal-active-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px}.goal-active-item dt{margin:0 0 2px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.goal-active-item dd{margin:0;color:var(--text-primary);font-size:.95rem}.goal-active-home-hint{margin:0;font-size:.85rem}@media(max-width:640px){.goal-active-meta{text-align:left;align-items:flex-start}}.goal-benchmark-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px 16px}.goal-benchmark-head-copy h2{margin:0}.goal-benchmark-kicker{margin:0 0 4px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.goal-benchmark-footnote{grid-column:1 / -1;margin:0}.goal-benchmark-body{margin-top:14px;display:flex;flex-direction:column;gap:12px}.goal-benchmark-glance{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.goal-benchmark-source-label{font-size:.95rem;font-weight:600;color:var(--text-primary);cursor:help}.goal-benchmark-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px}.goal-benchmark-item{min-width:0}.goal-benchmark-item--wide{grid-column:1 / -1}.goal-benchmark-item dt{margin:0 0 2px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.goal-benchmark-item dd{margin:0;color:var(--text-primary);font-size:.95rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.goal-benchmark-item dd a{color:var(--accent-sky-200)}.goal-benchmark-baseline-sources{color:var(--text-secondary);font-size:.9rem}.benchmark-confidence{text-transform:capitalize;font-weight:var(--badge-font-weight);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);font-size:var(--badge-font-size);letter-spacing:var(--badge-letter-spacing);border:1px solid transparent;cursor:help}.benchmark-confidence--high{color:var(--green-200, var(--signal-green));border-color:color-mix(in srgb,var(--signal-green) 45%,transparent);background:color-mix(in srgb,var(--signal-green) 15%,transparent)}.benchmark-confidence--medium{color:var(--signal-yellow);border-color:color-mix(in srgb,var(--signal-yellow) 45%,transparent);background:color-mix(in srgb,var(--signal-yellow) 15%,transparent)}.benchmark-confidence--low{color:var(--signal-red-on-dark, var(--signal-red));border-color:color-mix(in srgb,var(--signal-red) 45%,transparent);background:color-mix(in srgb,var(--signal-red) 12%,transparent)}.benchmark-verified{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);text-transform:none;color:var(--green-200, var(--signal-green));border:1px solid color-mix(in srgb,var(--signal-green) 45%,transparent);border-radius:var(--badge-radius);padding:var(--badge-padding-y) var(--badge-padding-x);text-decoration:none;display:inline-flex;align-items:center;max-width:100%;line-height:1.3}.benchmark-verified--link:hover{background:color-mix(in srgb,var(--signal-green) 15%,transparent)}.goal-benchmark-hint{margin:0;font-size:.9rem}.goal-benchmark-sources-label{margin:0 0 4px;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.goal-benchmark-sources ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px}.goal-benchmark-sources a{color:var(--accent-sky-200)}.goal-benchmark-assumptions{color:var(--text-secondary);font-size:.9rem}.goal-benchmark-assumptions summary{cursor:pointer;color:var(--text-muted);font-weight:600}.goal-benchmark-assumptions ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.admin-trends-panel{display:flex;flex-direction:column;gap:16px}.admin-trends-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.admin-trends-header h2{margin:0}.admin-trends-source{margin:0;font-size:.85rem}.admin-trends-grid{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(160px,220px);gap:16px;align-items:start}.admin-trends-grid--compact{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}@media(max-width:960px){.admin-trends-grid,.admin-trends-grid--compact{grid-template-columns:1fr}}.admin-trends-controls{display:flex;flex-direction:column;gap:12px}.admin-trends-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-secondary)}.admin-trends-field select{width:100%;min-height:34px;color:var(--text-primary);background:var(--surface-raised, var(--bg-elevated, #1e2430));border:1px solid var(--border-subtle, #333);border-radius:6px;padding:6px 8px}.admin-trends-values h3{margin:0 0 8px;font-size:.95rem}.admin-trends-values-table{max-height:260px;overflow:auto}.admin-activity-feed{display:flex;flex-direction:column;gap:12px}.admin-activity-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.admin-activity-header h2{margin:0}.admin-activity-header p{margin:0;font-size:.85rem}.admin-activity-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-activity-filter-toggle{padding:4px 10px;font-size:.8rem}.admin-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;max-height:420px;overflow:auto}.admin-activity-item{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--border-subtle, #333)}.admin-activity-item:first-child{border-top:none;padding-top:0}.admin-activity-when{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.admin-activity-title{font-weight:600;color:var(--text-primary)}.admin-activity-meta{margin-top:2px;font-size:.85rem;line-height:1.35}.admin-trends-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted)}.admin-trends-toggle .is-active{color:var(--text-primary);font-weight:600}.admin-trends-meta strong{display:block;margin-bottom:4px}.admin-trends-meta p{margin:0 0 4px;font-size:.85rem}.admin-trends-viz{min-width:0}.admin-trends-headline{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}.admin-trends-headline h3{margin:0;font-size:1rem}.admin-trends-stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.admin-trends-stat strong{font-size:1.4rem;line-height:1.1}.admin-trends-caption{margin:6px 0 0;font-size:.8rem}.admin-trends-chart{width:100%;height:auto;max-height:220px}.admin-trends-axis{stroke:var(--border-subtle, #444);stroke-width:1}.admin-trends-line{stroke:var(--accent-sky-200, #7dd3fc);stroke-width:2}.admin-trends-dot{fill:var(--accent-sky-200, #7dd3fc)}.admin-trends-tick{fill:var(--text-muted);font-size:10px}.admin-trends-breakdown-bar{display:flex;height:12px;border-radius:4px;overflow:hidden;gap:2px;margin:8px 0 12px}.admin-trends-breakdown-seg{min-width:4px;background:var(--accent-sky-200, #7dd3fc);opacity:.85}.admin-trends-breakdown-seg:nth-child(2){opacity:.65}.admin-trends-breakdown-seg:nth-child(3){opacity:.45}
