.challenge-wrap{padding:48px 0 84px}.challenge-intro{max-width:760px;margin-bottom:34px}.challenge-intro h1,.challenge-intro h2{font:800 clamp(28px,3.4vw,40px)/1.2 Manrope,sans-serif;letter-spacing:-1px;margin:0 0 16px}.challenge-intro>p:last-child{font-size:17px;color:var(--muted);max-width:680px}.challenge-dashboard{background:#edf1e9;border:1px solid #dfe7dc;padding:28px;margin-bottom:58px}.challenge-progress-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.challenge-kicker{font-size:13px;letter-spacing:1.8px;font-weight:800;color:#57715f}.challenge-progress-head h2,.challenge-days-heading h2{font:800 clamp(25px,3vw,34px)/1.2 Manrope,sans-serif;letter-spacing:-1px;margin:8px 0}.challenge-progress-head p,.challenge-days-heading>p{font-size:14px;color:#5f6d64;margin:0}.challenge-score{min-width:100px;text-align:center;border-left:1px solid #d3ded1;padding-left:24px}.challenge-score strong{display:block;font:800 34px Manrope;color:#315c49}.challenge-score span{font-size:13px;color:#5f6d64}.challenge-progress-track{height:10px;background:#d7e1d5;border-radius:20px;overflow:hidden;margin-top:24px}.challenge-progress-track span{display:block;height:100%;background:#477454;border-radius:20px;transition:width .2s ease}.challenge-stats{display:flex;justify-content:space-between;gap:15px;font-size:14px;color:#5f6d64;margin-top:10px}.challenge-stats b{color:#21352f}.challenge-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}.challenge-button{min-height:48px;border:0;border-radius:5px;background:#315c49;color:white;padding:12px 20px;font:700 14px "DM Sans",sans-serif;cursor:pointer}.challenge-started{font-size:13px;font-weight:700;color:#315c49}.challenge-reset{min-height:44px;border:0;background:transparent;color:#616f65;text-decoration:underline;text-underline-offset:3px;font:600 14px "DM Sans",sans-serif;cursor:pointer}.challenge-storage-warning{font-size:14px;color:#9a542f}.challenge-days-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.challenge-days-heading>p{max-width:360px}.challenge-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.challenge-day{min-width:0;background:var(--paper);border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;min-height:290px}.challenge-day.is-today{border:2px solid #8aa58b;padding:19px;background:#f4f7f1}.challenge-day.is-complete{background:#f1f5ef}.challenge-day-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px;font-weight:800;letter-spacing:1px;color:#626e63}.challenge-done-label,.challenge-today-label{font-size:13px;letter-spacing:0;color:#315c49;background:#e1ecdf;padding:5px 8px;border-radius:20px;white-space:nowrap}.challenge-day h3{font:700 19px/1.35 Manrope,sans-serif;margin:12px 0 9px;color:var(--ink)}.challenge-day p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 8px}.challenge-day>small{font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:12px}.challenge-check{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;border-top:1px solid var(--line);padding-top:6px;font-size:15px;font-weight:700;color:var(--green);cursor:pointer}.challenge-check input{width:20px;height:20px;accent-color:#315c49;flex:0 0 auto}.challenge-local-note{margin-top:28px;padding:16px 18px;border-left:3px solid #c18a5b;background:#f3f0e8;color:#5f6d64;font-size:14px;line-height:1.65}body.theme-dark .challenge-dashboard{background:#223229;border-color:#405145}body.theme-dark .challenge-progress-head p,body.theme-dark .challenge-days-heading>p,body.theme-dark .challenge-score span,body.theme-dark .challenge-stats{color:#bac8bd}body.theme-dark .challenge-score strong,body.theme-dark .challenge-stats b{color:#e7eee8}body.theme-dark .challenge-progress-track{background:#405145}body.theme-dark .challenge-progress-track span{background:#a8c5aa}body.theme-dark .challenge-button{background:#b8d0b8;color:#17231d}body.theme-dark .challenge-started,body.theme-dark .challenge-check{color:#c2d9c2}body.theme-dark .challenge-day{background:#26372d;border-color:#405145}body.theme-dark .challenge-day.is-today,body.theme-dark .challenge-day.is-complete{background:#2d4033}body.theme-dark .challenge-day-top{color:#bac8bd}body.theme-dark .challenge-done-label,body.theme-dark .challenge-today-label{background:#405b46;color:#f0f5ef}body.theme-dark .challenge-local-note{background:#293a30;color:#d4dfd5}body.theme-dark .challenge-check{border-color:#405145}@media(max-width:850px){.challenge-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.challenge-wrap{padding:35px 0 60px}.challenge-intro h1,.challenge-intro h2{font-size:28px;letter-spacing:-.6px}.challenge-intro>p:last-child{font-size:15px}.challenge-dashboard{padding:20px;margin-bottom:44px}.challenge-progress-head{align-items:flex-start}.challenge-progress-head h2{font-size:25px}.challenge-score{min-width:74px;padding-left:13px}.challenge-score strong{font-size:27px}.challenge-stats{font-size:13px}.challenge-days-heading{display:block}.challenge-days-heading>p{margin-top:10px}.challenge-day-grid{grid-template-columns:minmax(0,1fr);gap:12px}.challenge-day{min-height:0;padding:15px 18px}.challenge-day.is-today{padding:14px 17px}.challenge-day h3{font-size:19px}.challenge-day p{font-size:14px}.challenge-day>small{font-size:14px}.challenge-local-note{font-size:13px}}@media(prefers-reduced-motion:reduce){.challenge-progress-track span{transition:none}}
/* Chặng thu gọn: chỉ mở chặng của hôm nay, chạm để mở chặng khác (2026-11-05) */
.challenge-phase-group{margin-bottom:12px}
.challenge-phase-group>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:60px;padding:12px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;cursor:pointer;list-style:none}
.challenge-phase-group>summary::-webkit-details-marker{display:none}
.challenge-phase-group>summary::after{content:"";flex:0 0 10px;width:10px;height:10px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s}
.challenge-phase-group[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.challenge-phase-group[open]>summary{margin-bottom:12px;border-color:#8aa58b}
.challenge-phase-name{flex:1;min-width:0}
.challenge-phase-name b{display:block;font:700 18px/1.3 Manrope,sans-serif;color:var(--ink)}
.challenge-phase-name small{display:block;font-size:14px;color:#616f65}
.challenge-phase-count{font:700 15px Manrope,sans-serif;color:var(--green);white-space:nowrap}
body.theme-dark .challenge-phase-group>summary{background:#26372d;border-color:#405145}
body.theme-dark .challenge-phase-name small{color:#bac8bd}
body.theme-dark .challenge-phase-count{color:#c2d9c2}
@media(prefers-reduced-motion:reduce){.challenge-phase-group>summary::after{transition:none}}
/* Chương trình 7 ngày ăn uống tốt hơn (7-ngay-an-uong-tot-hon.html) — dùng lại thẻ ngày của Hành trình 30 ngày */
.program-steps{margin:0;padding-left:20px;max-width:680px}
.program-steps li{padding:4px 0}
.program-day-grid{margin-bottom:34px}
.program-day p{font-size:15px;color:var(--ink)}
.program-day .program-how{margin:0 0 10px;padding-left:18px;font-size:15px;line-height:1.6;color:var(--muted)}
.program-day .program-how li{padding:2px 0}
.program-day .program-why{color:var(--muted)}
.program-day .program-more{display:inline-flex;align-items:center;min-height:44px;margin-bottom:6px;color:var(--green);font-size:15px}
.program-signup{background:#edf1e9;border:1px solid #dfe7dc;border-radius:12px;padding:26px;margin:34px 0}
.program-signup h2{font:800 clamp(24px,3vw,30px)/1.25 Manrope,sans-serif;letter-spacing:-.6px;margin:0 0 10px}
.program-signup>p{color:var(--muted);max-width:680px}
#tien-do p a,.challenge-local-note a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
body.theme-dark .program-signup{background:var(--paper);border-color:var(--line)}
body.theme-dark .program-day .program-more{color:#c2d9c2}
@media(max-width:650px){.program-signup{padding:20px}.program-day p,.program-day .program-how{font-size:15px}}
