:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f5;color:#1f2522;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(211,63,73,.08),transparent 260px),#f4f6f5}button,input,select{font:inherit}button{border:0;border-radius:7px;background:#1f2522;color:#fff;min-height:38px;padding:0 14px;cursor:pointer}button.secondary,button.icon-button{background:#e8eeea;color:#1f2522}button.danger{background:#ffe3df;color:#a72f2f}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;border:1px solid #ccd6d1;border-radius:7px;background:#fff;color:#1f2522;min-height:38px;padding:7px 10px}h1,h2,h3,h4,p{margin:0}.app-shell{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.app-header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.header-actions{display:flex;align-items:center;gap:10px}.app-header h1{font-size:2rem;line-height:1.1}.app-header p,.toolbar p,.section-heading span,.save-status{color:#68706b}.tabs{display:inline-flex;gap:6px;padding:5px;background:#e8eeea;border:1px solid #d7e0db;border-radius:8px}.tabs button{background:transparent;color:#3f4742}.tabs button.active{background:#fff;color:#1f2522;box-shadow:0 1px 8px #312a1f1f}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:18px;align-items:start}.left-column,.right-column,.run-planner{display:grid;gap:16px}.toolbar,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar{min-height:62px}.toolbar input[type=date]{max-width:190px}.section-band,.score-card,.chart-panel,.run-week,.empty-state{border:1px solid #dce3df;border-radius:8px;background:#fffffff0;box-shadow:0 12px 32px #1f252212}.section-band,.chart-panel,.run-week,.empty-state{padding:16px}.login-panel{display:grid;gap:18px;width:min(460px,100%);margin:56px auto 0;padding:22px;border:1px solid #dce3df;border-radius:8px;background:#fffffff2;box-shadow:0 12px 32px #1f252212}.login-panel h1{font-size:1.9rem;line-height:1.1}.login-panel p,.login-form span{color:#68706b}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:5px}.section-band.compact{padding:14px}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.score-card{padding:14px}.score-card header,.score-row,.legend-item,.category-row,.goal-row,.run-week header{display:flex;align-items:center}.score-card header{gap:8px;margin-bottom:12px}.score-row{display:grid;grid-template-columns:58px 52px minmax(0,1fr);gap:10px;justify-content:initial;padding:8px 0;border-top:1px solid #e6ece8}.score-row strong{text-align:right}.tier-badge,.category-label,.goal-group-heading span{display:inline-flex;align-items:center;gap:6px;min-width:0}.tier-badge{justify-self:end;color:#3f4742;font-size:.86rem;font-weight:650;white-space:nowrap}.user-dot,.legend-swatch{width:10px;height:10px;border-radius:999px}.red,.bar-fill.red{background:#d33f49}.blue,.bar-fill.blue{background:#2f6fdd}.excellent{color:#24804b}.strong{color:#567f2a}.solid{color:#b76a00}.needs-work{color:#b33a3a}.chart-panel{overflow-x:auto}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px}.legend-item{gap:7px;color:#3f4742;font-size:.93rem}.line-chart{display:block;min-width:540px;width:100%;height:auto}.grid-line{stroke:#e0e7e3;stroke-width:1}.axis-line{stroke:#c6d1cc;stroke-width:1.2}.axis-label{fill:#68706b;font-size:12px}.axis-title{fill:#3f4742;font-size:13px;font-weight:700}.category-grid{display:grid;gap:10px;margin-top:14px}.category-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(74px,.8fr) minmax(120px,1.8fr) 48px;gap:10px;align-items:center;font-size:.92rem}.bar-track{height:9px;overflow:hidden;border-radius:999px;background:#e8eeea}.bar-fill{height:100%;border-radius:inherit}.goal-group{display:grid;gap:8px;margin-top:14px;padding:6px;border-radius:8px;transition:background-color .14s ease,outline-color .14s ease}.goal-group.drag-over{background:#eef6f2;outline:1px dashed #8bb7a2}.goal-group h4{color:#3f4742}.goal-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.goal-group-heading small{color:#68706b;font-weight:700}.goal-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;justify-content:initial;min-height:54px;padding:9px 8px;border-top:1px solid #e6ece8;border-radius:8px;background:#fff;touch-action:manipulation}.goal-row.inactive{opacity:.62}.goal-row.dragging{opacity:.7;box-shadow:0 10px 22px #1f25221f}.drag-handle{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:28px;min-height:32px;padding:0;border-radius:6px;background:#e8eeea;color:#68706b;cursor:grab}.drag-handle:active{cursor:grabbing}.check-label{display:flex;align-items:center;gap:10px;min-width:0}.check-label input{width:20px;min-height:20px}.check-label span{display:grid;min-width:0}.check-label strong,.check-label small{overflow-wrap:anywhere}.check-label small{color:#68706b}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:end}.row-actions button{min-height:32px;padding:0 10px}.goal-form,.goal-edit-row{display:grid;gap:8px;margin-top:12px}.goal-form{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 105px 82px 80px}.goal-edit-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) 100px 80px 88px;padding:10px 0;border-top:1px solid #e6ece8}.toggle-label{display:flex;align-items:center;gap:6px}.toggle-label input{width:18px;min-height:18px}.run-weeks{display:grid;gap:14px}.run-week header{justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e6ece8}.run-day-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:10px;overflow-x:auto;padding-top:12px}.run-day{display:grid;gap:10px;min-height:180px;padding:12px;border:1px solid #dce3df;border-radius:8px;background:#fff}.run-day.race-day{border-color:#d33f49;box-shadow:inset 0 0 0 1px #d33f492e}.run-date{display:grid;gap:3px}.run-date span,.run-day label span{color:#68706b;font-size:.82rem}.run-day label{display:grid;gap:4px}.notice,.empty-state{color:#3f4742}.error{color:#a72f2f}@media(max-width:1050px){.workspace-grid{grid-template-columns:1fr}.right-column{grid-row:2}}@media(max-width:760px){.app-shell{width:min(100% - 20px,1500px);padding-top:14px}.app-header h1{font-size:1.55rem}.app-header,.toolbar,.section-heading,.header-actions{align-items:stretch;flex-direction:column}.tabs{width:100%}.tabs button,.toolbar input[type=date]{flex:1;max-width:none}.goal-form,.goal-edit-row,.category-row{grid-template-columns:1fr}.goal-row{align-items:stretch;grid-template-columns:30px minmax(0,1fr)}.row-actions{grid-column:2;justify-content:start}.score-row{grid-template-columns:58px 52px minmax(0,1fr)}.tier-badge{white-space:normal}}
