.review-host { min-width: 0; max-width: 100%; }
.author-block .review-host { margin-top: 0; }
.otel-layout .review-host,
.tur-layout .review-host { margin-top: 28px; }

.review-lead { margin: 0 0 14px; color: #6b7280; }

.review-score {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin: 0 0 14px;
}
.review-score strong { font-size: 1.35rem; letter-spacing: -0.02em; }
.review-score span { color: #6b7280; }

.review-list { display: grid; min-width: 0; }
.review-list[hidden] { display: none !important; }

.review-row {
  display: flex;
  gap: 16px;
  min-width: 0;
  padding: 22px 0;
  border-bottom: 1px solid #f3f4f6;
}
.review-row:first-child { padding-top: 4px; }
.review-row:last-child { border-bottom: 0; padding-bottom: 0; }
.review-row > div { min-width: 0; }

.review-stars { color: #f5b400; display: flex; gap: 2px; font-size: 0.85rem; }
.review-stars .fa-regular { color: #d1d5db; }

.review-face {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0b2f6b;
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  flex: 0 0 40px;
}

.review-row p,
.review-own p { margin: 8px 0; color: #374151; overflow-wrap: anywhere; }
.review-row strong,
.review-own strong { display: block; }
.review-row time,
.review-own time { color: #6b7280; font-size: 0.86rem; }

.review-form {
  display: grid;
  gap: 12px;
  max-width: 640px;
  width: 100%;
  margin: 0 0 16px;
}
.review-form[hidden] { display: none !important; }
.review-hint,
.review-note { margin: 0; color: #6b7280; }
.review-note[hidden] { display: none !important; }
.review-note.is-ok { color: #166534; }
.review-note.is-bad { color: #be123c; }

.star-pick { display: flex; flex-wrap: wrap; gap: 2px; max-width: 100%; }
.star-pick button {
  border: 0;
  background: transparent;
  color: #d1d5db;
  font-size: 1.35rem;
  line-height: 1;
  padding: 2px;
  cursor: pointer;
}
.star-pick button.is-on,
.star-pick button.is-hot { color: #f5b400; }
.star-pick button:focus-visible {
  outline: 2px solid #0b2f6b;
  outline-offset: 2px;
  border-radius: 6px;
}

.review-form textarea {
  width: 100%;
  max-width: 100%;
  min-height: 120px;
  resize: vertical;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  color: inherit;
  background: #fff;
}
.review-form textarea:focus {
  outline: 0;
  border-color: #0b2f6b;
  box-shadow: 0 0 0 3px rgba(11, 47, 107, 0.12);
}
.review-submit {
  justify-self: start;
  border: 0;
  background: #171717;
  color: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  cursor: pointer;
}
.review-submit:disabled { opacity: 0.6; cursor: default; }

.review-own {
  display: grid;
  gap: 8px;
  max-width: 640px;
  margin: 0 0 16px;
  min-width: 0;
}
.review-own[hidden] { display: none !important; }

.review-gate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  color: #374151;
}
.review-gate a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: #0b2f6b;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.review-gate a:last-of-type {
  background: #fff;
  color: #0b2f6b;
  border: 1px solid #d5deea;
}
.review-gate[hidden] { display: none !important; }

.review-pages {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
}
.review-pages[hidden] { display: none !important; }
.review-pages a,
.review-pages span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 999px;
  text-decoration: none;
  color: inherit;
}
.review-pages a { border: 1px solid #e5e7eb; }
.review-pages .is-on { background: #171717; color: #fff; }
.review-pages .is-off,
.review-pages .is-gap { color: #9ca3af; }

.review-filters { min-width: 0; margin-bottom: 14px; }
.review-filters .dash-input { width: 100%; max-width: 100%; }

.review-flag {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}
.review-flag.is-wait { background: #fff7e8; color: #7c4a03; }
.review-flag.is-live { background: #ecfdf3; color: #14532d; }

.review-record { min-width: 0; }
.review-record p,
.review-record strong,
.review-record span { overflow-wrap: anywhere; }
.review-record .row-actions { max-width: 100%; }

@media (max-width: 420px) {
  .review-row { gap: 10px; }
  .review-submit,
  .review-record .btn-ok { max-width: 100%; }
}

html[data-theme="dark"] .review-lead,
html[data-theme="dark"] .review-score span,
html[data-theme="dark"] .review-hint,
html[data-theme="dark"] .review-gate,
html[data-theme="dark"] .review-row time,
html[data-theme="dark"] .review-own time { color: #9fb0c7; }
html[data-theme="dark"] .review-row,
html[data-theme="dark"] .review-own { border-color: #243044; }
html[data-theme="dark"] .review-row p,
html[data-theme="dark"] .review-own p { color: #d7e0ec; }
html[data-theme="dark"] .review-form textarea { background: #101826; border-color: #243044; color: inherit; }
html[data-theme="dark"] .review-gate a { color: #e8edf5; }
html[data-theme="dark"] .review-pages a { border-color: #243044; }
html[data-theme="dark"] .review-note.is-ok { color: #86efac; }
html[data-theme="dark"] .review-note.is-bad { color: #fda4af; }
html[data-theme="dark"] .review-flag.is-wait { background: #3b2a12; color: #fde68a; }
html[data-theme="dark"] .review-flag.is-live { background: #052e1a; color: #86efac; }

.story-table.review-table { min-width: 920px; }
.story-table.review-table th:last-child,
.story-table.review-table td:last-child { position: static; background: transparent; width: 72px; }
.review-user { min-width: 0; }
.review-user strong,
.review-user span { display: block; overflow-wrap: anywhere; }
.review-user [hidden],
.review-more[hidden] { display: none !important; }
.review-user span { color: var(--muted, #667085); font-size: 0.82rem; }
.review-copy-wrap { min-width: 0; max-width: 360px; }
.review-clamp {
  display: -webkit-box;
  margin: 0;
  max-width: 360px;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.review-clamp.is-open {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.review-more {
  margin-top: 6px;
  min-height: 32px;
  padding: 4px 10px;
  font-size: 0.78rem;
}
.review-approved { font-weight: 700; color: #14532d; white-space: nowrap; }
.review-table .story-del:disabled,
.review-card .story-del:disabled { opacity: 0.55; cursor: default; }
.review-cards { display: grid; gap: 12px; }
.review-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--dash-line, #e6ebf2);
  border-radius: 16px;
}
.review-card-top { display: grid; gap: 6px; min-width: 0; }
.review-card time { color: var(--muted, #667085); font-size: 0.86rem; }
.review-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #eef1f6;
}
.review-card .review-copy-wrap,
.review-card .review-clamp { max-width: none; }

html[data-theme="dark"] .review-approved { color: #86efac; }
html[data-theme="dark"] .review-user span,
html[data-theme="dark"] .review-card time { color: #9fb0c7; }
html[data-theme="dark"] .review-card {
  background: #121a2b;
  border-color: #2c3b54;
}
html[data-theme="dark"] .review-card-actions { border-top-color: #2c3b54; }
