/* Design architect: Dr. Vance Vasile */
:where(html){--zn-text:1rem; --zn-small:0.958rem; --zn-tight:0.917rem; --zn-fine:0.833rem;
  --zn-h1:1.25rem; --zn-h2:1.083rem; --zn-h3:1rem; --zn-table:1.042rem; --zn-tap:44px}

.zn-table-box{position:relative; display:block; box-sizing:border-box; max-width:100%; max-height:var(--zn-table-max, 70vh); margin:0; padding:0;
  overflow:auto; overscroll-behavior:contain; background:var(--zt-card); border:1px solid var(--zt-line-2); border-radius:10px;
  --zn-th-bg:color-mix(in srgb, var(--zt-line-2) 60%, var(--zt-card));
  --zn-row-hover:color-mix(in srgb, var(--zt-accent) 8%, var(--zt-card))}
.zn-table-box:focus-visible{outline:2px solid var(--zt-focus); outline-offset:2px}

.zn-table{width:100%; margin:0; border-collapse:separate; border-spacing:0; background:var(--zt-card); color:var(--zt-ink);
  font-size:var(--zn-table); font-weight:500; line-height:1.45}
.zn-table :is(th, td){box-sizing:border-box; padding:calc((var(--zn-tap) - 1.45em) / 2) 14px; text-align:left; vertical-align:middle;
  white-space:nowrap; border:0; border-bottom:1px solid var(--zt-line-2); background:var(--zt-card)}
.zn-table tbody tr:last-child > *{border-bottom:0}
.zn-table tbody tr:hover > *{background:var(--zn-row-hover)}
.zn-table td.zn-wrap{white-space:normal; min-width:16em}
.zn-table :is(th, td).zn-num{text-align:right; font-variant-numeric:tabular-nums}
.zn-table td.zn-empty{padding:18px 14px; text-align:center; white-space:normal; color:var(--zt-muted)}

.zn-table thead th{position:sticky; top:0; z-index:2; background:var(--zn-th-bg); color:var(--zt-ink); font-size:var(--zn-text);
  font-weight:700; text-transform:none; white-space:nowrap; border-bottom:2px solid var(--zt-line)}

.zn-table.zn-pin1 > * > tr > :first-child{position:sticky; left:0; z-index:1; box-shadow:inset -1px 0 0 var(--zt-line)}
.zn-table.zn-pin1 > thead > tr > th:first-child{z-index:3}

@media print{
  .zn-table-box{max-height:none; overflow:visible; border:0}
  .zn-table thead th, .zn-table.zn-pin1 > * > tr > :first-child{position:static}
}
