:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10140f;--bg-2:#171d16;--card:#1c241a;--line:#2d3828;--text:#e7efe0;--muted:#93a089;--accent:#c6e36a;--accent-2:#7ec8a3;--warn:#e2b15a;--danger:#d36b5d;--shadow:0 18px 40px #00000047}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 500px at 10% -10%, #c6e36a14, transparent 50%), var(--bg);color:var(--text);margin:0;font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app{width:min(1440px,100% - 32px);margin:0 auto;padding:28px 0 64px}.page{gap:16px;display:grid}.back{margin:0}.brand-block{flex-direction:column;gap:10px;display:flex}.nav{gap:8px;display:flex}.nav a{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 12px}.nav a.active{color:#1a220f;background:var(--accent);border-color:var(--accent)}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.brand{flex-direction:column;gap:4px;display:flex}.brand small,.muted{color:var(--muted)}.brand h1,h1,h2,h3{letter-spacing:-.03em;margin:0}.actions,.row,.filters,.kpis,.grid{gap:12px;display:flex}.actions,.filters{flex-wrap:wrap;align-items:center}.kpis,.grid{display:grid}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:2fr 1fr}.grid.two.solo,.detail-hero.solo{grid-template-columns:1fr}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px 18px}.kpi .label{color:var(--muted);font-size:13px}.kpi .value,.mono{font-family:IBM Plex Mono,monospace}.kpi .value{margin-top:8px;font-size:28px}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:13px}.pill.ok{color:var(--accent);border-color:#4d6230}.pill.muted{opacity:.7}.pill.tone-run{color:#c6e36a;border-color:#4d6230}.pill.tone-trail{color:#e2b15a;border-color:#6a5428}.pill.tone-gym{color:#d36b5d;border-color:#6a322c}.pill.tone-race{color:#7ec8a3;border-color:#355e4a}.pill.warn{color:var(--warn)}button,.button{background:var(--accent);color:#1a220f;cursor:pointer;border:0;border-radius:12px;padding:10px 14px;font-weight:700}button.ghost,.button.ghost{color:var(--text);border:1px solid var(--line);background:0 0}button:disabled{opacity:.55;cursor:wait}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.card-head input{width:min(280px,100%)}.detail-hero .actions{margin-top:16px}.detail-hero h2{margin:6px 0 8px}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button.chip{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}button.chip.on{background:#273221;border-color:#4d6230}.dot{border-radius:50%;flex:none;width:8px;height:8px}.muted.tight{margin:4px 0 0;font-size:13px}.metric{background:var(--bg-2);border-radius:12px;padding:10px 12px}.metric .muted{font-size:12px}.chart-tip{border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow);background:#171d16;border-radius:12px;padding:10px 12px}.chart-tip-row{color:var(--muted);grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.chart-tip-row+.chart-tip-row{margin-top:6px}.chart-tip-row strong{color:var(--text)}input,select{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.table-wrap{margin-top:8px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:14px}th{color:var(--muted);font-weight:500}tr.clickable{cursor:pointer}tr.clickable:hover,tbody tr:hover{background:#222b1f}.badge{background:#273221;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.badge.off{color:var(--warn);background:#2a221b}.login{max-width:420px;margin:80px auto}.login form{gap:10px;margin-top:18px;display:grid}.detail-hero{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px;display:grid}.metric-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.metric-board .card{padding:14px 14px 12px}.metric-board .metrics{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.chart{height:280px}.chart.tall{height:320px}.track{background:var(--bg-2);border-radius:12px;width:100%;height:220px;margin-top:10px}.zones{margin-top:12px}.zone-bar{background:#2d3828;border-radius:999px;height:16px;display:flex;overflow:hidden}.zone-legend{color:var(--muted);flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.pager{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.error{color:var(--danger)}@media (width<=1100px){.metric-board,.kpis,.metrics,.metric-board .metrics{grid-template-columns:1fr 1fr}}@media (width<=980px){.kpis,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two,.detail-hero,.plan-layout{grid-template-columns:1fr}.plan-main{max-width:none}.topbar{flex-direction:column}}.plan-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.plan-main{max-width:50vw}.plan-side{gap:16px;display:grid}.cal-head,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-head{color:var(--muted);margin:16px 0 8px;font-size:13px}.cal-day{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;text-align:left;border-radius:12px;min-height:88px;padding:8px}.cal-day.out{opacity:.4}.cal-day.today{border-color:var(--accent)}.cal-day.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#222b1e}.cal-num{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.cal-items{flex-direction:column;gap:4px;margin-top:6px;display:flex}.cal-chip{text-align:left;color:#1a220f;cursor:pointer;background:#93a089;border:0;border-radius:8px;padding:3px 6px;font-size:11px;font-weight:600}.cal-chip.run{background:#c6e36a}.cal-chip.trail{background:#e2b15a}.cal-chip.gym{color:#fff;background:#d36b5d}.cal-chip.race{background:#7ec8a3}.cal-chip.rest,.cal-chip.note{color:var(--text);background:#2d3828}.cal-chip.done{box-shadow:inset 3px 0 #1a220f}.cal-chip.selected{outline-offset:1px;outline:2px solid #e7efe0;box-shadow:0 0 0 2px #1a220f}.cal-chip.done.selected{box-shadow:inset 3px 0 #1a220f,0 0 0 2px #1a220f}.cal-chip.skipped{opacity:.5;text-decoration:line-through}.cal-chip.skipped.selected{opacity:1}.form-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.form-grid label,.stack{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.form-grid .wide{grid-column:1/-1}textarea{background:var(--bg-2);color:var(--text);border:1px solid var(--line);resize:vertical;border-radius:12px;padding:10px 12px}.drawer h4{margin:16px 0 0}.event-preview .preview-kicker{color:var(--muted);text-transform:capitalize;margin:0;font-size:13px}.event-preview .preview-title{margin:8px 0 10px}.event-preview .chips{margin-bottom:4px}.preview-stats{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.preview-stats:empty{display:none}.preview-block{margin-top:16px}.preview-block h4,.preview-comments h4{margin:0 0 8px}.preview-block p,.preview-secondary{white-space:pre-wrap;margin:6px 0 0}.preview-block .comment{margin-top:6px}.preview-secondary,.preview-list{color:var(--text);margin:10px 0 0;padding:0;font-size:14px}.preview-list{gap:6px;list-style:none;display:grid}.preview-list li{background:var(--bg-2);border-radius:10px;padding:8px 10px}.step-card{background:var(--bg-2);border-radius:12px;padding:10px 12px}.step-card .form-grid{margin-top:0}.step-children{border-left:2px solid var(--line);gap:8px;margin:10px 0;padding-left:12px;display:grid}.preview-step-comment{color:var(--muted);white-space:pre-wrap;margin-top:4px;font-size:13px;font-weight:400;display:block}.preview-comments,.preview-actions{margin-top:16px}.comment{background:var(--bg-2);color:var(--text);border-radius:10px;margin:0;padding:8px 10px}.race-row{width:100%;color:inherit;border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;border-radius:0;flex-direction:column;gap:2px;margin-top:10px;padding:10px 0;font-weight:500;display:flex}@media (width<=640px){.kpis,.metrics,.metric-board,.grid.two,.detail-hero,.plan-layout,.form-grid,.preview-stats{grid-template-columns:1fr}}
