/* Balances — group balance list and member breakdown */

@layer components {
  /* ── Balance list ── */

  .balance-list {
    display: flex;
    flex-direction: column;
  }

  .balance-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--inline-space);
    padding: var(--block-space) var(--inline-space-l);
    border-top: 1px solid var(--color-border);
    color: var(--color-ink);
    text-decoration: none;

    &:hover {
      background: color-mix(in oklch, var(--color-accent) 5%, var(--color-surface));
    }
  }

  .balance-list__user {
    display: flex;
    align-items: center;
    gap: var(--inline-space);
    min-width: 0;
  }

  .balance-list__name {
    font-weight: 600;
  }

  .balance-list__amount {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;

    &--positive {
      color: oklch(0.55 0.15 145);
    }

    &--negative {
      color: oklch(0.55 0.2 25);
    }

    &--settled {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      color: oklch(0.55 0.15 145);
      font-weight: 600;
    }
  }

  .balance-list__check {
    width: 18px;
    height: 18px;
  }

  /* ── Balance breakdown ── */

  .balance-breakdown__summary {
    display: flex;
    gap: var(--inline-space-l);
    padding: var(--block-space-l) var(--inline-space-l);
    border-top: 1px solid var(--color-border);
  }

  .balance-breakdown__stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;

    &--net {
      border-inline-start: 1px solid var(--color-border);
      padding-inline-start: var(--inline-space-l);
    }
  }

  .balance-breakdown__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .balance-breakdown__value {
    font-size: 1.125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--color-ink);
  }
}
