/* ZeroEcho overview styles - loaded via --add-stylesheet */

/* Group header cells */
table.zecat {
  border-collapse: collapse;
}

table.zecat caption {
  background: #000000;
  color: #ffffff;
}

/* Group header cells */
table.zecat th {
  text-align: center;
  background: #dfdfdf;
  font-weight: 700;
}

table.zecat thead {
  border-bottom: 3px solid #555;
}

/* Make grouped subcolumns narrow and centered */
table.zecat th.vcol,
table.zecat td.narrow {
  text-align: center;
  background: #efefef;
  vertical-align: middle;
  width: 28px;          /* adjust as needed */
  min-width: 24px;
  padding: 2px 4px;
}

/* Vertical label inside subheader cells */
table.zecat th.vcol .vlabel {
  display: inline-block;
  padding: 4px 4px;
  writing-mode: vertical-rl;   /* preferred where supported */
  transform: rotate(180deg);   /* keep upright when vertical-rl flips glyphs */
  white-space: nowrap;
  line-height: 1;
}

/* Fallback for engines that ignore writing-mode */
@supports not (writing-mode: vertical-rl) {
  table.zecat th.vcol .vlabel {
    transform: rotate(-90deg);
    transform-origin: center center;
    display: inline-block;
  }
}

/* Keep checkmark cells tidy */
table.zecat td.zecenter {
  text-align: center;
}

/* Thin separator under each tbody row */
table.zecat tbody td {
  border-bottom: 1px solid #e0e0e0;
}

/*
 table.zecat tbody tr:last-child td { border-bottom: 0; }
*/

/* Thick vertical separators between major columns only */
table.zecat th.display-col,
table.zecat td.display-td {
  border-left: 1px solid #555;
}

table.zecat th.group {
  border-left: 1px solid #555;
}

table.zecat th.fam-first,
table.zecat td.fam-first-td {
  border-left: 1px solid #555;   /* between Display and Family group */
}

table.zecat th.usage-first,
table.zecat td.usage-first-td {
  border-left: 1px solid #555;   /* between Family and Key usage group */
}

table.zecat th.default-col,
table.zecat td.default-td {
  border-left: 1px solid #555;   /* between Key usage group and Default spec */
}

