.list-hero {
    background: linear-gradient(180deg, var(--ink-50) 0%, var(--paper) 100%);
    border-bottom: 1px solid var(--ink-200);
    padding: var(--sp-8) 0 var(--sp-5);
  }
  .list-hero h1 {
    margin: 0 0 var(--sp-1);
    display: flex;
    align-items: center;
    gap: var(--sp-3);
  }
  .list-hero h1 i { color: var(--civic-blue); }
  .list-hero p { color: var(--ink-600); margin: 0; }
  .list-hero .total {
    font-family: var(--font-mono);
    color: var(--ink-500);
    font-size: var(--fs-sm);
  }

  /* Filter chip row */
  .list-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: var(--sp-3);
  }
  .list-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: var(--r-pill);
    border: 1px solid var(--ink-300);
    background: var(--paper);
    color: var(--ink-700);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-decoration: none;
    transition: all var(--t-fast) var(--ease);
  }
  .list-chip:hover { background: var(--ink-100); color: var(--ink-900); text-decoration: none; }
  .list-chip.active { background: var(--ink-900); color: var(--paper); border-color: var(--ink-900); }
  .list-chip.active-d { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }
  .list-chip.active-r { background: #b91c1c; color: #fff; border-color: #b91c1c; }
  .list-chip.active-i { background: #7c3aed; color: #fff; border-color: #7c3aed; }

  /* Bill row */
  .bill-row {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: var(--sp-3);
    align-items: center;
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--ink-100);
    text-decoration: none;
    color: inherit;
    transition: background var(--t-fast) var(--ease);
  }
  .bill-row:hover { background: var(--ink-50); text-decoration: none; color: inherit; }
  .bill-row code {
    font-family: var(--font-mono);
    background: var(--ink-100);
    color: var(--ink-700);
    padding: 2px 8px;
    border-radius: var(--r-sm);
    font-size: 0.8rem;
  }
  .bill-row .title {
    font-weight: 600;
    color: var(--ink-900);
  }
  .bill-row .meta {
    font-size: var(--fs-xs);
    color: var(--ink-500);
    margin-top: 2px;
  }

  /* Vote row */
  .vote-row {
    display: grid;
    grid-template-columns: 90px 1fr auto auto;
    gap: var(--sp-3);
    align-items: center;
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--ink-100);
    text-decoration: none;
    color: inherit;
  }
  .vote-row:hover { background: var(--ink-50); text-decoration: none; color: inherit; }
  .vote-row .date strong { color: var(--ink-900); display: block; }
  .vote-row .date span { color: var(--ink-500); font-size: var(--fs-xs); }
  .vote-row .tally {
    font-family: var(--font-display);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    font-size: var(--fs-md);
    color: var(--ink-900);
  }

  /* Hearing row */
  .hearing-row {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: var(--sp-3);
    align-items: flex-start;
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--ink-100);
  }
  .hearing-row .date {
    text-align: center;
    background: var(--ink-50);
    border: 1px solid var(--ink-200);
    border-radius: var(--r-md);
    padding: 6px;
    line-height: 1.3;
  }
  .hearing-row .date strong { font-family: var(--font-display); display: block; color: var(--ink-900); }
  .hearing-row .date span { font-size: 0.7rem; color: var(--ink-500); }
  .hearing-row .title { font-weight: 600; color: var(--ink-900); margin-bottom: 4px; }
  .hearing-row .meta {
    font-size: var(--fs-xs);
    color: var(--ink-500);
    display: flex; gap: var(--sp-2); flex-wrap: wrap;
  }
