/* M4: справочники */
.kv { display: grid; grid-template-columns: 150px 1fr; gap: 6px 12px; margin: 0 0 12px; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; }
.card-actions { display: flex; gap: 8px; align-items: center; }
.card-actions form { margin: 0; }
.form-stack { display: flex; flex-direction: column; gap: 12px; }
.form-stack + form { margin-top: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; align-items: end; }
.rule-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 12px; align-items: end; padding: 12px 0; border-top: 1px solid var(--border); }
.rule-title { grid-column: 1 / -1; }
.rule-actions { display: flex; gap: 8px; }
.row-actions { display: flex; gap: 6px; align-items: center; }
.row-actions form { margin: 0; }
.small { font-size: 12px; }
.mono { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }
.spaced { margin-top: 24px; }
.checklist-box { display: flex; flex-direction: column; gap: 6px; max-height: 220px; overflow: auto; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.swatch input { position: absolute; opacity: 0; }
.swatch span { display: block; width: 26px; height: 26px; border-radius: 50%; background: var(--c); border: 2px solid transparent; cursor: pointer; }
.swatch input:checked + span { border-color: var(--text); box-shadow: 0 0 0 2px var(--surface) inset; }
.swatch input:focus-visible + span { outline: 2px solid var(--primary); }
.secret-box code { font-size: 16px; padding: 2px 8px; background: var(--surface); border-radius: 6px; margin: 0 6px; }
.source-line { padding: 4px 0; }
@media (max-width: 800px) { .form-grid, .rule-row { grid-template-columns: 1fr; } }
[hidden] { display: none !important; }
