:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f0f5fc;--muted:#acbdd3;--line:#29405a;--soft:#050e19;--surface:#0a1828;--surface-raised:#102237;--accent:#69c6ff;--action:#0876f9;--action-hover:#1260d5;--selected:#102d50;--plum:var(--accent);--plum-dark:var(--action-hover);--violet:var(--accent);--purple:var(--accent);--border:var(--line);--success:#77e3b4;--success-soft:#0d302b;--success-line:#296a59;--warning:#ffd28a;--warning-soft:#342a19;--warning-line:#76613e;--danger:#ff9fae;--danger-soft:#351b29;--danger-line:#783c50;--run:#ff9a68;--bike:#5dbaff;--swim:#54d9e8;--strength:#bb98ff;--mobility:#70dca3;--run-soft:#35251f;--bike-soft:#102e43;--shadow-color:#00000026;--shadow:0 8px 28px var(--shadow-color);--radius:14px;--radius-control:9px;--control-height:46px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--font-small:.8125rem;--font-body:.9375rem}.header-inner nav{gap:3px;display:flex}.header-inner .nav-link{padding:10px 7px;font-size:12px}.actual-section{margin:22px 0}.actual-section>header,.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.execution-pill{background:var(--selected);color:var(--accent);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.execution-pill.completed,.card-execution.completed{color:var(--success);background:var(--success-soft)}.execution-pill.partial,.execution-pill.overcompleted,.ambiguity-note{color:var(--warning);background:var(--warning-soft)}.card-execution{background:var(--surface-raised);color:var(--muted);border-radius:7px;gap:3px;margin-top:9px;padding:6px;font-size:11px;display:grid}.card-execution small{font-size:10px}.suggestion-list{gap:10px;margin:16px 0;display:grid}.suggestion,.confirmed-activity{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.suggestion>div:first-child,.confirmed-activity>div{flex:220px}.suggestion p,.confirmed-activity p{color:var(--muted);font-size:13px}.suggestion summary,.manual-match summary{cursor:pointer;color:var(--plum);padding:8px 0;font-size:13px}.suggestion details{font-size:12px}.ambiguity-note{border-radius:10px;padding:14px;font-size:14px}.manual-match{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.manual-match p{font-size:13px}.comparison-scroll{width:100%;margin-top:20px;overflow-x:auto}.comparison-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 10px}.comparison-table thead{color:var(--muted);background:var(--soft)}.activities-page{max-width:1000px}.activities-page>.detail-card{margin:20px 0}.import-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.import-form label,.manual-match label,.quick-reschedule label{gap:7px;font-size:13px;display:grid}.import-form input,.manual-match input,.quick-reschedule input{border:1px solid var(--line);background:var(--surface);border-radius:9px;max-width:100%;min-height:44px;padding:10px}.import-result{background:var(--success-soft);color:var(--success);border-radius:12px;margin:20px 0;padding:18px;font-size:14px}.activity-list{gap:12px;display:grid}.activity-list-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:center;gap:15px;padding:18px;display:flex}.activity-list-item>svg{color:var(--plum);flex:none}.activity-list-item>div{flex:200px;min-width:0}.activity-list-item p{color:var(--muted);font-size:13px}.actual-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.actual-metrics div{gap:5px;display:grid}.actual-metrics span{color:var(--muted);font-size:12px}.actual-metrics strong{font-size:22px}.pagination{justify-content:center;align-items:center;gap:14px;margin:24px 0;display:flex}.calendar-help{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;display:flex}.day-column.drop-active{outline:3px solid var(--violet);background:var(--selected)}.quick-reschedule{padding:4px 8px}.quick-reschedule summary{cursor:pointer;color:var(--plum);padding:8px 0;font-size:11px}.quick-reschedule form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.quick-reschedule form label{flex:120px;min-width:0}.quick-reschedule input{width:100%;font-size:12px}[draggable=true]{cursor:grab}button:disabled{opacity:.55;cursor:wait}@media (max-width:420px){.header-inner{gap:8px!important;padding:0 12px!important}.header-inner .athlete-chip{display:none}.header-inner .brand strong{font-size:15px}.header-inner .nav-link svg{display:none}}@media (min-width:760px){.actual-metrics{grid-template-columns:repeat(3,1fr)}}*{box-sizing:border-box}html{background:var(--soft);color:var(--ink)}body{background:radial-gradient(circle at 15% 0%, var(--selected) 0, transparent 28rem), var(--soft);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-header{z-index:30;border-bottom:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{align-items:center;gap:28px;width:min(1440px,100%);min-height:68px;margin:0 auto;padding:0 20px;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--plum), var(--accent));width:38px;height:38px;box-shadow:0 8px 18px var(--shadow-color);border-radius:12px;place-items:center;display:grid}.brand>span:last-child{flex-direction:column;line-height:1.05;display:flex}.brand strong{letter-spacing:-.02em;font-size:17px}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:10px}nav{display:none}.nav-link{color:var(--muted);border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.nav-link.active{color:var(--plum);background:var(--selected)}.athlete-chip{align-items:center;gap:9px;display:flex}.athlete-chip>span{background:var(--plum-dark);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;font-weight:800;display:grid}.athlete-chip div{flex-direction:column;display:none}.athlete-chip strong{font-size:13px}.athlete-chip small{color:var(--muted);font-size:11px}.page-shell{width:min(1440px,100%);margin:0 auto;padding:26px 16px 72px}.dashboard-intro{justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 24px;display:flex}.dashboard-intro h1{letter-spacing:-.045em;margin:3px 0 5px;font-size:clamp(28px,5vw,44px);line-height:1.05}.dashboard-intro p{color:var(--muted);margin:0;font-size:14px}.kicker,.eyebrow{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.primary-button,.secondary-button,.danger-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.primary-button{color:#fff;background:var(--plum);box-shadow:0 8px 18px var(--shadow-color)}.primary-button:hover{background:var(--plum-dark);transform:translateY(-1px)}.secondary-button{color:var(--plum);background:var(--selected)}.secondary-button:hover{background:var(--selected)}.danger-button{color:var(--danger);background:var(--danger-soft)}.danger-button:hover{background:var(--danger-soft)}.week-toolbar{border:1px solid var(--line);background:var(--surface);max-width:420px;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:44px 1fr 44px;align-items:center;margin:0 auto 18px;padding:8px;display:grid}.week-toolbar>div{flex-direction:column;align-items:center;display:flex}.week-toolbar strong{letter-spacing:-.01em;font-size:16px}.toolbar-caption{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.icon-button{width:40px;height:40px;color:var(--plum);background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.icon-button:hover{background:var(--selected)}.summary-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.summary-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-items:center;gap:9px;min-width:0;padding:12px;display:flex}.summary-card>svg{width:19px;color:var(--violet);flex:none}.summary-card div{flex-direction:column;min-width:0;display:flex}.summary-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.summary-card span{color:var(--muted);font-size:10px}.week-grid{gap:12px;display:grid}.day-column{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:0 5px 20px var(--shadow-color);overflow:hidden}.day-header{border-bottom:1px solid var(--line);background:var(--surface-raised);justify-content:space-between;align-items:center;min-height:58px;padding:11px 14px;display:flex}.day-header div{align-items:baseline;gap:7px;display:flex}.day-header span{color:var(--muted);letter-spacing:.1em;font-size:11px;font-weight:900}.day-header strong{font-size:21px}.day-header small{color:var(--muted);font-size:11px}.day-workouts{gap:8px;padding:9px;display:grid}.rest-day{color:var(--muted);text-align:center;margin:0;padding:12px;font-size:12px}.workout-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;min-width:0;padding:12px 11px 12px 13px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.workout-card:hover{border-color:var(--line);box-shadow:0 8px 20px var(--shadow-color);transform:translateY(-1px)}.sport-rail{background:var(--run);width:4px;position:absolute;inset:0 auto 0 0}.workout-card[data-sport=cycling] .sport-rail{background:var(--bike)}.workout-card[data-sport=strength] .sport-rail{background:var(--strength)}.workout-card[data-sport=mobility] .sport-rail{background:var(--mobility)}.workout-icon{width:36px;height:36px;color:var(--run);background:var(--run-soft);border-radius:11px;place-items:center;display:grid}.workout-card[data-sport=cycling] .workout-icon{color:var(--bike);background:var(--bike-soft)}.workout-card[data-sport=strength] .workout-icon{color:var(--strength);background:var(--selected)}.workout-card[data-sport=mobility] .workout-icon{color:var(--mobility);background:var(--success-soft)}.workout-card-body{min-width:0}.workout-card-topline{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.workout-card-body>strong{text-overflow:ellipsis;font-size:14px;line-height:1.25;display:block;overflow:hidden}.compact-meta{color:var(--muted);flex-wrap:wrap;gap:5px 9px;margin-top:5px;font-size:11px;line-height:1.35;display:flex}.compact-meta span{align-items:center;gap:3px;display:inline-flex}.card-chevron{color:var(--muted)}.status-badge{white-space:nowrap;max-width:110px;color:var(--muted);background:var(--surface-raised);border-radius:999px;align-items:center;gap:4px;padding:3px 6px;font-size:9px;font-weight:800;display:inline-flex}.status-scheduled{color:var(--success);background:var(--success-soft)}.status-dirty{color:var(--warning);background:var(--warning-soft)}.status-error{color:var(--danger);background:var(--danger-soft)}.status-syncing svg,.status-dirty svg{animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-panel{border:1px solid var(--danger-line);color:var(--danger);background:var(--danger-soft);border-radius:16px;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex}.error-panel div{flex:1}.error-panel p{margin:3px 0 0;font-size:13px}.skeleton-block{min-height:150px;padding:15px}.skeleton-block span{background:linear-gradient(90deg, var(--surface-raised), var(--surface), var(--surface-raised));background-size:200% 100%;border-radius:8px;height:18px;margin-bottom:12px;animation:1.4s infinite shimmer;display:block}.skeleton-block span:last-child{height:74px}@keyframes shimmer{to{background-position:-200% 0}}.page-loading{min-height:50vh;color:var(--muted);place-items:center;display:grid}@media (max-width:640px){.dashboard-intro{align-items:flex-start}.dashboard-intro .primary-button{flex:0 0 44px;width:44px;padding:0;font-size:0}.summary-card{flex-direction:column;align-items:flex-start;gap:4px}.summary-card strong{font-size:13px}.summary-card>svg{width:17px}}@media (min-width:760px){nav{display:block}.athlete-chip div{display:flex}.page-shell{padding:38px 24px 80px}.summary-grid{gap:12px;max-width:600px}.summary-card{padding:14px 16px}}@media (min-width:1120px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:9px}.day-column{min-height:245px}.day-header{padding:10px}.day-header div{flex-direction:column;align-items:flex-start;gap:0}.day-header small{display:none}.day-workouts{gap:7px;padding:7px}.workout-card{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:10px 8px 10px 10px}.workout-icon{width:30px;height:30px}.workout-icon svg{width:16px}.workout-card-topline{display:block}.status-badge{margin-top:4px}.card-chevron{display:none}.compact-meta{display:block}.compact-meta span{margin-right:6px}.eyebrow{font-size:9px}}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:20px;font-size:13px;font-weight:750;display:inline-flex}.back-link:hover{color:var(--plum)}.page-heading{margin-bottom:24px}.page-heading h1{letter-spacing:-.04em;margin:4px 0 6px;font-size:clamp(28px,4vw,40px)}.page-heading p{color:var(--muted);margin:0}.editor-page{max-width:980px}.workout-form{gap:18px;display:grid}.form-section,.detail-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px}.form-section{padding:18px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:19px;display:flex}.section-heading>span{color:#fff;background:var(--plum);border-radius:10px;flex:0 0 31px;place-items:center;width:31px;height:31px;font-size:11px;font-weight:900;display:grid}.section-heading h2,.detail-card h2{letter-spacing:-.025em;margin:0;font-size:18px}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.form-grid,.step-grid,.strength-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-grid label,.step-grid label,.strength-grid label{flex-direction:column;gap:6px;min-width:0;display:flex}.form-grid label>span,.step-grid label>span,.strength-grid label>span,.compact-field>span{color:var(--muted);font-size:11px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea,.step-grid input,.step-grid select,.strength-grid input,.strength-grid select,.step-editor-head select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface);border-radius:12px;outline:none;padding:10px 11px;transition:border-color .15s,box-shadow .15s}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.step-grid input:focus,.step-grid select:focus,.strength-grid input:focus,.strength-grid select:focus,.step-editor-head select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--shadow-color)}.wide-field{grid-column:1/-1}.steps-editor-list,.strength-editor-list{gap:12px;display:grid}.step-editor,.strength-editor{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:13px}.step-editor-head,.strength-editor-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.step-editor-head select{max-width:240px;font-weight:750}.strength-editor-head strong{font-size:13px}.remove-row{width:35px;height:35px;color:var(--danger);background:var(--danger-soft);border:0;border-radius:10px;flex:0 0 35px;place-items:center;display:grid}.remove-row:hover{background:var(--danger-soft)}.nested-steps{border-left:3px solid var(--line);gap:10px;margin-top:12px;padding-left:12px;display:grid}.nested-step{background:var(--surface)}.compact-field{align-items:center;gap:8px;display:flex}.compact-field input{border:1px solid var(--line);border-radius:10px;width:76px;min-height:40px;padding:8px}.compact-field small{color:var(--muted)}.text-button,.add-row-button{border:1px dashed var(--line);color:var(--plum);background:var(--selected);border-radius:12px;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.text-button{justify-self:start;min-height:36px;padding:0 11px;font-size:11px}.add-row-button{min-height:45px;padding:0 15px}.add-row-button:hover,.text-button:hover{background:var(--selected)}.row-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.secondary-add{color:var(--muted);background:var(--surface-raised);border-color:var(--line)}.exercise-field{grid-column:1/-1}.form-footer{z-index:10;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px var(--shadow-color);border-radius:17px;justify-content:flex-end;gap:9px;padding:12px;display:flex;position:sticky;bottom:12px}.form-alert,.success-alert{border-radius:14px;align-items:center;gap:9px;padding:13px 15px;font-size:13px;font-weight:650;display:flex}.form-alert{color:var(--danger);border:1px solid var(--danger-line);background:var(--danger-soft)}.success-alert{color:var(--success);border:1px solid var(--success-line);background:var(--success-soft);margin-bottom:16px}.detail-page{max-width:1180px}.detail-hero{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:20px;display:grid;position:relative;overflow:hidden}.detail-hero:before{content:"";background:var(--run);width:5px;position:absolute;inset:0 auto 0 0}.detail-hero[data-sport=cycling]:before{background:var(--bike)}.detail-hero[data-sport=strength]:before{background:var(--strength)}.detail-hero[data-sport=mobility]:before{background:var(--mobility)}.hero-sport-icon{color:#fff;background:var(--run);border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.detail-hero[data-sport=cycling] .hero-sport-icon{background:var(--bike)}.detail-hero[data-sport=strength] .hero-sport-icon{background:var(--strength)}.detail-hero[data-sport=mobility] .hero-sport-icon{background:var(--mobility)}.detail-title{min-width:0}.detail-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:11px;font-weight:850;display:flex}.detail-title h1{letter-spacing:-.045em;margin:5px 0 7px;font-size:clamp(27px,5vw,43px);line-height:1}.detail-title p{color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.detail-actions{grid-column:1/-1;grid-template-columns:1fr;gap:8px;display:grid}.icon-danger{width:44px;padding:0;position:absolute;top:14px;right:14px}.detail-metrics{grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0;display:grid}.detail-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px;min-width:0;padding:14px;display:grid}.detail-metrics svg{color:var(--violet);grid-row:1/3}.detail-metrics span{color:var(--muted);font-size:10px}.detail-metrics strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.detail-layout{gap:14px;display:grid}.detail-card{padding:18px}.detail-card header{justify-content:space-between;align-items:flex-start;margin-bottom:17px;display:flex}.detail-card header h2,.detail-card>h2{margin-top:4px}.detail-card header small{color:var(--muted)}.steps-list,.strength-list{gap:9px;display:grid}.step-view,.strength-view{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:11px;padding:12px;display:flex}.step-number,.strength-order{width:30px;height:30px;color:var(--plum);background:var(--selected);border-radius:10px;flex:0 0 30px;place-items:center;font-size:11px;font-weight:900;display:grid}.step-view>div,.strength-main{flex-direction:column;flex:1;min-width:0;display:flex}.step-view strong,.strength-main strong{font-size:13px}.step-view div span,.strength-main span{color:var(--muted);margin-top:2px;font-size:11px}.repeat-view{border:1px solid var(--line);background:var(--selected);border-radius:15px;padding:12px}.repeat-label{color:var(--plum);align-items:center;gap:7px;font-size:13px;display:flex}.repeat-children{border-left:2px solid var(--line);gap:7px;margin-top:10px;padding-left:10px;display:grid}.repeat-children .step-view{background:var(--surface)}.load-pill,.mapping-pill{color:var(--accent);background:var(--selected);border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-weight:850}.mapping-pill{color:var(--warning);background:var(--warning-soft)}.mapping-pill.unavailable{color:var(--muted);background:var(--surface-raised)}.detail-aside{align-content:start;gap:14px;display:grid}.detail-card>p{color:var(--muted);font-size:13px;line-height:1.65}.sync-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:12px;display:flex}.sync-row>span:first-child{color:var(--muted)}.sync-row code{text-overflow:ellipsis;max-width:160px;font-size:10px;overflow:hidden}.muted-copy{color:var(--muted)!important}.sync-error{background:var(--danger-soft);border-radius:11px;padding:10px;color:var(--danger)!important}@media (max-width:600px){.form-grid,.step-grid,.strength-grid{grid-template-columns:1fr}.wide-field,.exercise-field{grid-column:auto}.row-actions{grid-template-columns:1fr}.form-footer .secondary-button,.form-footer .primary-button{flex:1}.detail-metrics article{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.detail-metrics svg{width:17px}.detail-metrics strong{width:100%}.strength-view{flex-wrap:wrap}}@media (min-width:760px){.form-section{padding:24px}.detail-hero{grid-template-columns:auto minmax(0,1fr) auto;padding:25px}.detail-actions{grid-column:auto;align-items:center;display:flex}.icon-danger{position:static}.detail-metrics{gap:14px}.detail-metrics article{padding:17px}.detail-metrics strong{font-size:14px}}@media (min-width:920px){.detail-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr)}}.status-pending,.status-retry_pending{color:var(--warning);background:var(--warning-soft)}.status-remote_missing,.status-error{color:var(--danger);background:var(--danger-soft)}.status-badge{max-width:none}.athlete-page{max-width:1040px}.settings-tabs{gap:6px;margin-bottom:12px;padding:4px 0 16px;display:flex;overflow-x:auto}.settings-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:12px 17px;font-weight:700}.settings-tabs button[aria-current=page]{color:#fff;background:var(--plum);border-color:var(--plum)}.settings-form{margin:0 0 20px}.settings-form h2{margin-top:0}.settings-form fieldset{border:0;min-width:0;margin:0;padding:0}.settings-form fieldset:disabled{opacity:.65}.settings-form label{gap:7px;min-width:0;font-size:13px;display:grid}.settings-form input:not([type=checkbox]):not([type=radio]),.settings-form select{background:var(--surface);border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);border-radius:9px;padding:10px}.settings-grid{gap:16px;margin:16px 0 22px;display:grid}.settings-form .check-label{align-items:center;gap:10px;margin:12px 0;display:flex}.check-label input{width:18px;height:18px;accent-color:var(--plum)}.settings-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.settings-form details{margin:12px 0}.settings-form summary{cursor:pointer;color:var(--plum);margin-bottom:12px;font-size:13px}.settings-success{background:var(--success-soft);color:var(--success);border-radius:10px;padding:12px}.sport-setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:8px 0;display:flex}.sport-setting:last-of-type{margin-bottom:22px}.metric-grid{gap:12px;display:grid}.metric-grid article{background:var(--soft);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.metric-grid article>span,.metric-grid small{color:var(--muted);font-size:12px}.metric-grid article>strong{font-size:24px}.metric-grid button{margin-top:auto}.metric-editor{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.metric-history{padding:0;list-style:none}.metric-history li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 0;display:flex}.metric-history li div{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.metric-history small{color:var(--muted)}.availability-day{border-bottom:1px solid var(--line);gap:12px;padding:16px 0;display:grid}.availability-day:last-of-type{margin-bottom:24px}.availability-day>label:not(.check-label){max-width:320px}.availability-window{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.availability-window button{grid-column:span 2}.zone-edit-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:10px;padding:16px 0;display:grid}.zone-edit-row>strong,.zone-edit-row>label:first-of-type{grid-column:span 2}.zone-edit-row small{color:var(--muted)}@media (min-width:640px){.settings-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-window{grid-template-columns:1fr 1fr auto}.availability-window button{grid-column:auto}.zone-edit-row{grid-template-columns:35px 1.2fr 1fr 1fr 44px}.zone-edit-row>strong,.zone-edit-row>label:first-of-type{grid-column:auto}}@media (max-width:639px){.header-inner{flex-wrap:wrap}.header-inner nav{order:3;justify-content:center;width:100%}.header-inner .athlete-chip{margin-left:auto}}.calendar-page{--calendar-gap:10px}.athlete-summary{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:22px}.athlete-summary>summary{cursor:pointer;min-height:52px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:15px 18px;font-size:13px;display:flex}.athlete-summary>summary strong{color:var(--ink)}.athlete-summary-body{border-top:1px solid var(--line);padding:0 18px 18px}.athlete-overview{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;font-size:13px;display:grid}.athlete-overview h3{margin-bottom:8px;font-size:14px}.athlete-overview p{margin:6px 0;line-height:1.5}.calendar-controls{gap:18px;margin-bottom:20px;display:grid}.period-navigation{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.period-navigation h2{text-transform:capitalize;margin:0;font-size:clamp(17px,3vw,23px)}.calendar-options{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.calendar-options label{color:var(--muted);flex:135px;gap:5px;font-size:11px;display:grid}.calendar-options input,.calendar-options select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border-radius:10px;padding:9px}.view-switch{background:var(--selected);border-radius:12px;gap:3px;padding:4px;display:flex}.view-switch button{min-height:40px;color:var(--plum);background:0 0;border:none;border-radius:9px;padding:8px 14px;font-weight:700}.view-switch button[aria-pressed=true]{background:var(--plum);color:#fff}.calendar-feedback,.selection-toolbar{background:var(--success-soft);border:1px solid var(--success-line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:14px;font-size:13px;display:flex}.selection-toolbar{background:var(--selected);border-color:var(--line);z-index:15;box-shadow:var(--shadow);position:sticky;top:68px}.calendar-week{gap:var(--calendar-gap)}.calendar-week .day-column{min-width:0;padding:10px}.calendar-week .day-header{padding:7px 4px 12px}.calendar-week .day-header>strong{font-size:13px}.today>.day-header{color:var(--plum);border-bottom:2px solid var(--violet)}.day-add{border:1px dashed var(--line);width:100%;min-height:44px;color:var(--plum);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:5px;margin:10px 0;font-size:12px;display:flex}.calendar-workout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--sport-color,var(--run));border-radius:12px;min-width:0;padding:12px 10px 4px;box-shadow:0 3px 12px #24112f05}[data-sport=running]{--sport-color:var(--run)}[data-sport=cycling]{--sport-color:var(--bike)}[data-sport=strength]{--sport-color:var(--strength)}[data-sport=mobility]{--sport-color:var(--mobility)}.calendar-workout.selected{outline:2px solid var(--violet)}.calendar-workout header{justify-content:space-between;align-items:center;gap:4px;display:flex}.calendar-workout header input{width:22px;height:22px;accent-color:var(--plum);flex-shrink:0;margin:0}.card-sport{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;display:flex}.card-sport svg{color:var(--sport-color)}.card-title{overflow-wrap:anywhere;margin:10px 0;font-size:15px;font-weight:800;line-height:1.35;display:block}.card-title:hover{color:var(--plum)}.card-volumes{gap:6px;font-size:12px;display:grid}.card-volumes small{color:var(--muted);font-size:10px;display:block}.card-intensity{color:var(--muted);overflow-wrap:anywhere;margin:7px 0;font-size:12px}.calendar-workout>.execution-pill{margin:8px 0 5px;font-size:10px}.execution-pill.missed{color:var(--warning);background:var(--warning-soft)}.card-sync{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.card-sync>small{color:var(--muted);font-size:10px}.card-sync .status-badge{letter-spacing:0;padding:3px 5px;font-size:9px}.card-suggestion{color:var(--plum);padding:8px 0;font-size:11px;display:block}.card-actions{border-top:1px solid var(--line);margin-top:8px;font-size:11px}.card-actions summary{cursor:pointer;min-height:44px;color:var(--plum);padding:13px 0;font-weight:700}.card-actions>div{padding-bottom:8px;display:grid}.card-actions button{text-align:left;min-height:44px;color:var(--plum);background:0 0;border:0;border-radius:7px;padding:8px;font-size:12px}.card-actions button:hover{background:var(--selected)}.calendar-activity{border:1px solid var(--success-line);background:var(--success-soft);border-radius:10px;gap:5px;padding:12px;font-size:12px;display:grid}.calendar-activity small{color:var(--success);font-size:10px}.calendar-summary{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:26px;padding:20px}.calendar-summary>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.calendar-summary h2{margin:3px 0;font-size:21px}.calendar-summary header>span{color:var(--muted);font-size:12px}.volume-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.volume-card{border:1px solid var(--line);border-top:3px solid var(--sport-color);border-radius:10px;padding:14px}.volume-card h3{margin:0 0 12px;font-size:14px}.volume-card>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.volume-card section{align-content:start;gap:5px;font-size:12px;display:grid}.volume-card section small{color:var(--muted)}.execution-counts{flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12px;display:flex}.calendar-summary .muted-copy{margin-bottom:0;font-size:11px;line-height:1.5}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.month-weekday{text-align:center;color:var(--muted);padding:8px 0;font-size:12px}.month-day{border:1px solid var(--line);background:var(--surface);text-align:left;min-height:116px;color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:7px;padding:12px;display:flex}.month-day:hover{border-color:var(--violet)}.month-day>strong{font-size:16px}.month-day>span{font-size:12px}.month-day small{overflow-wrap:anywhere;font-size:10px;line-height:1.25}.month-day.today{border:2px solid var(--violet)}.month-day.outside-month{background:var(--surface-raised);color:var(--muted)}.month-sports{flex-wrap:wrap;gap:4px;display:flex}.sport-dot{background:var(--sport-color);border-radius:50%;width:8px;height:8px}.sync-warning{color:var(--danger)}.planning-dialog{border:1px solid var(--line);width:min(600px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:18px;margin:auto;padding:22px;box-shadow:0 20px 90px #21122a44}.planning-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#21122a70}.planning-dialog>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.planning-dialog h2{margin:0;font-size:23px}.planning-form fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.planning-form label{gap:7px;font-size:13px;display:grid}.planning-form input,.planning-form select,.planning-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:9px;padding:10px}.planning-form p,.planning-form small{margin:0;font-size:13px;line-height:1.55}.planning-form .planning-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.operation-preview{max-height:240px;margin:6px 0;padding:0;font-size:13px;list-style:none;overflow:auto}.operation-preview li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.operation-preview span{color:var(--muted);flex-shrink:0}.week-copy-preview{gap:14px;display:grid}.week-copy-preview h3{margin:0}.planning-form .confirm-existing{background:var(--warning-soft);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.confirm-existing input{flex:0 0 24px;width:24px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (max-width:759px){.calendar-page .dashboard-intro{flex-wrap:wrap}.calendar-week{grid-template-columns:1fr}.calendar-week .day-workouts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}.month-grid{gap:3px}.month-day{border-radius:7px;gap:5px;min-height:98px;padding:7px 4px}.month-day>span{font-size:9px}.month-day>strong{font-size:13px}.month-day small{font-size:8px}.calendar-summary{padding:16px}.planning-dialog{padding:18px}.selection-toolbar{top:68px}}@media (min-width:760px) and (max-width:1199px){.calendar-week{grid-template-columns:repeat(3,minmax(0,1fr))}}.goals-page{max-width:1120px}.goals-intro .goal-create-button{white-space:nowrap;flex-shrink:0}@media (max-width:640px){.goals-intro{flex-direction:column;align-items:stretch}.goals-intro .goal-create-button{flex:none;width:100%;min-height:48px;padding:12px 18px;font-size:1rem}}.goals-page>*+*,.goal-form section+section{margin-top:20px}.goal-form>fieldset,.goals-page form>fieldset{border:0;min-width:0;margin:0;padding:0}.goal-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:16px 0;display:grid}.goals-page label{gap:7px;min-width:0;font-size:.875rem;display:grid}.goals-page input:not([type=checkbox]),.goals-page select,.goals-page textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px}.goals-page textarea{min-height:85px}.goals-page .goal-check{align-items:center;gap:10px;min-height:44px;display:flex}.goals-page input[type=checkbox]{width:19px;height:19px;accent-color:var(--accent);flex:none}.goal-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.goal-list,.goal-sport-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin-top:16px;display:grid}.goal-sport{border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.goal-sport legend{font-weight:700}.goal-sport .goal-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.goal-sport label{font-size:.8rem}.goal-days{grid-template-columns:1fr 1fr;gap:4px;display:grid}.goal-days label{align-items:center;gap:8px;min-height:44px;display:flex}.discipline-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:16px 0;display:grid}.discipline-row .goal-actions{margin:0}.goal-review{border:2px solid var(--accent);background:var(--selected)}.goal-hero{border-top:4px solid var(--accent)}.goal-target{margin:12px 0;font-size:2rem;display:block}.goal-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px;margin:20px 0;display:grid}.goal-facts dt{color:var(--muted);font-size:.8rem}.goal-facts dd{margin:5px 0 0;font-weight:650}.goal-facts dd small{margin-top:5px;font-weight:400;display:block}.baseline-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:18px}.baseline-card h3{margin-top:0}.baseline-card .goal-facts{grid-template-columns:1fr 1fr}.exception-list article{border-bottom:1px solid var(--line);padding:16px 0}.goals-page details>summary{cursor:pointer;padding:12px 0;font-weight:600}.event-disciplines{padding-left:24px;line-height:2}.calendar-goal-event{background:var(--selected);border:1px solid var(--line);color:var(--accent);overflow-wrap:anywhere;border-radius:10px;gap:7px;padding:12px;display:grid}.calendar-goal-event small{font-size:.72rem}.month-goal-event{color:var(--accent);background:var(--selected);overflow-wrap:anywhere;border-radius:5px;padding:3px}@media (max-width:600px){.goals-page .detail-card{padding:18px}.goals-page .section-title-row{flex-wrap:wrap;gap:12px}.discipline-row{grid-template-columns:1fr 1fr}.discipline-row .goal-actions{grid-column:1/-1}.goals-page h1{overflow-wrap:anywhere;font-size:2rem}.header-inner nav{flex-wrap:wrap}.goal-actions>a,.goal-actions>button{min-height:44px}}.templates-intro{gap:1.5rem}.template-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.template-filters label,.builder-block label{gap:.4rem;min-width:0;display:grid}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.template-card{color:inherit;flex-direction:column;gap:.75rem;text-decoration:none;display:flex}.template-card h2,.template-card p{margin:0}.template-card>strong:last-child{color:var(--purple,var(--accent));margin-top:auto}.template-card .kicker{align-items:center;gap:.5rem;display:flex}.prescription-page{max-width:1100px}.prescription-page fieldset{border:0;min-width:0;padding:0}.prescription-page>*,.prescription-page fieldset>*{margin-bottom:1.25rem}.builder-block{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:16px;min-width:0;padding:1rem}.builder-blocks{gap:1rem;display:grid}.builder-block-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.block-tools{flex-wrap:wrap;gap:.35rem;display:flex}.block-tools button{min-height:44px;padding:.5rem .7rem}.block-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.builder-block input,.builder-block select,.prescription-page input,.prescription-page select,.prescription-page textarea{width:100%;min-width:0;max-width:100%;font-size:16px}.builder-block details{margin-top:1rem}.builder-block.block-repeat{background:var(--selected)}.block-warmup{border-left-color:#dc9b48}.block-recovery,.block-cooldown{border-left-color:#56a190}.block-drill{border-left-color:#379fb4}.structured-tree{gap:.6rem;padding:0;list-style:none;display:grid}.structured-tree .structured-tree{margin:.75rem 0 0 .75rem}.structured-view{border-left:3px solid var(--accent);background:var(--surface);overflow-wrap:anywhere;gap:.4rem;padding:.6rem 1rem;display:grid}.structured-view small{color:var(--muted)}.prescription-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.prescription-totals div{gap:.5rem;display:grid}.sport-swimming{--sport-color:var(--swim)}@media (max-width:800px){.template-grid,.template-filters,.prescription-totals,.block-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.templates-intro{flex-direction:column;align-items:stretch}.templates-intro .primary-button{width:100%;min-height:48px;font-size:16px}.template-grid,.template-filters,.block-fields{grid-template-columns:minmax(0,1fr)}.builder-block{padding:.75rem}.builder-block .builder-block{padding:.6rem}.block-tools{width:100%}.drag-handle{display:none}.prescription-page .primary-button{white-space:normal;min-height:48px}.app-header nav{flex-wrap:wrap}}.prescription-page textarea{border:1px solid var(--line);border-radius:12px;min-height:90px;padding:.8rem;font-family:inherit}[data-sport=swimming]{--sport-color:var(--swim)}.strength-fieldset{border:0;gap:1rem;min-width:0;padding:0;display:grid}.strength-builder .detail-card{min-width:0}.strength-builder input,.strength-builder select,.strength-builder textarea,.exercise-picker input,.exercise-picker select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.strength-builder input[type=checkbox],.exercise-picker input[type=checkbox]{width:auto}.strength-builder label,.exercise-picker label{gap:.4rem;margin:.5rem 0;display:grid}.strength-group-header,.exercise-results li{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.strength-group-header h2{flex:200px}.strength-exercise{border-top:1px solid var(--border,var(--line));margin-top:1rem;padding-top:1rem}.strength-set{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:.7rem 0;padding:.85rem}.strength-set summary{cursor:pointer;padding:.4rem 0;font-weight:650}.strength-preview li{overflow-wrap:anywhere;margin:.6rem 0}.strength-preview h4{margin:1rem 0 .5rem}.exercise-results{max-height:440px;padding:0;list-style:none;overflow:auto}.exercise-results li{border-bottom:1px solid var(--line);justify-content:space-between;padding:.8rem 0}.exercise-results li div{flex:180px}.exercise-results small{color:var(--muted);margin-top:.25rem;display:block}.muscle-options{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.4rem;display:grid}.custom-exercise{padding-top:1rem}.custom-exercise fieldset{border:1px solid var(--line);border-radius:12px}.strength-builder button{cursor:pointer;min-height:42px}.strength-builder .settings-actions{flex-wrap:wrap}@media (max-width:600px){.strength-builder .settings-grid,.exercise-picker .settings-grid{grid-template-columns:1fr}.strength-builder .detail-card{padding:1rem}.strength-group-header h2{flex-basis:100%}.strength-preview ol{padding-left:1.2rem}.strength-builder h1{font-size:2rem}.strength-builder .primary-button{white-space:normal;width:100%}.strength-builder .settings-actions button{white-space:normal}}.plans-page{max-width:1440px}.plan-form{gap:20px;display:grid}.plan-sport-picks{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.plan-sport-picks label,.plan-checkbox{align-items:center;gap:10px;min-height:44px;display:flex}.plan-sport-picks label{background:var(--selected);border-radius:14px;padding:10px 18px;font-weight:700}.plan-sport-picks input,.plan-checkbox input{width:20px;height:20px;accent-color:var(--accent)}.plan-discipline{border:1px solid var(--line);border-radius:14px;min-width:0;margin:16px 0;padding:16px}.plan-discipline legend{padding:0 8px;font-weight:750}.plan-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0;display:grid}.plan-summary-grid>div{background:var(--selected);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.plan-summary-grid span,.plan-summary-grid small{color:var(--muted)}.plan-phases{flex-wrap:wrap;gap:10px;display:flex}.plan-phase{border:1px solid var(--line);border-radius:12px;flex:130px;gap:6px;padding:15px;display:grid}.plan-phase.selected{background:var(--selected);border-color:var(--accent)}.plan-phase span{font-size:.85rem}.plan-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.plan-day{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:10px}.plan-day h3{text-transform:capitalize;margin:5px 0 14px;font-size:.86rem}.plan-intent{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);overflow-wrap:anywhere;border-radius:12px;margin-bottom:12px;padding:12px}.plan-sport-RUNNING{border-left-color:var(--run)}.plan-sport-CYCLING{border-left-color:var(--bike)}.plan-sport-SWIMMING{border-left-color:var(--swim)}.plan-sport-MOBILITY{border-left-color:var(--mobility)}.plan-intent h4{margin:8px 0;font-size:1rem}.plan-intent p{font-size:.9rem}.plan-key{background:var(--selected);color:var(--accent);border-radius:7px;padding:5px 8px;font-size:.72rem;font-weight:750;display:inline-block}.plan-intent summary{cursor:pointer;padding:10px 0;font-size:.85rem}.plan-intent ul{padding-left:17px;font-size:.85rem}.plan-move{gap:10px;display:grid}.plan-move label{gap:5px;font-size:.8rem;display:grid}.plan-move input,.plan-move select{box-sizing:border-box;width:100%;min-width:0;min-height:44px}.plan-move button{white-space:normal;min-height:44px}.plan-empty-day{color:var(--muted);font-size:.85rem}.plan-conflict{color:var(--warning)}.plan-warnings{border:1px solid var(--warning-line);background:var(--warning-soft);border-radius:14px;margin:16px 0;padding:16px}.plan-warnings summary{cursor:pointer;font-weight:700}.plan-warnings ul{max-height:320px;overflow:auto}.plan-warnings li{margin:8px 0}.plan-day-list{max-height:260px;overflow:auto}@media (max-width:1100px){.plan-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.plan-week-grid{grid-template-columns:1fr}.plan-day{padding:14px}.plan-summary-grid,.plan-discipline .goal-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-page .goal-actions{align-items:stretch}.plans-page .goal-actions>button{width:100%;min-height:46px}.plan-phases{gap:8px}.plan-phase{flex-basis:100px}.plans-page input,.plans-page select{box-sizing:border-box;min-width:0;max-width:100%;font-size:16px}.plan-discipline{padding:10px}.plans-page .section-title-row{flex-wrap:wrap}}.plan-form-body{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.running-setup{max-width:960px}.setup-progress{color:var(--muted,var(--muted));font-weight:600}.setup-step h2{margin-top:0}.setup-step>label,.setup-fields label{flex-direction:column;gap:.45rem;max-width:28rem;display:flex}.setup-step input:not([type=radio]):not([type=checkbox]),.setup-step select{font:inherit;border:1px solid var(--line);box-sizing:border-box;border-radius:.6rem;width:100%;min-height:44px;padding:.65rem}.setup-options{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.setup-options label{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:.7rem;align-items:center;gap:.5rem;min-height:48px;padding:.65rem 1rem;display:flex}.setup-options label.selected{background:var(--selected);border-color:var(--accent)}.setup-options input{accent-color:var(--accent)}.setup-levels{flex-direction:column}.setup-levels small{color:var(--muted);margin-top:.35rem;display:block}.setup-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0;display:grid}.setup-summary{background:var(--selected);border-radius:.7rem;margin:1rem 0;padding:1rem}.running-setup .goal-actions{margin-top:1.5rem}@media (max-width:600px){.setup-fields{grid-template-columns:1fr}.setup-options label{flex:120px}.setup-levels label{flex:auto}.setup-step{padding:1rem}}.setup-stimuli{border:0;min-width:0;margin:0 0 1rem;padding:0}.setup-stimuli legend{margin-bottom:.75rem;font-weight:700}
body{background:var(--soft) url(/forge-mountains.png) center top / cover no-repeat fixed;font-size:var(--font-body)}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1{letter-spacing:-.04em;font-size:clamp(30px,3.2vw,46px)}button,input,select,textarea{color:var(--ink)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-control);min-height:var(--control-height);max-width:100%;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input[type=checkbox],input[type=radio]{accent-color:var(--action);flex-shrink:0;width:18px;height:18px}:is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed}.primary-button{color:#fff;background:linear-gradient(115deg,#0786fa,#0855e7);border:1px solid #348fff;box-shadow:0 4px 18px #007bff26}.primary-button:hover{background:var(--action-hover)}.secondary-button{border:1px solid var(--line);background:var(--surface-raised);color:var(--accent)}.secondary-button:hover,.icon-button:hover{background:var(--selected);border-color:var(--accent)}.primary-button,.secondary-button,.danger-button{min-height:var(--control-height);border-radius:var(--radius-control);font-size:var(--font-small);padding:10px 16px}.icon-button{min-width:44px;min-height:44px}.app-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#071321f5}.header-inner{gap:20px;min-height:76px}.brand{flex-shrink:0}.brand-mark{box-shadow:none;background:0 0;border-radius:0;width:64px}.brand-mark img{object-fit:contain;width:64px;height:auto}.header-inner .nav-link{border-bottom:2px solid #0000;border-radius:0;min-height:46px;padding:12px 10px}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent);background:linear-gradient(#0000,#0f3655)}.athlete-chip>span{background:var(--selected);border:1px solid #357bb3}.page-shell{isolation:isolate;position:relative}.dashboard-intro{align-items:center;min-height:118px;margin:0 0 24px}.dashboard-intro h1{line-height:1.12}.dashboard-intro p{line-height:1.65}.kicker{color:var(--accent)}.detail-card,.form-section{border-radius:var(--radius);min-width:0}.plan-form-body>*,.comparison-scroll{min-width:0;max-width:100%}.detail-card>p{color:var(--muted)}.activities-page{max-width:1440px}.import-panel{background:linear-gradient(110deg,var(--surface),#09233c);border-color:#24558b}.import-panel h2{align-items:center;gap:12px;display:flex}.import-panel .import-form{margin-top:22px}.import-panel label{flex:180px;max-width:300px}.activity-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.activity-totals article{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;padding:20px;display:grid}.activity-totals strong{font-size:28px}.activity-totals span,.activity-totals small{color:var(--muted)}.activity-filters{flex-wrap:wrap;gap:12px;padding:16px 0;display:flex}.activity-filters label{font-size:var(--font-small);flex:180px;gap:6px;min-width:0;display:grid}.activity-list-item{border-left:3px solid var(--sport-color);border-radius:12px;flex-wrap:nowrap;padding:18px}.activity-list-item>svg{color:var(--sport-color);width:24px;height:24px}.activity-list-item>div{flex:1}.activity-list-item.selected{border-color:var(--accent);background:var(--selected)}.activity-list-item h3{margin:0;font-size:15px}.activity-list-item .activity-values{flex:0 230px;gap:24px;display:flex}.activity-values span{gap:5px;font-size:14px;display:grid}.activity-values small{color:var(--muted);font-size:11px}.activity-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-actions>a{color:var(--accent);font-size:13px}.actual-metrics{border:1px solid var(--line);border-radius:10px;gap:0;overflow:hidden}.actual-metrics div{border-bottom:1px solid var(--line);background:var(--soft);padding:18px 14px}.actual-metrics strong{font-size:21px}.activity-detail>section{margin-bottom:20px}.activity-detail .dashboard-intro{min-height:auto;margin:20px 0}.activity-detail h1{font-size:clamp(24px,3vw,34px)}.activity-drawer{overscroll-behavior:contain;background:linear-gradient(140deg,#07151e,#020a10);border-radius:12px 0 0 12px;width:min(430px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:22px}.activity-drawer .actual-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-drawer .detail-card{padding:16px}.activity-drawer .import-form label{min-width:0}.activity-drawer>header{z-index:1;padding:0;position:absolute;top:8px;right:16px}.activity-drawer>header h2{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.planning-dialog{background:var(--surface)}.planning-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000a}.plan-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:18px;display:grid}.plan-list-card{background:linear-gradient(135deg,var(--surface-raised),var(--surface));flex-direction:column;gap:14px;min-width:0;padding:22px;display:flex}.plan-list-card h2{font-size:21px}.plan-list-card p{align-items:center;gap:8px;margin:0;display:flex}.plan-list-card .secondary-button{align-self:flex-start;margin-top:auto}.plan-tags{flex-wrap:wrap;gap:8px;display:flex}.plan-tags span{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:5px 9px;font-size:11px}.plan-modalities{gap:8px;margin-bottom:8px;display:grid}.plan-modalities span{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.plan-modalities svg{color:var(--sport-color)}.plan-create-page>h1{margin:8px 0 28px}.plan-create-page>.back-link{margin-right:16px}.running-setup{max-width:1100px;margin-bottom:20px}.plan-ready-wizard .setup-step>label{gap:8px;max-width:560px;margin:18px 0;display:grid}.plan-ready-wizard .setup-step>label small{color:var(--muted)}.plan-ready-wizard .goal-actions{flex-wrap:wrap;margin:24px 0}.plan-ready-wizard details{margin-top:24px}.setup-step{background:#071726f5;border-color:#2c5d8d;padding:clamp(18px,3vw,32px)}.setup-step h2{margin-bottom:18px;font-size:clamp(21px,2vw,26px)}.setup-step>p{line-height:1.7}.setup-options{gap:12px;margin:20px 0}.setup-options label{background:var(--surface);border-radius:10px;flex:125px;min-height:60px}.setup-options label.selected{border-color:var(--accent);background:var(--selected);box-shadow:inset 0 0 0 1px var(--accent)}.setup-levels label{flex:auto;padding:16px 20px}.setup-options input{accent-color:var(--action)}.setup-levels small{line-height:1.6}.setup-fields{gap:20px}.setup-summary{background:var(--selected);border:1px solid #2c5d8d;padding:24px;line-height:1.7}.setup-summary>strong{color:var(--accent)}.setup-step>.plan-checkbox{flex-direction:row;align-items:center;max-width:none;min-height:48px}.setup-stepper{grid-template-columns:repeat(6,minmax(0,1fr));margin:20px 0 30px;padding:0;list-style:none;display:grid}.setup-stepper li{text-align:center;color:var(--muted);justify-items:center;gap:10px;font-size:12px;display:grid;position:relative}.setup-stepper li:before{content:"";background:var(--line);z-index:-1;width:100%;height:1px;position:absolute;top:18px}.setup-stepper span{background:var(--soft);border:1px solid var(--line);border-radius:50%;place-items:center;width:38px;height:38px;font-size:16px;display:grid}.setup-stepper [aria-current=step]{color:var(--ink);font-weight:700}.setup-stepper [aria-current=step] span{border:2px solid var(--accent);background:var(--action);box-shadow:0 0 18px #0876f960}.setup-stepper .complete span{color:var(--accent);border-color:var(--accent)}.setup-progress{font-size:var(--font-small)}.day-column{background:var(--surface);box-shadow:none}.day-header{background:0 0}.calendar-workout{background:var(--surface-raised)}.calendar-workout .card-sport,.calendar-workout .card-sync>small{font-size:11px}.card-sync .status-badge{font-size:10px}.calendar-week .day-workouts{padding:0}.calendar-summary{background:linear-gradient(120deg,var(--surface-raised),var(--surface))}.month-mobile-date{display:none}.volume-card{border-top:2px solid var(--sport-color)}.plan-sport-RUNNING{border-left-color:var(--run)}.plan-sport-CYCLING{border-left-color:var(--bike)}.plan-sport-SWIMMING{border-left-color:var(--swim)}.plan-sport-STRENGTH{border-left-color:var(--strength)}.view-switch button[aria-pressed=true],.settings-tabs button[aria-current=page]{background:var(--action)}.form-footer{background:var(--surface)}.app-footer{border-top:1px solid var(--line);width:min(1392px,100% - 32px);color:var(--muted);justify-content:space-between;gap:16px;margin:0 auto;padding:24px 0;font-size:12px;display:flex}.app-footer small{margin-left:10px}.app-footer>span:last-child{letter-spacing:.15em;text-transform:uppercase;font-size:10px}@media (max-width:1100px){.header-inner{flex-wrap:wrap;gap:8px 16px;padding-top:12px}.header-inner nav{order:3;justify-content:center;width:100%}.athlete-chip{margin-left:auto}.activity-list-item .activity-values{display:none}}@media (max-width:759px){.app-header{position:relative}.header-inner nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.header-inner .nav-link{justify-content:center;padding:10px 6px;font-size:12px}.header-inner .nav-link svg{width:16px;display:block}.header-inner .athlete-chip{display:flex}.header-inner .athlete-chip div{display:none}.brand strong{font-size:15px}.brand-mark,.brand-mark img{width:48px}.page-shell{padding-top:24px}.dashboard-intro{flex-wrap:wrap;min-height:100px}.dashboard-intro .primary-button{width:auto;font-size:var(--font-small);flex:0 auto;padding:12px 16px}.activity-totals{gap:8px}.activity-totals article{padding:14px 10px}.activity-totals strong{font-size:22px}.activity-totals span{font-size:12px}.activity-totals small{font-size:10px}.activity-list-item{flex-wrap:wrap;gap:12px}.activity-list-item>div{flex-basis:calc(100% - 40px)}.activity-actions{width:100%}.activity-actions button{flex:1}.activity-drawer{border-radius:0;padding:16px}.activity-drawer>header{top:8px}.calendar-week .day-workouts{grid-template-columns:minmax(0,1fr)}.selection-toolbar{top:0}.calendar-summary>header{flex-wrap:wrap;gap:12px}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.month-weekday{display:none}.month-day{min-height:116px;padding:12px}.month-day>span,.month-day small{font-size:12px}.month-mobile-date{color:var(--muted);font-size:12px;display:inline}.setup-stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px}.setup-stepper li{gap:6px}.setup-stepper span{width:32px;height:32px}.setup-stepper li:before{top:16px}.setup-options label{min-width:0}.setup-summary{padding:16px}.setup-step label{font-size:14px}.form-footer{flex-wrap:wrap;position:static}.app-footer{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.running-creation .setup-stepper{grid-template-columns:repeat(7,minmax(0,1fr))}.running-creation .table-scroll{max-width:100%;overflow-x:auto}.running-creation .table-scroll table{border-collapse:collapse;width:100%}.running-creation .table-scroll th,.running-creation .table-scroll td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:10px}@media (max-width:700px){.running-creation .setup-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){body{background-image:none}body:has(.app-header){background-image:url(/forge-mountains.png)}}
