:root {
  --quality-ink: #171719;
  --quality-gold: #a98b54;
  --quality-gold-soft: #f5efe3;
  --quality-green: #24704f;
  --quality-green-soft: #eaf5ef;
  --quality-amber: #94631f;
  --quality-amber-soft: #fff4df;
  --quality-red: #a6453c;
  --quality-red-soft: #faece9;
  --quality-line: #ddd8ce;
  --quality-muted: #6f7479;
}

.content-quality-review {
  margin: 16px 0;
  overflow: hidden;
  border: 1px solid var(--quality-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(24, 24, 26, .06);
  color: var(--quality-ink);
  text-align: left;
}

#social > .card-body.grid > .content-quality-review {
  grid-column: 1 / -1;
}

.content-quality-review.is-blocked {
  border-color: #d7bb89;
}

.content-quality-review.is-ready,
.content-quality-review.is-approved {
  border-color: #9dc9b1;
}

.quality-review-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px 15px;
  border-bottom: 1px solid #ece9e3;
  background: linear-gradient(120deg, #fff, #faf8f3);
}

.quality-review-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: #8a6e3c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.quality-review-head h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.quality-review-head p {
  max-width: 720px;
  margin: 5px 0 0;
  color: var(--quality-muted);
  font-size: 11px;
  line-height: 1.6;
}

.quality-review-status {
  flex: none;
  padding: 6px 10px;
  border-radius: 999px;
  background: #efefed;
  color: #686d72;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.quality-review-status.warn {
  background: var(--quality-amber-soft);
  color: var(--quality-amber);
}

.quality-review-status.good {
  background: var(--quality-green-soft);
  color: var(--quality-green);
}

.quality-review-body {
  padding: 16px 18px 18px;
}

.quality-review-context {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.quality-review-context span {
  padding: 5px 8px;
  border-radius: 5px;
  background: #f4f3f0;
  color: #62676c;
  font-size: 10px;
  line-height: 1.3;
}

.quality-review-context span:first-child {
  background: #242426;
  color: #fff;
  font-weight: 700;
}

.quality-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.quality-score-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 92px;
  padding: 12px;
  border: 1px solid #e5e2dc;
  border-radius: 8px;
  background: #fafaf8;
}

.quality-score-value {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 5px solid #d5d5d2;
  border-radius: 50%;
  color: #777b7f;
  font-size: 22px;
  font-weight: 750;
  line-height: 1;
}

.quality-score-card.warn .quality-score-value {
  border-color: #d6ae66;
  color: var(--quality-amber);
}

.quality-score-card.good .quality-score-value {
  border-color: #72b391;
  color: var(--quality-green);
}

.quality-score-copy strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}

.quality-score-copy span,
.quality-score-copy small {
  display: block;
  color: var(--quality-muted);
  font-size: 10px;
  line-height: 1.5;
}

.quality-score-copy span {
  margin-bottom: 3px;
  color: #35383b;
  font-weight: 650;
}

.quality-review-findings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.quality-finding {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  border-radius: 7px;
  background: #f6f6f3;
}

.quality-finding > span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--quality-green-soft);
  color: var(--quality-green);
  font-size: 11px;
  font-weight: 800;
}

.quality-finding.warn > span {
  background: var(--quality-amber-soft);
  color: var(--quality-amber);
}

.quality-finding strong,
.quality-finding small {
  display: block;
}

.quality-finding strong {
  margin-bottom: 2px;
  font-size: 11px;
  line-height: 1.4;
}

.quality-finding small {
  color: var(--quality-muted);
  font-size: 10px;
  line-height: 1.5;
}

.quality-channel-grid {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}

.quality-channel-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 78px 78px minmax(150px, 1.5fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #ebe8e2;
  border-radius: 6px;
  font-size: 10px;
}

.quality-channel-row strong {
  font-size: 11px;
}

.quality-channel-score {
  font-weight: 700;
}

.quality-channel-score.good {
  color: var(--quality-green);
}

.quality-channel-score.warn {
  color: var(--quality-amber);
}

.quality-channel-note {
  color: var(--quality-muted);
  line-height: 1.45;
}

.quality-review-footnote {
  margin: 11px 0 0;
  color: #777c80;
  font-size: 10px;
  line-height: 1.55;
}

.quality-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}

.quality-review-actions button {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #cfd1d2;
  border-radius: 6px;
  background: #fff;
  color: #242628;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
}

.quality-review-actions button:hover:not(:disabled) {
  border-color: #9e814d;
}

.quality-review-actions button.primary {
  border-color: #171719;
  background: #171719;
  color: #fff;
}

.quality-review-actions button.gold {
  border-color: #a98b54;
  background: #a98b54;
  color: #fff;
}

.quality-review-actions button:disabled {
  cursor: default;
  opacity: .45;
}

.quality-human-confirm {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 6px;
  background: var(--quality-green-soft);
  color: #245f45;
  font-size: 10px;
  font-weight: 650;
}

.quality-human-confirm input {
  width: 15px;
  height: 15px;
  accent-color: var(--quality-green);
}

.quality-review-message {
  width: 100%;
  margin: 2px 0 0;
  color: var(--quality-muted);
  font-size: 10px;
  line-height: 1.5;
}

.quality-review-message.warn {
  color: var(--quality-amber);
}

.quality-review-message.good {
  color: var(--quality-green);
}

.content-quality-proof {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  margin-top: 8px;
}

.content-quality-proof span {
  padding: 4px 7px;
  border: 1px solid #b8d9c7;
  border-radius: 999px;
  background: var(--quality-green-soft);
  color: var(--quality-green);
  font-size: 9px;
  font-weight: 700;
}

.content-quality-proof span:first-child {
  border-color: #d9c49e;
  background: var(--quality-gold-soft);
  color: #806639;
}

.content-quality-review.compact .quality-review-head {
  padding: 12px 14px;
}

.content-quality-review.compact .quality-review-body {
  padding: 12px 14px 14px;
}

.content-quality-review.compact .quality-score-card {
  min-height: 74px;
}

.content-quality-review.compact .quality-score-value {
  width: 50px;
  height: 50px;
  border-width: 4px;
  font-size: 18px;
}

.content-quality-review.compact .quality-score-card {
  grid-template-columns: 50px minmax(0, 1fr);
}

body[data-suite="portal"] .content-quality-review {
  font-size: 12px;
}

body[data-suite="portal"] .cc-content-card .content-quality-proof {
  margin-top: 7px;
}

body[data-suite="portal"] .quality-review-actions button {
  min-height: 32px;
}

.wecom-card .content-quality-proof,
.chat-sop .content-quality-proof {
  margin: 10px 0 2px;
}

.quality-review-modal[hidden] {
  display: none !important;
}

.quality-review-modal {
  position: fixed;
  inset: 0;
  z-index: 1800;
  display: grid;
  place-items: center;
  padding: 24px;
}

.quality-review-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 16, 18, .64);
  cursor: pointer;
}

.quality-review-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(880px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 12px;
  background: #f7f6f2;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}

.quality-review-modal-content {
  padding: 20px;
}

.quality-review-modal-content .content-quality-review {
  margin: 0;
}

.quality-review-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #d8d5ce;
  border-radius: 50%;
  background: #fff;
  color: #3e4246;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

body.quality-review-modal-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .quality-review-head,
  .quality-score-grid,
  .quality-review-findings {
    display: grid;
    grid-template-columns: 1fr;
  }

  .quality-review-status {
    justify-self: start;
  }

  .quality-channel-row {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .quality-channel-note {
    grid-column: 1 / -1;
  }

  .quality-human-confirm {
    width: 100%;
  }
}
