.main { flex: 1; padding: 0 24px 80px; }
.main { padding-bottom: 0 !important; }
.main::after { content: ""; display: block; height: 8px; }

.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  margin-top: 8px;
}
.data-table thead th {
  position: sticky; top: var(--topbar-h); z-index: 5;
  text-align: left;
  padding: 10px var(--pad-x);
  font-family: var(--font-mono);
  font-size: 10.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--text-dim);
  background: var(--bg);
  border-bottom: 1px solid var(--border-strong);
  white-space: nowrap;
}
.data-table thead th.right,
.data-table thead th[style*="right"] { text-align: right; }
.data-table tbody td {
  padding: 0 var(--pad-x);
  height: var(--row-h);
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
  white-space: nowrap;
}

.row-clickable { cursor: pointer; transition: background 0.1s; }
.row-clickable:hover { background: var(--row-hover); }

.cell-primary { font-weight: 500; color: var(--text); }
.cell-muted   { color: var(--text-dim); }
.cell-mono    { font-family: var(--font-mono); font-size: 12px; }
.cell-mono.right  { text-align: right; }
.cell-mono.strong { color: var(--text); font-weight: 500; }
.cell-mono.muted  { color: var(--text-dim); }
.right { text-align: right; }
.cell-dept {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--text);
}

.row-actions { text-align: right; }
.row-actions .row-actions-inner { display: inline-flex; gap: 4px; }
.row-actions > * + * { margin-left: 4px; }

.lic-mark {
  width: 28px; height: 28px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 10px; font-weight: 600;
  color: var(--text-dim); letter-spacing: 0.02em;
}
.cycle-suffix { color: var(--text-faint); margin-left: 2px; }
.seat-tight   { color: var(--danger); font-weight: 600; }
.seat-total   { color: var(--text-faint); }

.empty {
  text-align: center; padding: 60px 20px;
  color: var(--text-dim); font-size: 13px;
}

/* Vendor grouping rows */
.vendor-row {
  cursor: pointer;
  background: var(--surface);
  transition: background 0.1s;
}
.vendor-row:hover { background: var(--surface-hover); }
.vendor-row td {
  border-bottom: 1px solid var(--border);
  font-weight: 500;
}
.vendor-mark {
  background: var(--accent-soft);
  color: var(--accent-text);
  border-color: transparent;
}
.vendor-name {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: var(--text);
}
.vendor-name svg { color: var(--text-dim); }
.vendor-count {
  margin-left: 4px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 400;
  color: var(--text-dim);
  padding: 1px 6px; border-radius: 10px;
  background: var(--bg); border: 1px solid var(--border);
}
.nested-row td:first-child + td .nested {
  display: inline-flex; align-items: center; gap: 10px;
  padding-left: 4px;
}
.nested-rail {
  display: inline-block; width: 10px; height: 1px;
  background: var(--border-strong);
}

/* Country badge */
.vendor-cell {
  display: inline-flex; align-items: center; gap: 8px;
}
.country-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 17px;
  padding: 0 5px;
  font-family: var(--font-mono);
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-dim);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 3px;
  text-transform: uppercase;
}
.vendor-name .country-badge {
  color: var(--accent-text);
  background: var(--accent-soft);
  border-color: transparent;
}

/* Tweaks panel z-index override */
.tweaks-panel-root, [data-tweaks-panel] { z-index: 200 !important; }