/* #1800 PR 2 — Admin → coding engines per agent (web/admin-coding-svc*.js).
   Theme tokens only, no colour literals. Badges reuse the opaque chip idea from
   AI Roles (a translucent tint's contrast depends on what sits behind it). */
.csv-root { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.csv-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.csv-row { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg-2); padding: 8px 12px; }
.csv-row-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.csv-agent { font-family: var(--font-mono); color: var(--text); overflow-wrap: anywhere; flex: 1 1 12em; }
.csv-badge { border-color: color-mix(in srgb, var(--warning) 70%, var(--line)); }
.csv-editor-host:empty { display: none; }
.csv-form { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; }
.csv-engines,
.csv-budgets { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.csv-engines legend,
.csv-budgets legend { color: var(--text); font-weight: 600; padding: 0 4px; }
.admin-form label.csv-choice { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 8px; min-height: 44px; color: var(--text); text-align: left; font-weight: 500; }
.admin-form label.csv-choice input { flex: 0 0 auto; width: 20px; height: 20px; min-height: 0; margin: 0; }
.csv-engine-id { font-family: var(--font-mono); overflow-wrap: anywhere; }
.csv-tag { display: inline-block; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; background: var(--bg-3); border: 1px solid var(--line); color: var(--text); }
.csv-tag-widen { border-color: var(--warning); }
.csv-field { display: flex; flex-direction: column; gap: 4px; }
.csv-field input,
.csv-field select { min-height: 44px; max-width: 100%; }
.csv-label { color: var(--text); font-weight: 600; }
.csv-help { margin: 0; }
.csv-error { margin: 0; color: var(--danger); font-size: 13px; }
.csv-warning { margin: 0; padding: 8px 12px; border: 1px solid var(--warning); border-radius: var(--radius-sm); color: var(--text); background: var(--bg-3); }
.csv-confirm { padding: 12px; border: 2px solid var(--warning); border-radius: var(--radius-sm); background: var(--bg-3); color: var(--text); display: flex; flex-wrap: wrap; gap: 8px; }
.csv-confirm p { margin: 0; flex: 1 1 100%; }
.csv-confirm-title { font-weight: 700; }
.csv-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.csv-actions button { min-height: 44px; }
@media (max-width: 480px) { .csv-row { padding: 8px; } }
