.vaf-editor,
.vaf-rubric-form,
.vaf-key-panel { display: grid; gap: 18px; }
.vaf-field { display: grid; gap: 8px; min-width: 0; }
.vaf-label {
  color: var(--muted); font: 700 .68rem/1.2 var(--mono);
  letter-spacing: .12em; text-transform: uppercase;
}
.vaf-input {
  width: 100%; box-sizing: border-box; border: 1px solid var(--edge);
  border-radius: 10px; padding: 11px 13px; background: #080d0b; color: var(--text);
  font: .9rem/1.5 var(--sans);
}
.vaf-input:focus { border-color: var(--phosphor); outline: 2px solid rgba(124,255,79,.2); }
textarea.vaf-input { min-height: 112px; resize: vertical; }
.vaf-json-field textarea { min-height: 380px; font-family: var(--mono); font-size: .73rem; tab-size: 2; }
.vaf-feedback { min-height: 1.25rem; color: #ff8b7c; font-size: .82rem; }
.vaf-errors { display: grid; gap: 9px; margin-top: 14px; }
.vaf-error-row {
  display: grid; grid-template-columns: minmax(150px, .7fr) minmax(130px, .8fr) minmax(220px, 2fr);
  gap: 12px; align-items: start; padding: 10px 12px; border: 1px solid rgba(255,90,90,.24);
  border-radius: 8px; background: rgba(255,90,90,.04);
}
.vaf-error-row code { color: #ff8b7c; overflow-wrap: anywhere; }
.vaf-error-row p { margin: 0; color: var(--text); }
.vaf-pointer { color: var(--muted); font-family: var(--mono); overflow-wrap: anywhere; }
.vaf-version-row,
.vaf-assignment-row,
.vaf-audit-row,
.vaf-aggregate-row {
  padding: 10px 0; border-bottom: 1px solid var(--edge); color: var(--muted);
  font-family: var(--mono); font-size: .75rem; overflow-wrap: anywhere;
}
.vaf-version-row:last-child,
.vaf-assignment-row:last-child,
.vaf-audit-row:last-child,
.vaf-aggregate-row:last-child { border-bottom: 0; }
.vaf-aggregate-row { display: flex; justify-content: space-between; gap: 18px; text-transform: capitalize; }
.vaf-aggregate-row strong { color: var(--text); }
.vaf-json-preview {
  max-height: 560px; overflow: auto; margin: 18px 0 0; padding: 14px; border: 1px solid var(--edge);
  border-radius: 10px; background: #070b09; color: #b9c8be; font: .72rem/1.55 var(--mono);
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.vaf-score-field { display: grid; grid-template-columns: minmax(180px, 1fr) 140px; gap: 16px; align-items: center; }
.vaf-check { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: .82rem; }
.vaf-check input { margin-top: 3px; }
.vaf-dqs { color: var(--phosphor); font: 800 clamp(2.6rem, 8vw, 5rem)/1 var(--mono); letter-spacing: -.06em; }
@media (max-width: 720px) {
  .vaf-error-row { grid-template-columns: 1fr; gap: 5px; }
  .vaf-score-field { grid-template-columns: 1fr; gap: 7px; }
  .vaf-aggregate-row { display: grid; gap: 5px; }
  .vaf-json-field textarea { min-height: 280px; }
}
