.coach-review { max-width: 820px; margin: 0 auto; padding: 20px 0; color: #eee; }
.coach-review h2, .coach-review h3 { color: #fff; }
.review-panel { padding: clamp(16px, 3vw, 28px); margin: 16px 0; background: #141414; border: 1px solid #444; border-radius: 18px; overflow-wrap: anywhere; }
.review-panel label { display: block; font-weight: 600; margin: 18px 0 6px; }
.review-panel input, .review-panel textarea, .review-panel select { width: 100%; min-width: 0; font: inherit; color: #fff; background: #202020; border: 1px solid #666; border-radius: 10px; padding: 12px; }
.review-panel textarea { resize: vertical; }
.review-panel select { min-height: 48px; }
.review-panel input[type=checkbox] { width: 22px; height: 22px; flex: 0 0 auto; accent-color: #ff8b18; }
.review-panel .review-consent { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.review-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.review-actions .btn { min-height: 48px; white-space: normal; text-align: center; }
.review-panel :focus-visible { outline: 3px solid #ffb44b; outline-offset: 3px; }
.review-panel ol { padding-left: 24px; }
.review-panel li { padding-left: 4px; margin: 12px 0; }
.review-muted { color: #bbb; font-size: .93rem; }
.review-warning { border-left: 3px solid #ffad36; padding-left: 14px; }
.review-steps { color: #ffac42; font-weight: 700; }
.coach-review [hidden] { display: none !important; }
.review-shortcut[hidden] { display: none !important; }
#reviewSaved, #reviewStep { scroll-margin-top: 86px; }
.review-shortcut { display: block; margin: 14px 0; padding: 16px 20px; border: 1px solid #999; border-radius: 14px; color: #fff; background: #1b1b1b; text-decoration: none; text-align: left; width: 100%; min-height: 64px; }
.review-shortcut strong { display: block; color: #ffad36; font-size: 1.15rem; }
.review-shortcut small { display: block; margin-top: 6px; color: #ddd; }
@media(max-width: 500px) { .review-actions > * { flex: 1 1 160px; } .coach-review { padding-top: 8px; } }
.review-panel > summary { min-height: 44px; padding: 9px 0; cursor: pointer; }
.review-panel input:not([type=checkbox]), .review-panel textarea, .review-panel select { font-size: 16px; }
.review-panel textarea { min-height: 128px; }
.review-panel .review-consent { min-height: 44px; cursor: pointer; }
.coach-review:has(#coachReviewForm:not([hidden])) #reviewNew { display: none; }
