.quality-banner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: var(--line);
}
.quality-banner > div { background: #f7f9fc; padding: 16px; display: grid; gap: 4px; }
.quality-banner span, .quality-banner small { font-size: 12px; color: var(--muted); }
.quality-banner strong { font: 600 24px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.quality-banner.quality-blocked > div:first-child { background: #fff8ec; }
.quality-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 20px; }
.quality-score { border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
.quality-score.quality-low { border-color: #d9b86c; background: #fffaf0; }
.quality-score > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.quality-score > div:first-child span { font: 600 22px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.quality-score p, .quality-score small, .quality-check p, .quality-check small,
.requirement-review p, .requirement-review small, .quality-finding p { font-size: 13px; }
.quality-repair { margin-top: 10px; padding: 10px 12px; border-left: 3px solid #7a9bc9; background: #f2f6fc; font-size: 13px; }
.quality-repair b { display: block; margin-bottom: 3px; }
.quality-details { border-top: 1px solid var(--line); padding: 14px 0; }
.quality-details summary { font-weight: 700; cursor: pointer; }
.quality-check-list, .requirement-review-list, .quality-finding-list { display: grid; gap: 10px; margin-top: 12px; }
.quality-check, .requirement-review { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.quality-check p, .requirement-review p { margin: 4px 0; }
.check-mark { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; font-weight: 800; background: #eff5fd; color: #276452; flex: 0 0 auto; }
.check-mark.fail { background: #fff0ed; color: #9b3d2f; }
.check-mark.warn { background: #fff8e9; color: #8a6414; }
.requirement-review > .pill { flex: 0 0 auto; }
.quality-finding { border: 1px solid var(--line); border-left: 4px solid #c59a39; border-radius: 10px; padding: 15px; }
.quality-finding.severity-critical { border-left-color: #9b3d2f; }
.quality-finding.severity-major { border-left-color: #c26b3f; }
.quality-finding.severity-minor { border-left-color: #c59a39; }
@media (max-width: 800px) {
  .quality-banner, .quality-score-grid { grid-template-columns: 1fr; }
}
