:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d252c;background:#eef1f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{border:1px solid #cdd5dc;background:#fff;color:#1d252c;border-radius:8px;padding:.7rem .9rem;font:inherit;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}button:hover:not(:disabled){border-color:#7d8d9c;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{width:min(1480px,100%);margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05}.demo-note{color:#3f4d5a;font-size:.9rem;font-weight:750;margin-top:8px}.language-toggle{min-width:92px;padding:.55rem .8rem;white-space:nowrap}h2{font-size:1.15rem}h3{font-size:1rem}.eyebrow{color:#334155;font-size:.8rem;font-weight:900;letter-spacing:0;text-transform:uppercase;margin-bottom:5px}.controls,.scenario-jump{display:flex;flex-wrap:wrap;gap:8px}.active-control{background:#1d252c;border-color:#1d252c;color:#fff}.scenario-jump{margin-bottom:16px}.scenario-jump.in-calendar{margin:12px 0}.scenario-jump button{padding:.65rem .85rem;color:#3f4d5a}.scenario-jump .active-scenario{background:#1d252c;border-color:#1d252c;color:#fff}.calendar-controls{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-controls button,.scenario-jump.in-calendar button{min-height:42px}.tabs-shell{display:grid;gap:14px}.tab-buttons{background:#fff;border:1px solid #d8dee4;border-radius:8px;display:flex;gap:8px;padding:8px;box-shadow:0 12px 30px #1d252c12}.tab-buttons button{flex:1}.tab-buttons .active-tab{background:#111827;border-color:#111827;color:#fff}.tab-content{display:grid;gap:14px}.content-card,.decision-hero{background:#fff;border:1px solid #d8dee4;border-radius:8px;box-shadow:0 12px 30px #1d252c12;padding:18px}.today-two-column{display:grid;gap:14px;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);align-items:stretch}.decision-hero{border-left:10px solid var(--status);display:grid;gap:10px;min-height:160px;align-content:center;text-align:center}.decision-hero h2{color:#111827;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.decision-hero>span{color:#334155;font-size:1rem;font-weight:850}.decision-status{background:#f4f7fa;border:1px solid #c9d2da;border-radius:999px;color:#1f2937;justify-self:center;padding:.35rem .75rem;text-transform:uppercase}.decision-logic-card{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr)}.decision-logic-card p{color:#1f2937;font-size:.98rem;font-weight:500;line-height:1.55}.logic-legend{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.logic-legend span{align-items:center;color:#334155;display:flex;font-size:.9rem;font-weight:900;gap:8px}.modal-backdrop{align-items:center;background:#1118278f;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:20}.logic-modal{background:#fff;border-radius:8px;box-shadow:0 24px 70px #11182747;display:grid;gap:16px;max-height:min(760px,92vh);max-width:920px;overflow:auto;padding:22px;width:min(920px,100%)}.modal-heading{align-items:start;display:flex;gap:18px;justify-content:space-between}.logic-modal>p{color:#1f2937;font-size:1rem;font-weight:550;line-height:1.6}.decision-flow{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}.flow-step{border:1px solid #e0e5ea;border-radius:8px;display:grid;gap:9px;min-height:138px;padding:14px;position:relative}.flow-step:not(:last-child):after{color:#526475;content:">";font-size:1.2rem;font-weight:900;position:absolute;right:-14px;top:50%;transform:translateY(-50%)}.flow-step strong,.flow-step span{color:#1f2937;font-weight:850}.flow-step span{font-size:.86rem;line-height:1.35}.flow-step small{color:#334155;font-size:.78rem;font-weight:900;text-transform:uppercase}.outcome-chip{align-self:start;border:1.5px solid var(--status);border-radius:999px;color:var(--status);font-size:.78rem;font-style:normal;font-weight:900;justify-self:start;padding:.28rem .5rem;text-transform:uppercase}.outcome-table{border:1px solid #e0e5ea;border-radius:8px;overflow:hidden}.outcome-table>div{display:grid;grid-template-columns:1fr .7fr 1fr 1.4fr}.outcome-table strong,.outcome-table span{border-bottom:1px solid #e0e5ea;color:#1f2937;font-size:.9rem;font-weight:850;padding:10px}.outcome-table span{align-items:center;display:flex;gap:7px}.outcome-table>div:first-child{background:#f4f7fa}.outcome-table>div:last-child span{border-bottom:0}.dashboard-grid{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(320px,1.15fr) minmax(320px,1fr);gap:16px;align-items:stretch}.app-grid{display:grid;grid-template-columns:minmax(290px,.34fr) minmax(620px,1fr);gap:16px;align-items:start}.panel{background:#fff;border:1px solid #d8dee4;border-radius:8px;padding:18px;box-shadow:0 12px 30px #1d252c12}.panel-heading{margin-bottom:16px}.calendar-panel{min-height:620px;display:flex;flex-direction:column}.calendar-list{height:430px;overflow:auto;padding-right:4px}.calendar-group{margin-top:12px}.calendar-section{margin-top:14px}.calendar-group-label{color:#334155;font-size:.78rem;font-weight:900;margin-bottom:8px;text-transform:uppercase}.scenario-group{border-top:1px solid #e0e5ea;padding-top:12px}.calendar-legend{border:1px solid #e0e5ea;border-radius:8px;display:grid;gap:10px 12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;padding:12px}.legend-item{align-items:center;display:flex;gap:8px;min-width:0}.calendar-legend .status-dot{width:15px;height:15px;flex-basis:15px}.legend-item strong{color:#1f2937;font-size:.86rem;font-weight:850;line-height:1.2}.course-attribution{border-top:1px solid #e0e5ea;color:#526475;display:grid;gap:3px;font-size:.78rem;line-height:1.3;margin-top:14px;padding-top:12px}.course-attribution strong{color:#334155;font-size:.82rem}.month-label{color:#637180;font-size:.78rem;font-weight:800;margin:14px 0 7px;text-transform:uppercase}.date-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin-bottom:6px;padding:.65rem .75rem;border-width:2px;scroll-margin:72px}.date-row span:first-child{display:grid;gap:2px}.date-row small{color:#637180;font-weight:650}.date-row.active{border-color:#111820;background:#dfeeff;box-shadow:inset 5px 0 #2f7fd1,0 6px 16px #2f7fd133;transform:none}.date-row.active strong{font-size:1.05rem}.date-row-meta{display:flex;align-items:center;gap:8px}.date-row-meta em{color:#1d4f83;font-size:.72rem;font-style:normal;font-weight:900;text-transform:uppercase}.status-dot{width:13px;height:13px;flex:0 0 13px;border-radius:50%;display:inline-block}.normal{--status: #2f9d64}.modified{--status: #d9a51e}.mobility{--status: #2f7fd1}.recovery{--status: #d94d4d}.status-dot.normal,.status-dot.modified,.status-dot.mobility,.status-dot.recovery{background:var(--status)}.scenario-banner{border-left:4px solid #2f7fd1;background:#eaf3ff;color:#1d4f83;font-weight:800;padding:.8rem .9rem;border-radius:6px;margin-bottom:16px}.metric-grid,.weekly-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{border:1px solid #e0e5ea;border-radius:8px;padding:12px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between}.metric span,.reason-box span,.risk-box span,.routine-wheel-card span,.plan-card span,.condition-note span{color:#334155;font-size:.84rem;font-weight:900;text-transform:uppercase}.metric strong{font-size:1.5rem}.metric small{color:#637180;font-weight:650}.soreness-card,.reason-box,.risk-box,.routine-wheel-card,.condition-note,.plan-card{border:1px solid #e0e5ea;border-radius:8px;padding:14px}.soreness-card{display:grid;gap:12px;margin-top:14px}.soreness-row{display:grid;grid-template-columns:54px 1fr 46px;gap:10px;align-items:center;text-transform:capitalize}.bar-track{height:10px;background:#e9edf1;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:#526475;border-radius:inherit}.condition-note{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.checkin-card{display:grid;gap:14px}.checkin-header{align-items:center;display:flex;justify-content:space-between;gap:16px}.checkin-form{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.checkin-form label{color:#334155;display:grid;gap:6px;font-size:.86rem;font-weight:900;text-transform:uppercase}.checkin-form input{border:1px solid #cdd5dc;border-radius:8px;color:#111827;font:inherit;font-weight:750;padding:.62rem .7rem}.checkbox-label{align-content:center;grid-template-columns:auto 1fr;justify-content:start}.checkbox-label input{width:18px;height:18px}.wide-field,.checkin-actions{grid-column:1 / -1}.checkin-actions{display:flex;flex-wrap:wrap;gap:8px}.plan-stack{display:grid;gap:12px}.routine-wheel-card{display:grid;justify-items:center;gap:9px;padding:8px}.routine-wheel-card span{justify-self:start}.routine-wheel-card p{color:#3f4d5a;font-size:.92rem;font-weight:800;text-align:center}.routine-wheel{width:min(100%,420px);height:auto}.wheel-arrow{fill:none;stroke:#526475;stroke-width:3;stroke-linecap:round}.wheel-segment path{fill:#edf2f6;stroke:#fff;stroke-linejoin:round;stroke-width:3}.wheel-segment:nth-of-type(odd) path{fill:#e4ebf1}.wheel-segment.current path{fill:#2f7fd1;filter:drop-shadow(0 6px 10px rgba(47,127,209,.28))}.wheel-segment text{fill:#1f2937;font-size:.72rem;font-weight:900}.wheel-segment.current text{fill:#fff}.routine-wheel marker path{fill:#526475}.wheel-hub{fill:#fff;stroke:#c9d2da;stroke-width:2}.wheel-hub-text{fill:#111827;font-size:.76rem;font-weight:900;text-transform:uppercase}.wheel-hub-text.small{font-size:.7rem}.plan-card{display:grid;gap:8px}.plan-card strong{font-size:1.55rem;line-height:1.15}.plan-card.adjusted{border-left:8px solid var(--status);background:color-mix(in srgb,var(--status) 10%,white)}.override-label{background:#111820;border-radius:999px;color:#fff;font-size:.72rem;justify-self:start;padding:.3rem .55rem;text-transform:uppercase}.plan-card em{color:#3f4d5a;font-style:normal;font-weight:800}.reason-box{border:2px solid #1f2937;margin-top:14px;min-height:124px;padding:18px}.risk-box{border:2px solid #1f2937;margin-top:14px;padding:18px}.reason-box span,.risk-box span{color:#111827;font-size:.9rem;font-weight:900}.risk-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.risk-badge{background:#fff1cf;border:1.5px solid #c99218;border-radius:999px;color:#6d4b00;font-size:.95rem;font-weight:900;padding:.5rem .82rem}.risk-badge.quiet{background:#e9f6ef;border-color:#5fa67f;color:#1e6e46}.reason-box p{margin-top:12px;color:#1f2937;font-size:1rem;line-height:1.6;font-weight:500;overflow-wrap:anywhere}.weekly-panel{margin-top:16px}.period-stats{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.review-card{display:grid;gap:16px}.review-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid>div,.insight-callouts>div,.health-reminder{border:1px solid #e0e5ea;border-radius:8px;padding:14px}.review-grid span,.insight-callouts span,.health-reminder span{color:#334155;font-size:.84rem;font-weight:900;text-transform:uppercase}.review-grid strong,.insight-callouts strong{color:#111827;display:block;font-size:1.45rem;line-height:1.15;margin-top:8px}.review-grid p,.review-summary,.health-reminder p,.insight-callouts p{color:#1f2937;font-size:1rem;font-weight:500;line-height:1.6}.month-breakdown .panel-heading{margin-bottom:12px}.month-strip{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(116px,1fr))}.month-day{background:#f8fafb;border-top:5px solid var(--status);border-radius:8px;display:grid;gap:5px;min-height:86px;padding:10px}.month-day span{color:#334155;font-size:.84rem;font-weight:900}.month-day strong{color:#111827;font-size:.94rem;font-weight:900;line-height:1.2}.month-day em{color:#334155;font-size:.8rem;font-style:normal;font-weight:850;line-height:1.2}.progress-panel{margin-top:16px}.progress-panel .panel-heading{margin-bottom:12px}.progress-layout{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr)}.donut-wrap{align-items:center;display:grid;gap:10px;justify-items:center}.progress-donut{height:210px;width:210px}.donut-track,.donut-segment{fill:none;stroke-width:18}.donut-track{stroke:#e8edf2}.donut-segment{stroke-linecap:round;transform:rotate(-90deg);transform-origin:80px 80px}.donut-segment.kept{stroke:#2f9d64}.donut-segment.adjusted{stroke:#d9a51e}.donut-number{fill:#111827;font-size:2rem;font-weight:900}.donut-label{fill:#334155;font-size:.72rem;font-weight:900;text-transform:uppercase}.donut-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.donut-legend span{align-items:center;color:#334155;display:flex;font-size:.86rem;font-weight:900;gap:7px;text-transform:uppercase}.progress-stats{display:grid;gap:10px}.progress-stat{align-items:center;border:1px solid #e0e5ea;border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(76px,auto) 1fr;padding:13px 14px}.progress-stat .status-dot{width:15px;height:15px}.progress-stat strong{color:#111827;font-size:1.8rem;line-height:1}.progress-stat span:last-child{color:#334155;font-size:.92rem;font-weight:900;text-transform:uppercase}.insight-heading-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.insight-heading-row>span{color:#334155;font-weight:900;text-transform:uppercase}.trend-copy{color:#1f2937;font-size:.95rem;font-weight:500;line-height:1.5;margin-top:4px}.trend-chart{width:100%;height:190px}.trend-grid line{stroke:#e1e7ed;stroke-width:1}.trend-grid text,.trend-axis-label{fill:#526475;font-size:.72rem;font-weight:850}.trend-axis{stroke:#cbd5df;stroke-width:1.5}.trend-line{fill:none;stroke:#2f7fd1;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.trend-current-dot{fill:#fff;stroke:#2f7fd1;stroke-width:3}.trend-current-label{fill:#111827;font-size:.78rem;font-weight:900}.driver-bars{display:grid;gap:10px;margin-top:14px}.driver-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(150px,.32fr) 1fr 42px}.driver-row span{color:#334155;font-weight:900}.driver-track{background:#e8edf2;border-radius:999px;height:14px;overflow:hidden}.driver-fill{background:#526475;border-radius:inherit;height:100%}.driver-row strong{color:#111827;text-align:right}.insight-callouts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.health-reminder{margin-top:12px}.weekly-panel .panel-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.weekly-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.status-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.summary-row{border:1px solid #e0e5ea;border-radius:8px;padding:10px;display:grid;grid-template-columns:13px 1fr auto;align-items:center;gap:8px;font-weight:750}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{border-top:5px solid var(--status);background:#f8fafb;border-radius:8px;padding:12px;min-height:88px;display:grid;gap:7px;align-content:start}.week-day span{color:#334155;font-size:.88rem;font-weight:900}.week-day strong{color:#111827;font-size:1.02rem;line-height:1.32;font-weight:850}.week-day em{color:#334155;font-size:.84rem;font-style:normal;font-weight:850}@supports not (background: color-mix(in srgb,red 10%,white)){.plan-card.adjusted{background:#f8fafb}}@media (max-width: 1050px){.topbar{align-items:flex-start;flex-direction:column}.dashboard-grid,.app-grid,.today-two-column,.decision-logic-card,.decision-flow{grid-template-columns:1fr}.flow-step:not(:last-child):after{content:"v";left:50%;right:auto;top:auto;bottom:-18px;transform:translate(-50%)}.calendar-panel{min-height:auto}.calendar-list{height:280px}.weekly-stats,.period-stats,.progress-layout,.review-grid,.insight-callouts,.status-summary,.week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-layout{grid-template-columns:1fr}}@media (max-width: 620px){.app-shell{padding:14px}.controls button{flex:1 1 45%}.metric-grid,.weekly-stats,.period-stats,.progress-layout,.review-grid,.insight-callouts,.status-summary,.week-strip,.checkin-form{grid-template-columns:1fr}.checkin-header,.insight-heading-row{align-items:flex-start;flex-direction:column}.logic-legend{grid-template-columns:1fr}.driver-row{grid-template-columns:1fr 42px}.driver-row span{grid-column:1 / -1}.progress-stat{grid-template-columns:auto 1fr}.progress-stat strong{grid-column:2}.progress-stat span:last-child{grid-column:1 / -1}.weekly-panel .panel-heading{align-items:flex-start;flex-direction:column}}
