/* Performance layer: actual state first, concise daily training, weekly sessions. */
.daily-performance-grid { display:grid; grid-template-columns:1.18fr 1fr; gap:22px; margin-bottom:18px; }
.daily-performance-grid .wellness-hero { min-height:360px; margin:0; padding:32px; }
.daily-performance-grid .wellness-hero h2 { font-size:38px; }
.daily-performance-grid .hero-next-action { font-size:13px; }
.readiness-snapshot { padding:30px; border-radius:26px; background:radial-gradient(ellipse at 95% 0,#63678055,transparent 65%),#22272d; color:#f5f3ed; display:flex; flex-direction:column; }
.snapshot-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.snapshot-heading .eyebrow { color:#afb7c6; font-size:9px; margin:0; }
.snapshot-heading a { color:#e7d5a7; font-size:11px; text-decoration:none; }
.snapshot-main { display:flex; gap:18px; align-items:center; margin:30px 0; }
.snapshot-main h2 { color:#f5f3ed; font-size:24px; font-weight:600; margin:0 0 12px; }
.snapshot-main p { color:#bbc1c7; font-size:12px; line-height:1.9; margin:0; }
.readiness-orbit { flex:0 0 60px; height:60px; border:1px solid #aaa48b80; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 7px #ffffff04; color:#e8dca8; }
.readiness-orbit .ui-icon { width:26px; height:26px; }
.snapshot-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:auto; border-top:1px solid #ffffff18; padding-top:20px; }
.snapshot-metrics>div { display:flex; flex-direction:column; gap:6px; }
.snapshot-metrics span { font-size:10px; color:#b1b9c2; }
.snapshot-metrics strong { font-size:28px; font-weight:500; font-variant-numeric:tabular-nums; }
.snapshot-metrics small { margin-left:5px; color:#aeb7bd; font-size:10px; font-weight:400; }
.snapshot-source { color:#aeb7bd; font-size:10px; margin:20px 0 0; }
.program-weeks { margin-top:24px; }
.program-week { border-top:1px solid var(--border); }
.program-week>summary { list-style:none; display:flex; align-items:center; gap:16px; padding:22px 0; cursor:pointer; }
.program-week>summary::-webkit-details-marker { display:none; }
.week-number { font-size:28px; font-weight:400; letter-spacing:-.06em; color:#839289; width:42px; }
.program-week summary strong { display:block; font-weight:650; font-size:15px; }
.program-week summary small { display:block; font-size:11px; color:#7a847c; margin-top:5px; }
.week-expand { margin-left:auto; width:32px; height:32px; display:grid; place-items:center; background:#f0f2ed; border-radius:50%; transition:transform .2s; }
.program-week[open] .week-expand { transform:rotate(45deg); }
.session-list { padding-bottom:18px; }
.session-row { display:flex; align-items:center; gap:18px; padding:18px 0; border-top:1px solid #edf0ea; }
.session-row time { width:52px; flex:0 0 52px; text-align:center; }
.session-row time strong { font-size:27px; font-weight:500; display:block; line-height:1.1; }
.session-row time span { font-size:9px; color:#7d857c; white-space:nowrap; }
.session-thumbnail { width:78px; height:74px; flex:0 0 78px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(#142c3240,#142c3270),url('../images/strength.jpg') center/cover; color:white; }
.session-row--rest .session-thumbnail { background:linear-gradient(#142c3220,#142c3270),url('../images/recovery.jpg') center/cover; }
.session-copy { flex:1; min-width:0; }
.session-copy h5 { font-size:16px; font-weight:650; margin:5px 0 6px; }
.session-copy p { font-size:11px; color:#768278; margin:0; }
.session-status { color:#687b75; font-size:10px; }
.session-status--done { color:#287447; }
.session-open { display:flex; align-items:center; gap:18px; font-size:12px; color:#33493c; text-decoration:none; border:1px solid #dbe1d7; border-radius:30px; padding:10px 16px; white-space:nowrap; }
.session-open:hover { background:#e9efdf; color:#213827; }
.page-student_chart .progress-bottleneck { background:#252b32; color:#f4f0e4; border:0; border-radius:24px; padding:28px; }
.page-student_chart .progress-bottleneck span { color:#c0c7d0; }
.page-student_chart .progress-bottleneck strong { color:#f4f0e4; font-weight:500; font-size:20px; line-height:1.6; }
.page-student_chart .evidence-value { font-size:48px; font-weight:450; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.page-student_chart .progress-evidence-grid .action-section { border-top:3px solid #b7c99d; }
.page-student_chart .progress-evidence-grid .action-section:nth-child(2) { border-top-color:#a3afca; }
.page-student_chart .progress-evidence-grid .action-section:nth-child(3) { border-top-color:#d3ba92; }
@media(max-width:1100px) { .daily-performance-grid { grid-template-columns:1fr; } .snapshot-main { margin:24px 0; } .daily-performance-grid .wellness-hero { min-height:300px; } }
@media(max-width:600px) {
 .daily-performance-grid { gap:16px; }
 .daily-performance-grid .wellness-hero { min-height:300px; padding:26px; }
 .daily-performance-grid .wellness-hero h2 { font-size:30px; }
 .daily-performance-grid .hero-next-action { font-size:12px; }
 .readiness-snapshot { padding:24px; border-radius:24px; }
 .snapshot-main { gap:15px; } .snapshot-main h2 { font-size:22px; }
 .readiness-orbit { flex-basis:44px; height:44px; }
 .snapshot-metrics strong { font-size:27px; }
 .session-row { gap:10px; flex-wrap:wrap; position:relative; padding:18px 0; }
 .session-row time { flex-basis:38px; width:38px; }
 .session-thumbnail { flex-basis:48px; width:48px; height:58px; }
 .session-copy h5 { font-size:14px; }
 .session-copy p { font-size:10px; }
 .session-open { margin-left:96px; font-size:11px; padding:7px 14px; }
 .page-student_chart .evidence-value { font-size:42px; }
}
@media(max-width:600px) {
 .session-row { display:grid; grid-template-columns:38px 48px minmax(0,1fr); gap:12px 10px; }
 .session-open { grid-column:3; justify-self:start; margin-left:0; }
 .session-copy { width:100%; }
}
