main.review {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 0 64px;
}

.review-title {
  font-size: 1.75rem;
  margin: 8px 0 4px;
}

.muted {
  color: var(--muted);
}

.sub {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 18px;
}

.sub-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.sub-head h2 {
  margin: 0 0 4px;
  font-size: 19px;
}

.badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.badge {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  text-transform: capitalize;
}

.risk-low { background: #e7f6ee; color: var(--success); border-color: #bfe6cf; }
.risk-medium { background: #fdf3e2; color: var(--warning); border-color: #f3dcae; }
.risk-high { background: #fdeceb; color: var(--danger); border-color: #f4c4bf; }
.status-pending_review { background: var(--panel-strong); color: var(--muted); }
.status-approved { background: #e7f6ee; color: var(--success); }
.status-rejected { background: #fdeceb; color: var(--danger); }

.findings { margin: 14px 0; padding: 0; list-style: none; }
.findings li {
  font-size: 14px;
  padding: 8px 12px;
  border-radius: 8px;
  margin-bottom: 6px;
  border-left: 3px solid var(--line);
  background: var(--panel-strong);
}

.f-high { border-left-color: var(--danger); }
.f-warn { border-left-color: var(--warning); }
.f-info { border-left-color: var(--accent); }

.meta { font-size: 14px; color: var(--muted); margin: 10px 0; }
.meta code { color: var(--text); }

.tools { font-size: 14px; margin: 8px 0; }
.tools .tool { padding: 6px 0; border-top: 1px solid var(--line); }

.actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }

.admin-key-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
}

.admin-key-row input {
  flex: 1;
  min-width: 200px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
}

.admin-key-row input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-color: var(--accent);
}

.state-card {
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.state-card.is-error {
  border-color: #f4c4bf;
  background: #fff8f7;
  color: var(--danger);
}

.btn.danger { border-color: var(--danger); color: var(--danger); }
.btn.danger:hover { background: var(--danger); color: #fff; }
.btn.small { padding: 8px 16px; font-size: 14px; }
