:root{--bg:#f7f8f5;--paper:#fff;--ink:#233b32;--muted:#8a948d;--green:#35654e;--border:#e7ebe4;--orange:#cd8156;--soft:#eef3ed}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;transition:background .18s,transform .18s;display:inline-flex}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b6c9ae}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit;text-decoration:none}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.1px;margin-bottom:10px;font-size:32px;font-weight:600}h2{letter-spacing:-.35px;margin-bottom:8px;font-size:17px;font-weight:600}h3{letter-spacing:-.4px;margin-bottom:9px;font-size:19px;font-weight:600}p{line-height:1.7}small{font-size:12px}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);z-index:10;background:#fbfcf9;flex-direction:column;width:236px;padding:35px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:1px;align-items:center;gap:11px;margin-bottom:55px;font-size:20px;font-weight:700;display:flex}.brand-icon{background:var(--green);color:#fff;border-radius:11px;flex-shrink:0;place-items:center;width:39px;height:39px;display:grid}.brand-light{letter-spacing:.6px;font-weight:350}.brand small{letter-spacing:1.8px;color:#8a968a;margin-top:6px;font-size:7.7px;font-weight:500;display:block}.workspace-label{color:#9ca399;letter-spacing:1.7px;margin-bottom:17px;padding-left:14px;font-size:9px;font-weight:600}nav{gap:7px;display:grid}.nav-item{color:#7b867d;text-align:left;border-radius:7px;justify-content:flex-start;gap:12px;height:44px;padding:0 13px;font-size:12px}.nav-item.active{color:#356148;background:#eaf0e7;font-weight:600}.nav-item.active:before{content:"";background:#5c7d4a;border-radius:2px;width:3px;height:17px;position:absolute;left:20px}.nav-dot{background:#ce9c73;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{border-top:1px solid var(--border);color:#6c806e;margin:auto 8px 27px;padding-top:25px}.sidebar-note>svg{color:#6f876b;margin-bottom:16px}.sidebar-note strong{font-size:12px;line-height:1.5;display:block}.sidebar-note p{color:#9aa196;margin:8px 0 17px;font-size:11px}.sidebar-note>span{letter-spacing:1px;color:#788672;font-size:8px}.local-status{border-top:1px solid var(--border);color:#879081;align-items:center;gap:7px;padding:16px 7px;font-size:10px;display:flex}.local-status>span:last-child{background:#edf0e8;border-radius:4px;margin-left:auto;padding:3px 5px;font-size:9px}.status-dot{background:#66916a;border-radius:50%;width:5px;height:5px;display:inline-block}.user{border-top:1px solid var(--border);text-align:left;justify-content:flex-start;gap:11px;width:100%;padding:17px 4px}.avatar{color:#7c7259;background:#e9dfcb;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:600;display:inline-flex}.user strong{font-size:12px;display:block}.user small{color:#959b8f;margin-top:4px;font-size:9px;display:block}.user>svg{color:#969d92;margin-left:auto}.main-shell{flex:1;min-width:0;margin-left:236px}.topbar{border-bottom:1px solid var(--border);color:#8f978e;background:#fcfcfa;justify-content:space-between;align-items:center;height:73px;padding:0 40px;font-size:11px;display:flex}.topbar>div:first-child{gap:16px;display:flex}.topbar strong{color:#546454;font-weight:500}.topbar-right{align-items:center;gap:20px;display:flex}.small{width:29px;height:29px}.local-pill{color:#6f846a;align-items:center;gap:7px;font-size:10px;display:flex}main{max-width:1600px;margin:0 auto;padding:24px 40px 0}.demo-banner{color:#8b8d72;background:#f1f1e8;border:1px solid #e8e9df;border-radius:7px;align-items:center;gap:8px;margin-bottom:26px;padding:10px 13px;font-size:10px;display:flex}.demo-banner button{color:#717d5e;margin-left:auto;padding:0;font-size:10px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:27px 0;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:#899382;margin-bottom:10px;font-size:9px;font-weight:600}.page-heading p{color:#8a9488;margin-bottom:0;font-size:12px}.primary{background:var(--green);color:#fff;white-space:nowrap;border-radius:7px;padding:12px 17px;font-size:11px;font-weight:550;box-shadow:0 2px 3px #233b3210}.secondary{background:#fff;border:1px solid #dfe5db;border-radius:6px;padding:11px 14px;font-size:11px;font-weight:500}.text-button{color:#628066;align-items:center;gap:8px;font-size:11px;display:inline-flex}.full{width:100%}.hero{color:#edf4e9;background:#244c3c;border-radius:11px;justify-content:space-between;min-height:242px;margin-bottom:23px;padding:30px 33px;display:flex;position:relative;overflow:hidden}.phase-pill{letter-spacing:1.4px;color:#c8d4ba;align-items:center;gap:8px;font-size:8px;display:flex}.phase-pill>span{background:#b7c491;border-radius:50%;width:5px;height:5px}.hero h2{letter-spacing:-.7px;margin:17px 0 12px;font-size:30px;font-weight:480;line-height:1.2}.hero p{color:#aabeb0;margin-bottom:17px;font-size:11px;line-height:1.8}.hero p strong{color:#dfe8d6;font-weight:500}.hero button{color:#dfdac1;gap:20px;padding:0;font-size:10px}.hero-graphic{color:#779482;width:42%;height:100%;position:absolute;top:0;right:15px}.hero-graphic svg{opacity:.6;width:100%;height:100%}.hero-coordinate{letter-spacing:1.8px;color:#aebfa4;font-size:7px;position:absolute;bottom:23px;right:30px}.stats{grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px;display:grid}.card{background:var(--paper);border:1px solid var(--border);border-radius:10px;margin-bottom:22px;padding:24px;box-shadow:0 2px 4px #26382802}.stats .card{margin-bottom:0;padding:20px}.stat-label{color:#7e897d;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.stat-label svg{color:#99a592}.stat-label svg.orange{color:#ce9376}.stat-label svg.green{color:#7b9980}.stat-value{letter-spacing:-1px;white-space:nowrap;margin:14px 0 9px;font-size:32px;font-weight:560}.stat-value>span{color:#99a292;letter-spacing:0;margin-left:7px;font-size:12px;font-weight:400}.stat small{color:#9ba391;font-size:9px}.stat small.green-text{color:#7c9874}.dashboard-grid{grid-template-columns:1.65fr 1fr;gap:22px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px;display:flex}.section-heading h2{margin:0}.section-heading p{color:#9ba291;margin:7px 0 0;font-size:10px}.badge{color:#82927a;white-space:nowrap;background:#f3f5f0;border:1px solid #e9ede5;border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:inline-flex}.badge.green{color:#649266;background:#edf4ec;border-color:#e2ecdf}.chart-summary{align-items:center;gap:27px;display:flex}.chart-summary>strong{letter-spacing:-1px;font-size:27px;font-weight:550}.chart-summary small{letter-spacing:0;color:#a0a894;font-size:11px;font-weight:400}.chart-summary>span{color:#a2a895;border-left:1px solid #e5e8e0;flex-direction:column;gap:4px;padding-left:20px;font-size:9px;display:flex}.chart-summary b{color:#7b8974;font-size:12px;font-weight:500}.pace-chart{width:100%;min-height:160px;margin-top:20px;display:block}.chart-footer{color:#91a08c;border-top:1px solid #f0f2ec;justify-content:space-between;margin-top:7px;padding-top:14px;font-size:9px;display:flex}.chart-footer>span{align-items:center;gap:7px;display:flex}.chart-footer i{background:#648d71;border-radius:50%;width:6px;height:6px}.next-card .section-heading{margin-bottom:20px}.sport-icon{color:#829576;background:#f1f4eb;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.next-card h3{margin-top:5px}.next-card .eyebrow{color:#bf9776;letter-spacing:1px;margin-bottom:7px;font-size:8px}.workout-summary{color:#95a18a;flex-wrap:wrap;gap:18px;margin:11px 0 18px;font-size:10px;display:flex}.workout-summary>span{align-items:center;gap:6px;display:flex}.steps{margin:20px 0}.step{align-items:center;gap:10px;padding:10px 0;display:flex;position:relative}.step:not(:last-child):after{content:"";border-left:1px solid #e7ebdf;height:21px;position:absolute;top:29px;left:3px}.step-marker{z-index:1;background:#d3dbc8;border-radius:50%;width:7px;height:7px}.step.work .step-marker{background:#6e8f5d}.step strong{font-size:10px;font-weight:500;display:block}.step small{color:#9ba78e;margin-top:4px;font-size:9px;display:block}.step b{color:#6e8064;margin-left:auto;font-size:12px;font-weight:500}.weekly-card{padding:24px 24px 17px}.week-strip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day-tile{text-align:center;border-radius:8px;flex-direction:column;gap:0;padding:12px 5px 10px;display:flex}.day-tile.today{background:#f4f5eb;border:1px solid #e4e6d4}.day-tile>div:first-child{color:#9da691;align-items:center;gap:7px;font-size:9px;display:flex}.day-tile b{color:#6e7b64;font-size:11px;font-weight:500}.mini-icon{color:#9ba986;background:#f8faf5;border:1px solid #e3e9dc;border-radius:50%;place-items:center;width:29px;height:29px;margin:15px 0 10px;display:grid}.mini-icon.done{color:#77996c;background:#e8f1e5;border:0}.day-tile strong{color:#7a886b;font-size:9px;font-weight:500}.day-tile small{color:#a4ac96;margin-top:7px;font-size:8px}.rest-mark{color:#c6ccb9;align-items:center;height:54px;display:flex}.race-card{background:#f1f3e9;border:1px solid #e5e7db;border-radius:9px;align-items:center;gap:18px;margin-bottom:25px;padding:21px 24px;display:flex}.race-icon{color:#8a9874;background:#e5e9d8;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.race-card .eyebrow{letter-spacing:1.3px;color:#95a080;margin-bottom:6px;font-size:8px}.race-card h3{margin-bottom:5px;font-size:14px}.race-card p{color:#a0a58b;margin:0;font-size:10px}.race-count{letter-spacing:-1px;color:#7d8c64;margin-left:auto;font-size:23px;font-weight:500}.race-card button{color:#8a9972;background:0 0;border-color:#d9dfca;margin-left:auto}.race-count+button{margin-left:10px}footer{color:#a6ad9a;letter-spacing:.3px;border-top:1px solid #e5e9de;justify-content:space-between;padding:22px 0 25px;font-size:8px;display:flex}footer b{font-size:7px;font-weight:400}.alert{border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;font-size:12px;display:flex}.alert.error{color:#a05642;background:#f8eae5}.alert.success{color:#5a7c50;background:#eaf2e8}.muted{color:#8b9882;font-size:12px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.week-nav{align-items:center;gap:14px;display:flex}.week-nav h2{margin:0;font-size:16px}.week-nav>button:not(.secondary){border:1px solid var(--border);background:#fff;border-radius:5px;padding:7px}.plan-note{color:#7b8c6c;background:#edf2e9;border:1px solid #e2e9da;border-radius:7px;align-items:center;gap:12px;margin:17px 0 23px;padding:15px;font-size:11px;line-height:1.6;display:flex}.calendar-grid{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-rows:auto auto auto auto;grid-template-columns:repeat(7,minmax(0,1fr));min-height:365px;display:grid;overflow:hidden}.calendar-day{grid-template-rows:subgrid;border-right:1px solid var(--border);padding:18px 10px;display:grid}.calendar-slot{border-top:1px solid var(--border);min-height:94px;padding:8px 0 12px}.calendar-slot+.calendar-slot{border-top-style:dashed}.calendar-slot-title{color:#859278;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.calendar-slot:has(.calendar-workout){min-height:0}.calendar-slot .calendar-workout{margin-top:9px}.calendar-slot:has(.calendar-workout:hover){background:#f8faf4}.calendar-workout[draggable=true]{cursor:grab}.generation-preview{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:14px;font-size:12px;line-height:1.8}.generation-preview p{color:#728266;margin:4px 0 8px}.calendar-day:last-child{border-right:0}.calendar-date{color:#9aa58e;text-align:center;font-size:11px}.calendar-date b{color:#6c7d5d;margin:10px;font-size:23px;font-weight:400;display:block}.calendar-day.current{background:#f7f8f0}.calendar-day.current .calendar-date b{color:#bf815d}.calendar-workout{text-align:left;color:#779468;background:#ecf2e7;border-left:3px solid #8ba578;border-radius:7px;flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-top:17px;padding:14px 10px}.calendar-workout strong{font-size:11px;line-height:1.5}.calendar-workout>span{font-size:12px}.calendar-workout small{font-size:10px}.calendar-workout.long{color:#b1845e;background:#f9eee4;border-color:#c59770}.calendar-workout.recovery{color:#929e84;background:#f0f2ed;border-color:#b4bda6}.calendar-workout.test{color:#8e82ad;background:#eeeafa;border-color:#a398c6}.calendar-status{border-top:1px solid #fff9;align-items:center;gap:5px;width:100%;padding-top:10px;display:flex;font-size:9px!important}.calendar-rest{color:#c5ccb8;flex-direction:column;align-items:center;gap:15px;margin-top:58px;display:flex}.calendar-rest span{font-size:11px}.calendar-legend{color:#8e9b7f;align-items:center;gap:20px;margin:22px 0 35px;font-size:10px;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.calendar-legend i{border-radius:50%;width:6px;height:6px}.green-dot{background:#8ba578}.orange-dot{background:#c59770}.gray-dot{background:#b4bda6}.calendar-legend button{margin-left:auto}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{color:#9aa48f;border-bottom:1px solid var(--border);white-space:nowrap;padding:17px 12px;font-size:9px;font-weight:500}td{white-space:nowrap;color:#6f7d60;border-bottom:1px solid #eff1eb;padding:18px 12px}td:first-child{min-width:170px}td strong{font-weight:500}td small{color:#a1aa94;white-space:normal;max-width:220px;margin-top:7px;font-size:9px;line-height:1.4;display:block}.zone-totals{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.zone-totals span{color:#9ca78d;font-size:10px;display:block}.zone-totals strong{margin-top:12px;font-size:26px;font-weight:450;display:block}.profile-grid{grid-template-columns:1.6fr 1fr;gap:24px;display:grid}label{color:#80916e;flex-direction:column;gap:8px;margin:18px 0;font-size:11px;display:flex}input,select,textarea{color:#586d47;background:#fcfdf9;border:1px solid #dde4d5;border-radius:6px;outline:none;width:100%;min-width:0;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#8ca77b;box-shadow:0 0 0 3px #d9e6d350}textarea{resize:vertical;min-height:75px;line-height:1.6}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.availability{grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:20px;display:grid}.availability label{text-align:center;margin:8px 0}.availability input{text-align:center;padding:10px 4px}.maf-comparison{background:#f3f5ec;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:5px 20px;display:flex}.maf-comparison>div{flex-direction:column;gap:10px;display:flex}.maf-comparison span{color:#8d9b7b;font-size:11px}.maf-comparison strong{font-size:25px;font-weight:500}.maf-comparison small{color:#9ba68a;font-size:10px;font-weight:400}.maf-comparison>label{max-width:160px}.profile-grid h3{margin:30px 0 5px;font-size:15px}.history-item{border-bottom:1px solid #edf0e7;padding:15px 0}.history-item small{color:#a2ab95;font-size:10px}.history-item strong{margin:10px 0;font-size:12px;font-weight:500;display:block}.history-item p{color:#9aa68a;margin:0;font-size:11px}.history-item:last-of-type{margin-bottom:20px}.fine-print{color:#9aa589;margin-top:15px;font-size:10px;line-height:1.8}.coros-layout{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}.coros-card{padding:35px}.coros-wordmark{letter-spacing:1px;align-items:center;gap:14px;margin-bottom:30px;font-size:25px;font-style:italic;font-weight:800;display:flex}.coros-wordmark span{color:#bcc6b0;font-size:19px;font-weight:300}.coros-card h2{margin:25px 0 17px;font-size:29px;font-weight:500}.coros-card>p{color:#95a184;font-size:12px}.connection-steps{margin:30px 0}.connection-steps>div{color:#95aa83;align-items:center;gap:15px;margin:23px 0;display:flex}.connection-steps strong{color:#698157;font-size:12px;font-weight:500}.connection-steps small{color:#a3ad95;margin-top:7px;font-size:10px;display:block}.integration-flow>div{color:#7e936c;border-bottom:1px solid #edf0e6;align-items:center;gap:16px;padding:25px 0;font-size:12px;display:flex}.integration-flow span{color:#a5b491;background:#f0f4e9;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.empty,.chart-empty{text-align:center;color:#9da98e;padding:45px 20px;font-size:12px}.empty>svg{color:#b6c4a8}.empty p{margin:16px 0}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#20352760;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:13px;width:540px;max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 20px 80px #162a2940}.modal h2{margin:8px 0 15px;font-size:24px}.modal p{color:#95a288;font-size:12px}.modal .close-button{color:#9ea98f;position:absolute;top:17px;right:17px}.modal-icon{color:#85a073;background:#eff4e8;border-radius:12px;place-items:center;width:45px;height:45px;margin-bottom:25px;display:grid}.modal .step{padding:15px 0}.modal .step strong{font-size:12px}.modal .step small{font-size:11px}.modal .step:not(:last-child):after{height:35px}.modal .step b{font-size:15px}.lap-inputs{grid-template-columns:45px 1fr 1fr;align-items:center;gap:15px;display:grid}.lap-inputs strong{color:#97a285;font-size:11px}.lap-inputs label{margin:8px 0}.modal form>.primary{margin-top:14px}.loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.loading h1{font-size:25px}.loading p{color:#8c9e7b;font-size:13px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1500px){main{padding-top:28px}.hero{min-height:260px}.pace-chart{min-height:205px}}@media (max-width:1180px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.main-shell{margin-left:205px}main{padding:20px 24px 0}.topbar{padding:0 24px}.brand{font-size:17px}.nav-item{font-size:11px}.stats{gap:10px}.stats .card{padding:17px}.stat-value{font-size:27px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.card{padding:20px}.stat-label{font-size:9px}.calendar-grid{grid-template-columns:repeat(7,minmax(100px,1fr));overflow:auto}.calendar-toolbar{flex-wrap:wrap}.page-heading h1{font-size:28px}}@media (max-width:900px){.sidebar{width:75px;padding:24px 12px}.brand{margin-bottom:35px;font-size:0}.brand>span:last-child,.workspace-label,.sidebar-note,.local-status,.user>span:not(.avatar),.user>svg{display:none}.nav-item{justify-content:center;padding:0;font-size:0}.nav-item.active:before,.nav-dot{display:none}.brand-icon{width:42px}.nav-item>svg{width:21px}.sidebar nav{gap:12px}.user{justify-content:center;margin-top:auto;padding:17px 0}.main-shell{margin-left:75px}.dashboard-grid{grid-template-columns:1.3fr 1fr}.hero h2{font-size:27px}.stat-label>svg{display:none}.stats{grid-template-columns:repeat(2,1fr)}.profile-grid,.coros-layout{grid-template-columns:1fr}.hero-graphic{right:-40px}.topbar{height:60px}.zone-totals{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.sidebar{width:58px;padding:20px 8px}.brand-icon{width:35px;height:35px}.main-shell{margin-left:58px}main{padding:16px 15px 0}.topbar{padding:0 16px;font-size:10px}.topbar>div:first-child{gap:8px}.local-pill{display:none}.demo-banner{align-items:flex-start;font-size:9px;line-height:1.6}.demo-banner button{display:none}.page-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-top:23px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.hero{min-height:255px;padding:25px 23px}.hero h2{font-size:26px}.hero-graphic{display:none}.dashboard-grid{grid-template-columns:1fr;gap:0}.stats{gap:10px}.stats .card{padding:15px}.stat-value{font-size:27px}.stat small{font-size:8px;line-height:1.6;display:block}.week-strip{grid-template-columns:repeat(7,95px);overflow:auto}.race-card{flex-wrap:wrap;gap:14px;padding:18px}.race-card>div:nth-child(2){flex:1}.race-count{margin-left:0;font-size:20px}.race-card h3{font-size:12px}.race-card p{font-size:9px}.race-icon{width:37px;height:37px}.race-card button{margin-left:auto}.calendar-grid{grid-template-columns:repeat(7,130px)}.week-nav{flex-wrap:wrap;gap:8px}.week-nav h2{font-size:13px}.calendar-legend{flex-wrap:wrap;gap:13px}.calendar-legend button{justify-content:flex-start;width:100%;margin-left:0}.card{padding:18px}.section-heading h2{font-size:15px}.section-heading .text-button{font-size:9px}.availability{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:1fr;gap:0}label{margin:12px 0}.maf-comparison{gap:10px;padding:8px 12px}.maf-comparison>label{max-width:120px}.modal-overlay{padding:15px}.modal{padding:28px 20px}.modal h2{font-size:21px}.lap-inputs{grid-template-columns:35px 1fr 1fr;gap:8px}.lap-inputs label{font-size:9px}.zone-totals strong{font-size:22px}footer{line-height:1.8}footer>span:last-child{display:none}.coros-wordmark{gap:10px;font-size:21px}.hero p{font-size:10px}}.page-heading p,.section-heading p,.stat-label,.stat small,.step small,.workout-summary,.fine-print,.muted,.modal p,.chart-footer,.calendar-date,.calendar-legend,.day-tile small,.race-card p,.history-item p,td small,.connection-steps small,.coros-card>p{color:#75816d}.modal:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.connection-actions{flex-wrap:wrap;gap:12px;display:flex}.library-toolbar,.library-actions,.block-row-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.library-toolbar{margin-bottom:22px}.library-actions{justify-content:flex-start}.segmented{gap:8px;display:flex}.library-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin:22px 0;display:grid}.template-card{padding:25px}.template-card h3{margin:12px 0}.template-card p{color:var(--muted);font-size:14px;line-height:1.6}.block-preview{margin:22px 0;padding:0;list-style:none}.block-preview li{border-bottom:1px solid #e5e9e1;grid-template-columns:1fr auto;gap:6px;padding:10px 0;font-size:13px;display:grid}.block-preview small{color:#6d756b;grid-column:1/-1}.library-editor{margin-top:24px;padding:28px}.library-editor input,.library-editor select,.library-editor textarea,.library input,.library select{max-width:100%}.block-row{background:#f4f6f1;border-radius:12px;margin:14px 0;padding:18px}.block-row-title{margin-bottom:12px}.block-row-title button,.plan-item>button{color:#416137;background:#fff;border:1px solid #dce3d5;border-radius:6px;padding:7px}.check-label{align-items:center;gap:10px;display:flex!important}.check-label input{width:auto!important}.plan-item{grid-template-columns:100px 130px 1fr 40px;align-items:end;gap:12px;margin:12px 0;display:grid}.calendar-library{background:#eef2e9;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:18px;font-size:13px;display:flex}.draggable-template{cursor:grab;background:#fff;border:1px solid #d8e1ce;border-radius:9px;gap:12px;padding:10px 15px;display:flex}.draggable-template small{color:#6e7c63}.calendar-day:has(.calendar-workout){min-height:200px}.coros-send{border-top:1px solid #e0e6da;margin-top:24px;padding-top:20px}.operation-list>div{border-bottom:1px solid #e5e9e1;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.operation-list p{margin:0;font-size:13px}.operation-list small,.activity-link small{color:#747c70;margin-top:5px;font-size:12px;display:block}.activity-link{border-bottom:1px solid #e5e9e1;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.activity-link select{max-width:350px}.library-editor textarea{min-height:80px}.coros-layout{margin-top:24px}details summary{cursor:pointer;padding:12px 0;font-weight:600}button:disabled{cursor:not-allowed;opacity:.5}.icon-button{background:#fff;border:1px solid #e0e6da;border-radius:8px;padding:9px}@media (max-width:800px){.plan-item{grid-template-columns:1fr 1fr}.activity-link{flex-direction:column;align-items:stretch}.library-editor{padding:18px}.library-toolbar{align-items:stretch}.library-grid{grid-template-columns:1fr}}.coros-details{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f1;border-radius:8px;padding:14px;font-family:inherit;font-size:13px;line-height:1.6}.library-editor{scroll-margin-top:20px}.coros-send p{line-height:1.6}.calendar-workout.actual{background:#e4efed;border-left-color:#72a699}.calendar-workout.actual .calendar-status{color:#2c6e5e}.activity-page{max-width:1260px;margin:0 auto;padding:28px 36px 60px}.analysis-top,.analysis-brand,.analysis-heading,.analysis-range,.analysis-presets{align-items:center;gap:16px;display:flex}.analysis-top{border-bottom:1px solid #dce3d6;justify-content:space-between;padding-bottom:20px}.analysis-brand{letter-spacing:2px;color:#416451;font-size:13px;font-weight:700}.analysis-heading{justify-content:space-between;margin:36px 0 28px}.analysis-heading h1{letter-spacing:-1.1px;margin:12px 0;font-size:36px}.analysis-heading p{color:#697566;line-height:1.7}.activity-page .card{margin-bottom:22px;padding:25px}.activity-page h2{align-items:center;gap:10px;margin:0 0 16px;font-size:19px;display:flex}.activity-page p{line-height:1.65}.analysis-selection{background:#f0f4eb}.analysis-selection p{color:#64725f;margin:0 0 18px;font-size:14px}.analysis-range{flex-wrap:wrap;align-items:end}.analysis-range label{max-width:170px;margin-bottom:0}.analysis-presets{flex-wrap:wrap;margin-top:16px}.analysis-presets .secondary{padding:8px 12px;font-size:12px}.analysis-stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.activity-page .analysis-metric{padding:22px}.analysis-metric>div{color:#66725f;align-items:center;gap:8px;font-size:12px;display:flex}.analysis-metric svg{width:17px;height:17px}.analysis-metric>strong{color:#304d3d;letter-spacing:-1px;margin:16px 0 2px;font-size:37px;display:block}.analysis-metric>span{font-size:12px}.analysis-metric>small{color:#76816e;margin-top:14px;font-size:11px;line-height:1.6;display:block}.analysis-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.analysis-values{margin:0}.analysis-values>div{border-bottom:1px solid #e8ece3;justify-content:space-between;align-items:center;gap:18px;padding:11px 0;font-size:13px;display:flex}.analysis-values dt{color:#67745f;max-width:70%}.analysis-values dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:650}.analysis-signal{border-bottom:1px solid #e8ece3;padding:16px 0}.analysis-signal>div{justify-content:space-between;font-size:13px;display:flex}.analysis-signal>div span{font-variant-numeric:tabular-nums;color:#66725f}.analysis-signal svg{touch-action:pan-y;width:100%;height:auto;min-height:130px;display:block}.analysis-signal svg text{fill:#778270;font-family:inherit;font-size:10px}.analysis-curves .section-heading{align-items:flex-start;margin-bottom:0}.analysis-curves .section-heading p{margin-bottom:0;font-size:13px}.analysis-zonebar{border-radius:5px;height:22px;margin:24px 0;display:flex;overflow:hidden}.zone-below{background:#bdccc0}.zone-inside{background:#4e8060}.zone-above{background:#c78266}.zone-unknown{background:repeating-linear-gradient(45deg,#e0e2dc,#e0e2dc 4px,#f1f2ed 4px 8px)}.analysis-cursor{font-size:12px;margin:18px 0 0!important}.analysis-cursor input{accent-color:#456c50;box-shadow:none!important;padding:0!important}.activity-page table{font-size:13px}.activity-page td{font-variant-numeric:tabular-nums}.activity-page select{max-width:100%}.analysis-method summary{font-weight:600}.analysis-method p{color:#63705e;font-size:13px}.analysis-method a{color:#3c674c;text-decoration:underline}.activity-analysis-link{color:#355c48;align-items:center;gap:7px;font-weight:650;display:inline-flex}.activity-analysis-link:hover{text-decoration:underline}.activity-page textarea{resize:vertical;width:100%}.activity-page button:focus-visible,.activity-page a:focus-visible{outline-offset:3px;outline:2px solid #4b7550}.test-protocol-banner{color:#355340;background:#eaf2e8;border-left:4px solid #4f8060;border-radius:9px;gap:5px;margin-bottom:22px;padding:18px 22px;line-height:1.55;display:grid}.test-protocol-banner strong{font-size:16px}.test-protocol-banner span{font-size:13px}.test-analysis-page .analysis-stats{margin-bottom:0}.test-analysis-page .analysis-heading{margin-bottom:22px}.test-analysis-page .plan-note{margin:0 0 22px}.test-full-button{margin-top:2px}@media (max-width:1000px){.analysis-stats{grid-template-columns:repeat(2,1fr)}.activity-page{padding:22px}.analysis-heading h1{font-size:29px}}@media (max-width:650px){.activity-page{padding:16px}.analysis-top .analysis-brand{display:none}.analysis-heading{flex-direction:column;align-items:flex-start;margin:25px 0}.analysis-heading h1{font-size:27px}.analysis-columns{grid-template-columns:1fr;gap:0}.activity-page .card{padding:18px}.analysis-stats{gap:10px}.activity-page .analysis-metric{padding:15px}.analysis-metric>strong{font-size:29px}.analysis-range label{flex:1;min-width:110px;max-width:100%}.analysis-signal svg{min-height:100px}.analysis-values>div{font-size:12px}.activity-page .section-heading{flex-wrap:wrap;gap:10px}}.analysis-nav{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f9f5ed;border-bottom:1px solid #e0e6da;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:10px 0;display:flex;position:sticky;top:0}.analysis-nav a{color:#41654b;background:#fff;border:1px solid #e0e6da;border-radius:8px;padding:9px 14px;font-size:13px}.analysis-nav a:hover{background:#e8eee2}.activity-page [id]{scroll-margin-top:85px}@media (max-width:650px){.analysis-nav a{padding:8px 10px;font-size:12px}.activity-page [id]{scroll-margin-top:110px}}.training-section{gap:20px;display:grid}.training-section form>label,.training-section form>.form-grid{margin-bottom:16px}.training-section h3{margin:12px 0}.training-section li{margin-bottom:10px;line-height:1.5}.strength-exercise{border:1px solid var(--border,#ddd);border-radius:12px;min-width:0;margin-bottom:16px;padding:18px}.strength-exercise legend{padding:0 8px;font-weight:600}.strength-session{border-bottom:1px solid #e5e3df;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.strength-session p{margin:6px 0 0}.strength-drag-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;display:flex}.strength-drag-bar .badge{cursor:grab}.calendar-workout.strength{background:#eeebf7;border-left:3px solid #8573af}.test-sport-tabs{margin-bottom:22px}.bike-test-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.bike-test-stats strong{margin-top:8px;font-size:30px;display:block}.power-test-chart{width:100%;height:auto;max-height:280px}.power-test-chart text{fill:#66716b;font-size:12px}@media (max-width:650px){.bike-test-stats{grid-template-columns:1fr}.strength-session{flex-direction:column;align-items:flex-start}.test-sport-tabs{flex-wrap:wrap}}.auth-page{background:#f5f7f2;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dfe7dc;border-radius:18px;gap:16px;width:min(100%,430px);padding:32px;display:grid;box-shadow:0 16px 50px #1b352013}.auth-card h1,.auth-card h2{color:#1e3f2b;margin:0}.auth-card p{margin:0;line-height:1.5}.auth-card label{gap:6px;font-size:14px;font-weight:600;display:grid}.auth-card input,.invite-result input{width:100%;font:inherit;border:1px solid #cbd8c8;border-radius:8px;padding:11px 12px}.auth-card button,.coach-athlete button,.invite-result button{color:#fff;font:inherit;cursor:pointer;background:#265c39;border:0;border-radius:8px;padding:11px 15px}.auth-card button:disabled,.coach-athlete button:disabled{opacity:.55;cursor:default}.auth-mark{color:#3b8052;font-size:36px}.auth-error{color:#a83232}.account-menu{border-top:1px solid #dce6dc;gap:6px;padding:18px 20px;display:grid}.account-menu small{opacity:.7}.account-menu a,.account-menu button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:4px 0}.coach-admin{max-width:900px;margin:0 auto;padding:48px 24px}.coach-admin h1{color:#1e3f2b}.coach-admin>p{line-height:1.6}.coach-athlete-list{gap:10px;margin:26px 0;display:grid}.coach-athlete{background:#fff;border:1px solid #dfe7dc;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.coach-athlete div{gap:3px;display:grid}.coach-athlete small{opacity:.7}.coach-admin .auth-card{box-shadow:none}.invite-result{background:#e8f3e9;border-radius:10px;gap:10px;margin-top:20px;padding:18px;display:grid}.coach-athlete-actions{flex-wrap:wrap;gap:8px;display:flex}.coach-athlete-actions button:not(:first-child){color:#265c39;background:#e9efe8}.account-password{gap:8px;padding:10px 0;display:grid}.account-password label{gap:4px;font-size:12px;display:grid}.account-password input{border:1px solid #cbd8c8;border-radius:6px;width:100%;padding:8px}.coach-admin>.auth-card{margin:18px 0}.coach-pending{margin:24px 0}.coach-pending h3{margin-bottom:10px}.account-coaches{max-width:760px}.account-coaches h3{margin-top:28px}.admin-page{color:#193426;max-width:1480px;min-height:100vh;margin:auto;padding:40px 30px 80px}.admin-page>a{color:#286640;font-weight:650;text-decoration:none}.admin-page header{margin:30px 0}.admin-page h1{margin:0 0 8px;font-size:clamp(30px,4vw,46px)}.admin-page h2{margin:0 0 8px;font-size:21px}.admin-page p{color:#55705e;line-height:1.5}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.admin-stat,.admin-usage,.admin-users{background:#fff;border:1px solid #dce7dc;border-radius:15px;box-shadow:0 4px 16px #19342609}.admin-stat{gap:8px;padding:20px;display:grid}.admin-stat small{color:#607567}.admin-stat strong{font-size:31px;line-height:1}.admin-usage,.admin-users{margin-top:22px;padding:25px}.admin-usage>div:first-child p{margin-top:0}.admin-bars{border-bottom:1px solid #dce7dc;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:10px;height:190px;margin:30px 0 16px;display:grid}.admin-bar-day{color:#577163;text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.admin-bar-day span{min-height:18px;font-size:12px}.admin-bar-day>div{background:#4d9163;border-radius:5px 5px 0 0;width:min(100%,40px);min-height:4px}.admin-bar-day small{white-space:nowrap;min-height:30px;font-size:10px}.admin-categories{flex-wrap:wrap;gap:8px;display:flex}.admin-categories span{background:#edf5ed;border-radius:99px;padding:6px 10px;font-size:12px}.admin-users-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.admin-users-heading p{margin:0}.admin-users-heading label{gap:5px;font-size:12px;font-weight:650;display:grid}.admin-users-heading input{min-width:230px;font:inherit;border:1px solid #ccdccc;border-radius:8px;padding:9px 12px}.admin-table-wrap{overflow-x:auto}.admin-users table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.admin-users th,.admin-users td{white-space:nowrap;border-bottom:1px solid #e8eee8;padding:13px 11px}.admin-users th{color:#607567;font-size:11px;font-weight:700}.admin-users td:first-child{min-width:175px}.admin-users td:first-child small{color:#607567;margin-top:3px;display:block}.admin-users button{color:#28583b;cursor:pointer;font:inherit;background:#fff;border:1px solid #c8d8cb;border-radius:7px;padding:7px 10px}.admin-users button:disabled{opacity:.5;cursor:wait}.admin-status{color:#2e7546;background:#e5f2e7;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:700}.admin-status.disabled{color:#a44336;background:#f9e6e2}@media (max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.admin-page{padding:24px 16px 60px}.admin-stats{gap:8px}.admin-stat{padding:15px}.admin-stat strong{font-size:25px}.admin-usage,.admin-users{padding:17px}.admin-users-heading{flex-direction:column;align-items:stretch}.admin-users-heading input{width:100%}.admin-bars{gap:4px}.admin-bar-day small{transform-origin:top;font-size:8px;transform:rotate(-45deg)}}.updates-page{max-width:760px;margin:0 auto;padding:42px 24px 80px}.updates-page>a{color:#427568;text-decoration:none}.updates-page header{margin:42px 0 32px}.updates-page header h1{margin:8px 0;font-size:clamp(2rem,5vw,3rem)}.updates-page header p{color:#66756f}.updates-release{background:#fff;border:1px solid #dce7e1;border-radius:18px;margin-bottom:20px;padding:26px 30px}.updates-release small{color:#427568;font-weight:700}.updates-release h2{margin:10px 0 16px}.updates-release li{margin:8px 0;line-height:1.55}
