.status-table {
  --st-ic-bg:      #fdf6e3;
  --st-ic-border:  #b7791f;
  --st-ic-text:    #6b460f;

  --st-cx-bg:      #f4ecf7;
  --st-cx-border:  #8e44ad;
  --st-cx-text:    #5b2c6f;

  --st-pvs-bg:     #e8f8f5;
  --st-pvs-border: #16a085;
  --st-pvs-text:   #0e6655;

  --st-pa-bg:      #fdf0e6;
  --st-pa-border:  #d35400;
  --st-pa-text:    #873600;

  --st-cr-bg:      #fce8ef;
  --st-cr-border:  #c2185b;
  --st-cr-text:    #7d0f3a;

  --st-pt-bg:      #f2ebe8;
  --st-pt-border:  #6d4c41;
  --st-pt-text:    #4a332b;

  --st-pve-bg:     #eaf2f8;
  --st-pve-border: #2980b9;
  --st-pve-text:   #1a5276;
}

/* ============================================================
   Base da tabela
   ============================================================ */

.status-table .status-row {
  cursor: pointer;
  user-select: none;
  transition: background-color var(--t-fast);
}

.status-table tbody tr td {
  background-color: transparent;
  transition: background-color var(--t-fast);
}

.status-table tbody tr td:first-child {
  padding-left: var(--sp-3);
  border-left: 4px solid transparent;
  transition: border-left-color var(--t-fast), padding-left var(--t-fast);
}

.status-table .status-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--c-accent);
}

.status-table .status-row:has(input:focus-visible) td {
  outline: 2px solid var(--c-accent);
  outline-offset: -2px;
}

.status-table .status-row input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 3px;
}

.status-table tbody tr:hover td {
  filter: brightness(.97);
}

/* ============================================================
   Cores por tipo
   ============================================================ */

.status-row[data-type="IC"] td           { background-color: var(--st-ic-bg); }
.status-row[data-type="IC"] td:first-child  { border-left-color: var(--st-ic-border);  color: var(--st-ic-text);  font-weight: var(--fw-semibold); }

.status-row[data-type="CX"] td           { background-color: var(--st-cx-bg); }
.status-row[data-type="CX"] td:first-child  { border-left-color: var(--st-cx-border);  color: var(--st-cx-text);  font-weight: var(--fw-semibold); }

.status-row[data-type="PVS"] td          { background-color: var(--st-pvs-bg); }
.status-row[data-type="PVS"] td:first-child { border-left-color: var(--st-pvs-border); color: var(--st-pvs-text); font-weight: var(--fw-semibold); }

.status-row[data-type="PA"] td           { background-color: var(--st-pa-bg); }
.status-row[data-type="PA"] td:first-child  { border-left-color: var(--st-pa-border);  color: var(--st-pa-text);  font-weight: var(--fw-semibold); }

.status-row[data-type="CR"] td           { background-color: var(--st-cr-bg); }
.status-row[data-type="CR"] td:first-child  { border-left-color: var(--st-cr-border);  color: var(--st-cr-text);  font-weight: var(--fw-semibold); }

.status-row[data-type="PT"] td           { background-color: var(--st-pt-bg); }
.status-row[data-type="PT"] td:first-child  { border-left-color: var(--st-pt-border);  color: var(--st-pt-text);  font-weight: var(--fw-semibold); }

.status-row[data-type="PVE"] td          { background-color: var(--st-pve-bg); }
.status-row[data-type="PVE"] td:first-child { border-left-color: var(--st-pve-border); color: var(--st-pve-text); font-weight: var(--fw-semibold); }

/* ============================================================
   Seleção
   ============================================================ */

.status-table .status-row.row-selected td {
  background-image: linear-gradient(rgba(0, 0, 0, .10), rgba(0, 0, 0, .10));
  font-weight: var(--fw-semibold);
}

.status-table .status-row.row-selected td:first-child {
  padding-left: var(--sp-2);
  border-left-width: 6px;
}

.status-table .status-row.row-selected {
  outline: 1px solid var(--c-accent);
  outline-offset: -1px;
}

/* ============================================================
   Barra de seleção
   ============================================================ */

.selection-bar {
  min-height: 20px;
  margin-bottom: var(--sp-2);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.selection-counter {
  font-size: var(--fs-sm);
  font-weight: var(--fw-normal);
  color: var(--c-text-muted);
}

/* ============================================================
   Acessibilidade
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .status-table .status-row,
  .status-table tbody tr td,
  .status-table tbody tr td:first-child {
    transition: none;
  }
}

@media (forced-colors: active) {
  .status-table tbody tr td {
    background-color: Canvas !important;
    color: CanvasText;
    border-color: CanvasText;
  }

  .status-row[data-type] td:first-child {
    border-left: 4px solid CanvasText;
  }

  .status-row[data-type="IC"]  td:first-child { border-left-style: solid;  border-left-width: 4px; }
  .status-row[data-type="CX"]  td:first-child { border-left-style: dashed; border-left-width: 4px; }
  .status-row[data-type="PVS"] td:first-child { border-left-style: dotted; border-left-width: 4px; }
  .status-row[data-type="PA"]  td:first-child { border-left-style: double; border-left-width: 4px; }
  .status-row[data-type="CR"]  td:first-child { border-left-style: solid;  border-left-width: 7px; }
  .status-row[data-type="PT"]  td:first-child { border-left-style: dashed; border-left-width: 7px; }
  .status-row[data-type="PVE"] td:first-child { border-left-style: dotted; border-left-width: 7px; }

  .status-table .status-row.row-selected td {
    background-image: none;
    border: 2px solid Highlight;
  }

  .selection-counter { color: CanvasText; }
}

/* ============================================================
   Responsivo
   ============================================================ */

@media (max-width: 768px) {
  .status-table tbody tr td:first-child { padding-left: var(--sp-2); }

  .status-table .status-row.row-selected td:first-child { padding-left: 6px; }

  .status-table .status-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
  }

  .selection-bar { flex-wrap: wrap; }
}