/*
 * Tax Components / Groups admin pages.
 *
 * The components picker on the group editor is the headline element —
 * vertical stack of rows with the checkbox, code+name, and rate aligned
 * cleanly so the operator can scan tick-state and combined rate in one
 * glance.
 */

.txg-component-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bg-surface);
}

/* One picker row per component. Border collapsed to the parent via
   negative margins on siblings would be neater, but `:not(:last-child)`
   covers the same ground without dragging in a wrapper class. */
.txg-component-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  transition: background 100ms ease;
}
.txg-component-row:not(:last-child) {
  border-bottom: 1px solid var(--border-subtle);
}
.txg-component-row:hover {
  background: var(--bg-hover);
}

.txg-component-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.txg-component-meta .mono {
  font-size: 11px;
  color: var(--text-tertiary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.txg-component-meta > span:last-child {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.txg-component-rate {
  font-size: 12.5px;
  color: var(--text-secondary);
  font-weight: 600;
}

/* "Combined rate: 18.00%" — a quiet summary line under the picker. */
.txg-rate-total {
  margin-top: 8px;
  font-size: 11.5px;
  color: var(--text-tertiary);
  display: flex;
  align-items: center;
  gap: 6px;
}
.txg-rate-total-value {
  color: var(--text-primary);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

