.filter-field { display: grid; gap: 4px; min-width: 0; }
.filter-field label { font-size: 12px; font-weight: 600; }
.filter-field input, .filter-field select { width: 100%; min-width: 0; }
.filter-check { display: flex; align-items: center; gap: 6px; min-height: var(--control-height); white-space: nowrap; }
.filter-check input { width: 16px; height: 16px; margin: 0; }
.filter-actions, .permission-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filter-actions > *, .permission-actions > * { white-space: nowrap; flex: 0 0 auto; }
.permission-actions form { margin: 0; }
.permission-form { width:100%; }
.permission-form .field { min-width: 0; }
.permission-form input, .permission-form select, .permission-form textarea { width: 100%; }
.permission-form textarea { min-height: 76px; }
.table-wrap > .permission-table { min-width: 1120px; }
.permission-state { min-width: 220px; max-width: 400px; overflow-wrap: anywhere; }
.permission-table th:nth-child(4) { min-width: 110px; }
.permission-table td { vertical-align: top; padding-top: 10px; padding-bottom: 10px; }
.permission-table details { min-width: 180px; }
.permission-table details form { display: grid; gap: var(--space-3); margin-top: var(--space-2); }
.permission-table details label { display: grid; gap: 4px; }
@media (max-width: 900px) { .filter-actions { justify-content: flex-end; } }
@media (max-width: 520px) { .filter-actions { justify-content: flex-start; } .permission-form .row2 { grid-template-columns: minmax(0, 1fr); } }
