.ch-fields { color: var(--text); font-size: var(--fs-base); }
.ch-fields .ch-fields-filter { display: grid; grid-template-columns: auto minmax(0,1fr) auto minmax(0,2fr); gap: var(--sp-2); align-items: center; }
.ch-fields .ch-fields-copy, .ch-fields .ch-fields-actions { display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; margin-block: var(--sp-2); }
.ch-fields .ch-fields-copy .ts-wrapper { flex: 1; min-width: 0; }
.ch-fields .ch-fields-actions { justify-content: flex-end; }
.ch-fields .ch-fields-grid { max-height: 48vh; overflow: auto; border: 1px solid var(--line); }
.ch-fields table { border-collapse: collapse; width: 100%; }
.ch-fields th, .ch-fields td { border-bottom: 1px solid var(--line); padding: var(--sp-1) var(--sp-2); text-align: left; }
.ch-fields td { text-align: center; }
.ch-fields thead { position: sticky; top: 0; background: var(--surface); z-index: 1; }
.ch-fields .ch-fields-group { background: var(--surface-2); }
.ch-fields input[type=checkbox] { accent-color: var(--brand); }
@media (max-width: 700px) { .ch-fields .ch-fields-filter { grid-template-columns: auto minmax(0,1fr); } }
.ch-policy-banner { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); padding: var(--sp-2); background: var(--brand-soft); color: var(--text); border: 1px solid var(--line); }
.ch-policy-banner[hidden], .ch-policy-outside[hidden] { display: none; }
.ch-policy-outside { margin-block: var(--sp-2); border: 1px solid var(--line); padding: var(--sp-2); background: var(--surface-soft); color: var(--text); }
.ch-policy-outside summary { cursor: pointer; font-weight: 600; }
.ch-policy-outside dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: var(--sp-1) var(--sp-2); }
.ch-policy-outside dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }

/* Component màn có thể đặt display riêng; marker chính sách luôn thắng khi ô bị ẩn. */
[data-ch-policy-hidden="1"], [data-ch-row-hidden="1"] { display: none !important; }
