.daily-coach-card{position:relative;overflow:hidden;padding:22px;background:linear-gradient(145deg,rgba(20,31,57,.98),rgba(8,14,28,.98));border-color:rgba(217,184,92,.32)}
.daily-coach-card:before{content:"";position:absolute;inset:-120px auto auto 42%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(217,184,92,.13),transparent 68%);pointer-events:none}
.daily-coach-topline,.daily-coach-layout,.daily-coach-actions,.daily-next,.daily-recovery-score{display:flex;align-items:center}
.daily-coach-topline{position:relative;justify-content:space-between;gap:16px;margin-bottom:22px}
.daily-coach-topline h1{margin:4px 0 0;font-size:clamp(1.35rem,4vw,2rem)}
.daily-coach-kicker,.daily-decision-label{display:block;color:var(--gold);font-size:.72rem;font-weight:850;letter-spacing:.13em}
.daily-state-badge{padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.06);font-size:.78rem;font-weight:800}
.daily-state-badge.ok{color:#a7f3d0;border-color:rgba(52,211,153,.35);background:rgba(16,185,129,.12)}
.daily-state-badge.warn{color:#fde68a;border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.12)}
.daily-state-badge.bad{color:#fecaca;border-color:rgba(248,113,113,.38);background:rgba(239,68,68,.12)}
.daily-coach-layout{position:relative;align-items:stretch;gap:22px}
.daily-coach-main{min-width:0;flex:1}
.daily-coach-main h2{margin:7px 0 8px;font-size:clamp(1.45rem,5vw,2.25rem);line-height:1.12}
.daily-decision-copy{max-width:720px;margin:0;color:#d7deeb;line-height:1.55}
.daily-mission-target{margin:10px 0 0;color:var(--muted);font-size:.9rem}
.daily-prescription-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}
.daily-prescription-grid>div{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045)}
.daily-prescription-grid span,.daily-prescription-grid small{color:var(--muted);font-size:.7rem}
.daily-prescription-grid strong{margin:4px 0 2px;font-size:1rem}
.daily-session-preview{margin-top:12px;padding:13px 15px;border-left:3px solid var(--gold);border-radius:0 13px 13px 0;background:rgba(217,184,92,.07)}
.daily-session-preview>span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.daily-session-preview ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:8px 0 0;padding:0;list-style:none}
.daily-session-preview li{position:relative;padding-left:15px;color:#dbe4f4;font-size:.82rem;line-height:1.35}
.daily-session-preview li:before{content:"";position:absolute;left:0;top:.48em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.daily-coach-actions{gap:9px;margin-top:16px}
.daily-coach-actions button{min-height:46px}
.daily-coach-actions .primary{flex:1}
.daily-score-panel{display:flex;width:188px;flex:0 0 188px;flex-direction:column;align-items:center;justify-content:center;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(2,7,16,.34);text-align:center}
.daily-score-panel #scoreCircle.ring.compact{width:116px;height:116px}
.daily-score-panel #scoreCircle.ring.compact:after{inset:8px}
.daily-score-panel #scoreCircle.ring.compact .ring-content strong{font-size:2rem}
.daily-score-panel #scoreCircle.ring.compact .ring-content span{margin-top:4px;font-size:.58rem;letter-spacing:.12em}
.daily-score-panel .hero-countdown{margin:3px 0 12px;font-size:.7rem}
.daily-recovery-score{width:100%;justify-content:space-between;padding-top:11px;border-top:1px solid rgba(255,255,255,.09);font-size:.75rem;color:var(--muted)}
.daily-recovery-score strong{font-size:1.08rem;color:#fff}
.daily-score-panel .recovery-status{margin:8px 0 2px;font-size:.8rem}
.daily-score-panel .recovery-note{margin:0;font-size:.7rem;line-height:1.35}
.daily-why{position:relative;margin-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.daily-why summary,.home-analysis-details>summary{cursor:pointer;list-style:none;font-weight:800}
.daily-why summary{padding:14px 0 4px;color:#dbe4f4}
.daily-why summary:after,.home-analysis-details>summary:after{content:"＋";float:right;color:var(--gold)}
.daily-why[open] summary:after,.home-analysis-details[open]>summary:after{content:"−"}
.daily-why .insight{margin-top:10px}
.daily-reasons{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;padding:0;list-style:none}
.daily-reasons li{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);font-size:.76rem}
.daily-reasons li.ok{color:#a7f3d0;background:rgba(16,185,129,.12)}
.daily-reasons li.warn{color:#fde68a;background:rgba(245,158,11,.12)}
.daily-reasons li.bad{color:#fecaca;background:rgba(239,68,68,.12)}
.daily-context{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:12px;align-items:start}
.daily-context .recommendation-list,.daily-context .smart-banner{margin:0}
.daily-next{position:relative;flex-direction:column;align-items:stretch;gap:9px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.09)}
.home-analysis-details{margin:12px 0 24px;padding:0 14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}
.home-analysis-details>summary{padding:16px 2px}
.home-analysis-content{padding-bottom:2px}
.home-analysis-content>.card{margin-top:0;margin-bottom:12px}
@media(max-width:760px){
 .daily-coach-card{padding:17px}
 .daily-coach-topline{align-items:flex-start;margin-bottom:18px}
 .daily-coach-layout{display:block}
 .daily-score-panel{display:grid;width:auto;grid-template-columns:90px 1fr;grid-template-rows:auto auto auto;column-gap:13px;margin-top:15px;text-align:left}
 .daily-score-panel #scoreCircle.ring.compact{grid-row:1/4;width:86px;height:86px}
 .daily-score-panel #scoreCircle.ring.compact:after{inset:6px}
 .daily-score-panel #scoreCircle.ring.compact .ring-content strong{font-size:1.55rem}
 .daily-score-panel .score-level{align-self:end}
 .daily-score-panel .hero-countdown{margin:1px 0 5px}
 .daily-recovery-score{align-self:start;padding-top:6px}
 .daily-score-panel .recovery-status,.daily-score-panel .recovery-note{display:none}
 .daily-prescription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .daily-session-preview ul{grid-template-columns:1fr}
 .daily-context{grid-template-columns:1fr}
}
@media(max-width:430px){
 .daily-coach-topline h1{font-size:1.25rem}
 .daily-state-badge{padding:6px 8px;font-size:.7rem}
 .daily-coach-main h2{font-size:1.48rem}
 .daily-coach-actions{align-items:stretch;flex-direction:column}
 .daily-coach-actions button{width:100%}
 .home-analysis-details{padding:0 10px}
}

.v56-planning-head{border-color:rgba(105,230,199,.3)}
.v56-planning-head .v5-title-row{align-items:center}
.v56-planning-head .v5-primary{flex:0 0 auto}
.v56-planning-workspace{display:grid;gap:18px;margin-bottom:26px}
.v56-planning-workspace>.card{margin:0;border-color:rgba(105,230,199,.18)}
.calendar-month-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;margin:16px 0 10px}
.calendar-month-nav strong{text-align:center;text-transform:capitalize;font-size:1rem}
.calendar-month-nav button,.planner-week-nav button{min-width:44px;min-height:44px;padding:8px}
.planner-current-period{display:block;width:100%;margin:0 0 14px}
.planner-week-nav+ .planner-current-period{margin-top:10px}
.plan-comparison{margin:14px 0}
.planner-history-mode{opacity:.78}
.planner-history-mode select,.planner-history-mode input{cursor:not-allowed}
@media(max-width:520px){
 .v56-planning-head .v5-title-row{align-items:stretch;flex-direction:column}
 .v56-planning-head .v5-primary{width:100%}
}
.substitution-section{display:grid;gap:3px;margin-top:14px}.substitution-section small{color:var(--muted);line-height:1.35}.substitution-choices,.substitution-search-results{display:grid;gap:8px;margin:10px 0}.substitution-choice,.substitution-search-choice{text-align:left;display:grid;gap:3px}.substitution-choice small,.substitution-search-choice small{color:var(--muted);font-weight:500}.substitution-custom{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.substitution-custom summary{cursor:pointer;font-weight:700}.substitution-custom[open]{display:grid;gap:10px}.substitution-custom button{width:100%}
