.coach-status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; color: inherit; font: 600 .82rem/1.5 "Segoe UI", system-ui, sans-serif; letter-spacing: 0; }
.coach-status__dot { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: #85929a; }
.coach-status[data-state="online"] .coach-status__dot { background: #258048; }
.coach-status[data-state="offline"] .coach-status__dot { background: #bd3434; }
[data-coach-status] { margin: 10px 0; }
.app-shell-page [data-review] > [data-coach-status] { color: #b8d7d4; }
.practice-body #reviewList, .app-shell-page .review-list { grid-template-columns: minmax(0, 1fr); }
.review-list > .review-card { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.review-coach {
  min-width: 0;
  max-width: 100%;
  margin: 22px 0 0;
  border-top: 1px solid #abbfc6;
  color: #233945;
  font: 400 1rem/1.6 "Segoe UI", system-ui, sans-serif;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.review-coach, .review-coach * { box-sizing: border-box; }
.review-coach > summary.review-coach__toggle {
  padding: 16px 0;
  color: #235366;
  cursor: pointer;
  font: 600 .95rem/1.5 "Segoe UI", system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  min-height: 48px;
}
.review-coach__toggle::marker { color: #326879; }
.review-coach__body { padding: 0 0 8px; width: 100%; min-width: 0; max-width: 880px; }
.review-coach__form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 6px; min-width: 0; width: 100%; }
.review-coach__form > * { min-width: 0; max-width: 100%; }
.review-coach__form label { font-weight: 600; font-size: .9rem; }
.review-coach textarea.review-coach__reasoning {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 100px;
  max-height: 320px;
  resize: vertical;
  border: 1px solid #8ba8b4;
  border-radius: 4px;
  background: #fff;
  color: #203541;
  padding: 12px;
  font: 400 1rem/1.6 "Segoe UI", system-ui, sans-serif;
}
.review-coach p.review-coach__hint, .review-coach__count { font-size: .8rem; margin: 0; color: #526673; }
.review-coach__count { display: block; justify-self: end; text-align: right; font-variant-numeric: tabular-nums; }
.review-coach__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.review-coach__actions button {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #245569;
  border-radius: 4px;
  color: #fff;
  background: #245569;
  font: 600 .9rem/1.45 "Segoe UI", system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  cursor: pointer;
}
.review-coach__actions button:hover:not(:disabled) { background: #173f51; }
.review-coach__actions .review-coach__cancel { background: transparent; color: #245569; }
.review-coach__actions .review-coach__cancel:hover { background: #e3eef1; }
.review-coach__actions button:disabled { opacity: .65; cursor: wait; }
.review-coach :focus-visible, .exam-review :focus-visible { outline: 3px solid #287eaa; outline-offset: 3px; }
.review-coach p.review-coach__status { min-height: 1.5em; color: #455a67; font-size: .9rem; margin: 12px 0; }
.review-coach__output:empty { display: none; }
.review-coach__output { border-left: 3px solid #4b8a8d; padding-left: 18px; margin-top: 18px; }
.review-coach p.review-coach__result-label { font-size: .78rem; font-weight: 700; color: #366366; margin: 0 0 6px; }
.review-coach p.review-coach__assessment { font-size: .88rem; color: #455a67; margin: 0 0 22px; }
.review-coach .review-coach__section { margin: 0 0 20px; padding: 0; background: none; border: 0; box-shadow: none; }
.review-coach h4 { font: 700 .97rem/1.5 "Segoe UI", system-ui, sans-serif; color: #233945; margin: 0 0 6px; text-transform: none; letter-spacing: 0; }
.review-coach__section p { font: 400 .97rem/1.7 "Segoe UI", system-ui, sans-serif; color: #233945; margin: 0; white-space: pre-wrap; }
.review-coach__sources { padding-left: 20px; margin: 8px 0 18px; }
.review-coach__sources li { padding: 3px 0; }
.review-coach__sources a { color: #23576d; text-decoration: underline; font-size: .9rem; }
.review-coach p.review-coach__disclaimer { font-size: .8rem; line-height: 1.6; color: #526673; margin: 20px 0 0; }
.review-coach [hidden], .exam-review[hidden], .exam-review [hidden], #reviewList [hidden] { display: none !important; }
.exam-review {
  width: 100%;
  padding: 28px;
  background: #f6f9fa;
  color: #233945;
  border-top: 3px solid #a98e46;
  font: 400 1rem/1.65 "Segoe UI", system-ui, sans-serif;
}
.exam-review h2 { font: 700 1.55rem/1.35 "Segoe UI", system-ui, sans-serif; margin: 0 0 14px; color: #233945; text-transform: none; }
.exam-review__counts { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 16px 0; color: #384f5e; }
.exam-review__filters, .exam-review__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.exam-review button { min-height: 44px; border: 1px solid #7896a5; border-radius: 4px; padding: 10px 16px; background: #fff; color: #24485c; font: 600 .9rem/1.4 "Segoe UI", system-ui, sans-serif; letter-spacing: 0; box-shadow: none; text-transform: none; cursor: pointer; }
.exam-review button:hover { background: #e9f1f5; }
.exam-review button[aria-pressed="true"], .exam-review .exam-review__submit { background: #245569; color: #fff; border-color: #245569; }
.exam-review__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.exam-review__list button { display: grid; gap: 5px; text-align: left; min-height: 74px; align-content: start; }
.exam-review__list span { font-size: .8rem; font-weight: 400; }
.exam-review__list .exam-review__unanswered { border-left: 3px solid #a66b2b; }
.exam-review__notice { color: #684a20; font-size: .9rem; }
@media (max-width: 600px) {
  .exam-review { padding: 20px 16px; }
  .exam-review__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exam-review__list button { padding: 10px; }
  .review-coach__output { padding-left: 12px; }
}
@media print { .review-coach__form, .review-coach__status, .exam-review { display: none; } }
