/* Kole UI Table 样式 — 对齐 components.css 与 table.json 契约 */
.kole-table { width: 100%; border: 1px solid var(--kole-color-border); border-radius: 8px; overflow: hidden; background: var(--kole-color-card-bg); position: relative; }
.kole-table table { width: 100%; border-collapse: collapse; font-size: 14px; color: var(--kole-color-text-body); }
.kole-table thead th {
  background: var(--kole-color-table-header-bg); color: var(--kole-color-text-body); font-weight: 600; height: 48px; text-align: start;
  padding: 0 16px; border-bottom: 1px solid var(--kole-color-border); white-space: nowrap;
}
.kole-table tbody td { height: 48px; padding: 0 16px; border-bottom: 1px solid var(--kole-color-border); text-align: start; }
.kole-table tbody tr:last-child td { border-bottom: none; }
.kole-table tbody tr:hover { background: var(--kole-color-page-bg); }
.kole-table tbody tr.is-selected { background: var(--kole-color-brand-bg); }
.kole-table .align-right { text-align: end; }
.kole-table .sortable { cursor: pointer; user-select: none; }
.kole-table .sort-ind { color: var(--kole-color-text-placeholder); margin-inline-start: 4px; }
.kole-table .sort-ind.active { color: var(--kole-color-brand); }
.kole-table .col-action { text-align: end; }
.kole-table .col-selection { text-align: center; }
.kole-table .checkbox { width: 16px; height: 16px; cursor: pointer; vertical-align: middle; }
.kole-table .empty { padding: 48px 16px; text-align: center; color: var(--kole-color-text-placeholder); font-size: 14px; }
.kole-table .loading-mask {
  position: absolute; inset: 0; background: rgba(255,255,255,0.7); display: flex;
  align-items: center; justify-content: center; z-index: 2;
}
.kole-table .spinner {
  width: 20px; height: 20px; border: 2px solid var(--kole-color-brand); border-top-color: transparent;
  border-radius: 50%; animation: kole-tbl-spin .6s linear infinite;
}
@keyframes kole-tbl-spin { to { transform: rotate(360deg); } }
