/* ── TABLE ───────────────────────────────────────── */
.tbl-wrap{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r5);box-shadow:var(--sh);overflow:hidden}
.tbl-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:1060px}
thead{position:sticky;top:0;z-index:2}
thead tr{background:var(--sf2)}
th{padding:11px 10px;font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.4px;text-align:left;white-space:nowrap;user-select:none}
th.sortable{cursor:pointer}
th.sortable:hover{color:var(--tx)}
th .sort-icon{margin-left:4px;opacity:.4;font-size:10px}
th.sort-asc .sort-icon,th.sort-desc .sort-icon{opacity:1;color:var(--brand)}
tbody tr{border-top:1px solid var(--bd2);cursor:pointer;transition:background var(--tr)}
tbody tr:hover{background:var(--sf2)}
td{padding:10px}
.td-first{padding-left:16px}
.td-last{padding-right:16px}
.tbl-empty{padding:52px;text-align:center;color:var(--tx3)}
.tbl-empty i{font-size:44px;margin-bottom:10px}
.tbl-empty h3{font-weight:700;color:var(--tx2);margin-bottom:4px}
.tbl-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.filter-sel{position:relative}
.filter-sel select{appearance:none;height:36px;padding:0 30px 0 12px;border:1px solid var(--bd);background:var(--sf);color:var(--tx);border-radius:var(--r3);font-size:12.5px;font-weight:600;cursor:pointer;outline:none;transition:border-color var(--tr)}
.filter-sel select:focus{border-color:var(--brand)}
.filter-sel i{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:12px;color:var(--tx3)}
.filter-active select{border-color:var(--brand);background:var(--brand-l);color:var(--brand-ink)}

/* Data table (variante usada em Cadastros) */
.data-table{width:100%;border-collapse:collapse;min-width:900px}
.data-table thead tr{background:var(--sf2)}
.data-table th{padding:10px 10px;font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.4px;text-align:left;white-space:nowrap;user-select:none;border-bottom:1px solid var(--bd)}
.data-table td{padding:9px 10px;border-bottom:1px solid var(--bd2);vertical-align:middle}
.sortable-th{cursor:pointer;transition:color var(--tr)}
.sortable-th:hover{color:var(--tx)}
.sortable-th.active{color:var(--brand)}
.trow{transition:background var(--tr)}
.trow:hover{background:var(--sf2)}
.trow-active{background:var(--brand-l)!important}
