/* roster page styles, lifted out of roster.html */
  table.roster {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    /* every department table lines up on the same grid, top to bottom,
       instead of each one sizing itself to its own longest name */
    table-layout: fixed;
  }
  table.roster th, table.roster td {
    border: 1px solid var(--ink-soft);
    padding: 7px 10px;
    text-align: left;
    overflow-wrap: anywhere;
  }
  table.roster th:nth-child(1), table.roster td:nth-child(1) { width: 20%; }
  table.roster th:nth-child(2), table.roster td:nth-child(2) { width: 40%; }
  table.roster th:nth-child(3), table.roster td:nth-child(3) { width: 13%; }
  table.roster th:nth-child(4), table.roster td:nth-child(4) { width: 13%; }
  table.roster th:nth-child(5), table.roster td:nth-child(5) { width: 14%; }
  table.roster th {
    background: var(--paper-dark);
    font-family: Georgia, serif;
    letter-spacing: 1px;
    font-size: 12.5px;
    text-transform: uppercase;
  }
  table.roster td.mono { font-family: 'Courier New', monospace; }
  .status {
    font-size: 10.5px;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 2px 9px;
    border-radius: 10px;
  }
  .status.active { background: var(--avocado); color: var(--cream); }
  .status.vacant { background: var(--paper-dark); color: var(--ink-soft); border: 1px dashed var(--ink-soft); }
  tr.vacantrow td { color: var(--ink-soft); }
  .summary {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 18px;
  }
  .sumbox {
    background: var(--cream);
    border: 2px solid var(--brown);
    border-radius: 8px;
    padding: 12px 18px;
    text-align: center;
    flex: 1 1 140px;
  }
  .sumbox b {
    display: block;
    font-family: 'Cooper Black', Georgia, serif;
    font-size: 26px;
    color: var(--rust);
  }
  .sumbox span { font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-soft); }
  @media (max-width: 700px) {
    table.roster .hidesm { display: none; }
  }
