.cell-selectable-table { --cell-selection-fill: #343e69; --cell-selection-border: #8599ff; }
html[data-theme="light"] .cell-selectable-table { --cell-selection-fill: #dce6ff; --cell-selection-border: #4361ee; }
.cell-selectable-table td[data-select-row] { cursor: cell; }
.cell-selectable-table td[data-select-row] button,
.cell-selectable-table td[data-select-row] a { cursor: pointer; }
.cell-selectable-table td.cell-selected { background: var(--cell-selection-fill) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cell-selection-border) 35%, transparent); }
.cell-selectable-table td.cell-selection-focus { outline: 2px solid var(--cell-selection-border); outline-offset: -2px; }
.cell-selectable-table td[data-select-row]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.cell-selection-dragging, .cell-selection-dragging * { user-select: none; cursor: cell; }
.cell-selection-status {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 20px;
  position: sticky;
  bottom: 12px;
  z-index: 12;
  margin: 12px 18px;
  padding: 12px 16px;
  border: 1px solid var(--accent);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 4px 16px var(--shadow);
  font-size: 12px;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}
.cell-selection-status[hidden] { display: none; }
.cell-selection-heading, .cell-selection-statistics { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 22px; }
.cell-selection-heading { display: contents; }
.cell-selection-status:not([data-multiple-units="true"]) .cell-selection-statistics { display: contents; }
.cell-selection-status[data-multiple-units="true"] .cell-selection-statistics { flex-basis: 100%; }
.cell-selection-heading > span, .cell-selection-group-count { color: var(--muted); }
.cell-selection-clear { order: 1; margin-left: auto; padding: 0 2px; border: 0; background: transparent; color: var(--accent); font: inherit; text-decoration: underline; cursor: pointer; }
.cell-selection-clear:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.cell-selection-stat { white-space: nowrap; }
.cell-selection-stat > span { color: var(--muted); }
.cell-selection-unit { min-width: 25px; color: var(--muted); }
.cell-selection-statistics + .cell-selection-statistics { margin-top: 4px; }
.cell-selection-note { order: 2; flex-basis: 100%; margin: 0; color: var(--muted); font-size: 11px; }
@media (max-width: 640px) {
  .cell-selection-status { margin: 10px; padding: 10px 12px; bottom: 8px; font-size: 11px; }
  .cell-selection-heading, .cell-selection-statistics { gap: 5px 14px; }
}
