/* NTIS data table — the workhorse of the internal surfaces: opaque sticky
   head, hairline rows, hover tint, tabular figures aligned to the inline end.
   Small screens scroll horizontally by default; opt into stacked rows with
   the --stack-mobile modifier (DataTable stack="mobile"). */
.ntis-table-wrap{width:100%;overflow-x:auto;background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}
.ntis-table-wrap--flush{border:0;border-radius:0;box-shadow:none;background:transparent}
.ntis-table{width:100%;border-collapse:collapse;font-family:var(--font-core);font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;color:var(--text-body)}
.ntis-table thead th{position:sticky;inset-block-start:0;z-index:1;padding:var(--space-3) var(--pad-cell-x);background:var(--surface-muted);border-block-end:var(--border-hairline) solid var(--border-subtle);text-align:start;font-size:var(--fs-caption);font-weight:var(--w-medium);color:var(--text-muted);white-space:nowrap}
.ntis-table th.ntis-table__num,.ntis-table td.ntis-table__num{text-align:end}
.ntis-table tbody td{padding:var(--pad-cell-y) var(--pad-cell-x);border-block-end:var(--border-hairline) solid var(--border-subtle);vertical-align:middle}
.ntis-table tbody tr:last-child td{border-block-end:0}
.ntis-table tbody tr{transition:background-color var(--dur-fast) var(--ease-standard)}
.ntis-table--hover tbody tr:hover,.ntis-table tbody tr.is-hover{background:var(--fill-hover)}
.ntis-table--clickable tbody tr{cursor:pointer}
.ntis-table tbody tr[aria-selected="true"],.ntis-table tbody tr[aria-selected="true"]:hover{background:var(--fill-selected)}
.ntis-table tbody tr:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--border-focus)}
.ntis-table--compact tbody td{padding-block:var(--space-3)}
.ntis-table--compact thead th{padding-block:var(--space-2)}
.ntis-table__primary{color:var(--text-strong);font-weight:var(--w-medium)}
.ntis-table__muted{color:var(--text-subtle);font-size:var(--fs-caption)}
.ntis-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-xs)}
.ntis-table__sort:hover,.ntis-table__sort[aria-pressed="true"]{color:var(--text-strong)}
.ntis-table__sort:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ntis-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}
.ntis-table__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--pad-cell-x);border-block-end:var(--border-hairline) solid var(--border-subtle)}
.ntis-table__title{margin:0;margin-inline-end:auto;font:var(--type-h4);color:var(--text-strong)}
.ntis-table__empty{padding:var(--space-11) var(--space-7);text-align:center;font:var(--type-body-sm);color:var(--text-muted)}
/* Severity edge — the ONE place a coloured inline-start border is allowed:
   severity has to be scannable down a forty-row list. */
.ntis-table__sev{border-inline-start:var(--border-heavy) solid transparent}
.ntis-table__sev--critical{border-inline-start-color:var(--sev-critical)}
.ntis-table__sev--high{border-inline-start-color:var(--sev-high)}
.ntis-table__sev--medium{border-inline-start-color:var(--sev-medium)}
.ntis-table__sev--low{border-inline-start-color:var(--sev-low)}
.ntis-table__sev--info{border-inline-start-color:var(--sev-info)}
/* Stacked rows (mobile) */
.ntis-table--stacked thead{display:none}
.ntis-table--stacked,.ntis-table--stacked tbody{display:block}
.ntis-table--stacked tbody tr{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--pad-cell-x);border-block-end:var(--border-hairline) solid var(--border-subtle)}
.ntis-table--stacked tbody tr:last-child{border-block-end:0}
.ntis-table--stacked tbody td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0;border:0;text-align:start}
.ntis-table--stacked tbody td[data-label]:not([data-label=""])::before{content:attr(data-label);flex:none;font-size:var(--fs-caption);font-weight:var(--w-regular);color:var(--text-subtle)}
.ntis-table--stacked tbody td.ntis-table__sev{border-inline-start:0}
.ntis-table--stacked tbody tr:has(.ntis-table__sev){border-inline-start:var(--border-heavy) solid transparent}
.ntis-table--stacked tbody tr:has(.ntis-table__sev--critical){border-inline-start-color:var(--sev-critical)}
.ntis-table--stacked tbody tr:has(.ntis-table__sev--high){border-inline-start-color:var(--sev-high)}
.ntis-table--stacked tbody tr:has(.ntis-table__sev--medium){border-inline-start-color:var(--sev-medium)}
.ntis-table--stacked tbody tr:has(.ntis-table__sev--low){border-inline-start-color:var(--sev-low)}
.ntis-table--stacked tbody tr:has(.ntis-table__sev--info){border-inline-start-color:var(--sev-info)}
@media (max-width:767px){
  :root:not([data-ntis-static]) .ntis-table--stack-mobile thead{display:none}
  :root:not([data-ntis-static]) .ntis-table--stack-mobile,:root:not([data-ntis-static]) .ntis-table--stack-mobile tbody{display:block}
  :root:not([data-ntis-static]) .ntis-table--stack-mobile tbody tr{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--pad-cell-x);border-block-end:var(--border-hairline) solid var(--border-subtle)}
  :root:not([data-ntis-static]) .ntis-table--stack-mobile tbody td{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0;border:0}
  :root:not([data-ntis-static]) .ntis-table--stack-mobile tbody td[data-label]:not([data-label=""])::before{content:attr(data-label);font-size:var(--fs-caption);color:var(--text-subtle)}
}
