:root{color:#183039;--ink:#132b32;--teal:#26787a;--coral:#cf6851;--surface:#fff;--line:#dce4e4;--muted:#5b6e74;--radius:12px;font-synthesis:none;background:#f3f5f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #168c99}button{cursor:pointer;min-height:42px}button:disabled{opacity:.55;cursor:wait}a{color:var(--teal)}h1,h2,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:0;font-size:clamp(25px,3vw,34px);line-height:1.2}h2{letter-spacing:-.3px;margin-bottom:18px;font-size:17px}p{line-height:1.65}label{flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:600;display:flex}input,select{color:var(--ink);background:#fff;border:1px solid #bccbcd;border-radius:7px;width:100%;min-width:0;min-height:43px;padding:10px 12px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#d5e3e5;flex-direction:column;width:235px;padding:30px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;margin-bottom:42px;display:flex}.brand>svg{color:#80d0c9;flex-shrink:0}.brand strong{color:#fff;letter-spacing:-.3px;white-space:nowrap;font-size:16px}.brand small{color:#9bafb5;margin-top:5px;font-size:11px;display:block}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav button,.sidebar-foot button{color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.sidebar nav button.active{color:#fff;background:#27474d;box-shadow:inset 3px 0 #7dccc4}.sidebar nav button:hover{background:#27474d}.sidebar-foot{color:#aac0c5;margin-top:auto;font-size:11px}.sidebar-foot p{color:#8ca4ab;margin-top:7px}.status-dot{background:#9bceac;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.workspace{width:calc(100% - 235px);max-width:1720px;margin-left:235px;padding:0 38px 30px}.topbar{border-bottom:1px solid var(--line);min-height:79px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:22px;font-size:12px;display:flex}.topbar>div{gap:8px;display:flex}.primary,.secondary{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.primary{border:1px solid var(--teal);background:var(--teal);color:#fff}.primary:hover{background:#1c6164}.secondary{color:var(--ink);background:#fff;border:1px solid #cbd7d8}.secondary:hover{background:#eaf1f0}.demo-banner{color:#6c5020;background:#fff6df;border:1px solid #e3cd95;border-radius:8px;align-items:center;gap:16px;margin-bottom:26px;padding:12px 16px;font-size:12px;display:flex}.demo-banner strong{letter-spacing:1px;white-space:nowrap;font-size:10px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin:30px 0 26px;display:flex}.page-header label{max-width:280px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--teal);margin-bottom:12px;font-size:10px;font-weight:700}.badge{color:#315a55;white-space:nowrap;background:#e7efed;border-radius:5px;padding:5px 8px;font-size:10px;display:inline-flex}.badge.warning{color:#785827;background:#fff0d8}.context-line{color:var(--muted);margin-bottom:20px;font-size:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-bottom:20px;padding:24px}.section-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.section-title h2{margin:0}.section-title>span{color:var(--muted);font-size:11px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;display:grid}.stats>div{border-bottom:1px solid #eaf0f0;padding:18px 0}.stats span{color:var(--muted);margin-bottom:9px;font-size:11px;display:block}.stats strong{letter-spacing:-.8px;font-size:24px;font-weight:650}.stats strong small{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500}.stats.overview{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;padding:8px 24px}.overview>div{border:0}.filters,.range-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.filters label{flex:1}.range-form label{flex:1;min-width:100px}.range-form{margin-bottom:12px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.muted{color:var(--muted)}.small{font-size:11px}.notice{border-left:3px solid var(--teal);background:#e6f0ef;border-radius:4px;margin-bottom:18px;padding:12px 16px;font-size:12px;line-height:1.6}.notice.error{border-color:var(--coral);color:#963d2e;background:#fff0ea}.evidence{border-top:1px solid var(--line);margin-top:16px;padding:15px 0;font-size:12px}.evidence summary{cursor:pointer;color:var(--teal);min-height:28px;font-weight:600}.evidence summary .badge{margin-left:8px}.evidence p{margin:12px 0 0}.evidence dl{grid-template-columns:135px 1fr;gap:10px;margin:18px 0;display:grid}.evidence dt{color:var(--muted)}.evidence dd{overflow-wrap:anywhere;margin:0}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--line);padding:12px;font-size:10px;font-weight:500}td{border-bottom:1px solid #e9eeee;padding:14px 12px}td small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.text-button{color:var(--ink);text-align:left;background:0 0;border:0;min-height:25px;padding:0;font-weight:600}.text-button:hover{color:var(--teal);text-decoration:underline}.chart{width:100%;min-width:0}.chart-key{align-items:center;gap:8px;font-size:11px;display:flex}.chart-key i{border-radius:50%;width:8px;height:8px;display:inline-block}.chart-key .teal{background:var(--teal)}.chart-key .coral{background:var(--coral);margin-left:15px}.recharts-cartesian-axis-tick-value{fill:#63777b;font-size:10px}.recharts-cartesian-grid line{stroke:#e1e8e8}.match{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-size:12px;display:flex}.match small{color:var(--muted);margin-top:6px;display:block}.match strong{color:var(--teal);white-space:nowrap;font-size:11px}.zone-list{padding:0;list-style:none}.zone-list li{align-items:center;gap:12px;margin:12px 0;font-size:11px;display:flex}.zone-list progress{accent-color:var(--teal);flex:1}.laps{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.checkbox{flex-direction:row;align-items:center;margin:18px 0}.checkbox input{width:18px;min-height:18px}.footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:28px;padding:18px 0;font-size:10px;display:flex}.footer details{overflow-wrap:anywhere;max-width:100%}.footer summary{cursor:pointer}.empty{padding:45px}.empty h1{margin-bottom:20px}.empty button{margin-top:15px}.login{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:460px;margin:12vh auto;padding:35px}.login .brand strong{color:var(--ink)}.login h1{margin-bottom:15px}.login label{margin-bottom:18px}.login form{margin-bottom:20px}.login .primary{width:100%}@media (width>=1400px){.stats{grid-template-columns:repeat(6,minmax(0,1fr))}.two-columns .stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1050px){.sidebar{width:205px;padding:25px 16px}.workspace{width:calc(100% - 205px);margin-left:205px;padding:0 22px 25px}.two-columns{grid-template-columns:1fr}.stats.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header,.section-title{align-items:start}}@media (width<=700px){.app-shell{display:block}.sidebar{width:100%;padding:17px 16px 9px;position:static}.brand{margin-bottom:18px}.brand strong{font-size:16px}.sidebar nav{flex-direction:row;gap:4px;overflow-x:auto}.sidebar nav button{flex-direction:column;flex:1;gap:6px;min-width:75px;padding:10px 9px;font-size:10px}.sidebar nav button.active{box-shadow:inset 0 -2px #7dccc4}.sidebar-foot{display:none}.workspace{width:100%;margin-left:0;padding:0 14px 20px}.topbar{min-height:68px;margin-bottom:16px;font-size:10px}.topbar .secondary{padding:8px 10px;font-size:10px}.demo-banner{margin-bottom:20px;line-height:1.6;display:block}.demo-banner strong{margin-bottom:5px;display:block}.page-header{flex-direction:column;gap:14px;margin-top:22px}.page-header label{width:100%;max-width:100%}h1{font-size:27px}.panel{padding:18px}.section-title{flex-direction:column;gap:10px}.section-title label{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.stats strong{font-size:22px}.stats.overview{gap:0 10px;padding:8px 18px}.stats span{font-size:10px}.range-form{gap:12px}.range-form label:first-child{flex-basis:100%}.range-form button{width:100%}.filters label{flex-basis:40%}.evidence dl{grid-template-columns:1fr;gap:5px}.evidence dd{margin-bottom:8px}.match{gap:8px}.footer{font-size:10px;line-height:1.6}.login{margin:8vh 15px;padding:26px}}.coach-page{max-width:1150px}.coach-readonly{color:var(--muted);align-items:flex-start;gap:10px;display:flex}.coach-readonly svg{flex-shrink:0;margin-top:4px}.coach-week-nav{align-items:center;gap:16px;margin:22px 0;display:flex}.coach-week-nav h2{margin-bottom:5px}.coach-week-nav>div{text-align:center;flex:1}.coach-week-nav small,.coach-source,.coach-muted{color:var(--muted)}.coach-goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.coach-goals article{border-left:3px solid var(--teal);overflow-wrap:anywhere;min-width:0;padding-left:15px}.coach-goals h3{margin:12px 0;font-size:17px;line-height:1.4}.coach-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:12px;display:flex}.coach-source{margin-top:10px;font-size:12px;line-height:1.6;display:block}.coach-section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:28px;display:flex}.coach-badge{border:1px solid var(--teal);border-radius:var(--radius);color:var(--teal);padding:5px 10px;font-size:12px}.coach-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.coach-day{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow-wrap:anywhere;min-width:0;padding:18px}.coach-day h3{text-transform:capitalize;margin:0 0 14px;font-size:14px}.coach-day p:last-child{margin-bottom:0}.coach-workout summary{cursor:pointer;min-height:42px;font-weight:600;line-height:1.6}.coach-workout p{margin:12px 0}.coach-workout ol{padding-left:22px;line-height:1.65}.coach-workout li{margin-bottom:10px}.coach-cancelled{opacity:.7}@media (width<=1050px){.coach-goals{grid-template-columns:1fr}}@media (width<=600px){.coach-days{grid-template-columns:1fr}.coach-week-nav{gap:8px}.coach-week-nav button{padding:8px}.coach-week-nav h2{font-size:15px}}
