/* State legislation (legislation.php) and nominations (nominations.php). Builds on newsroom-wire.css; tokens from the shared reader layer. */
.nr-sb-filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; }
.nr-sen-filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; }
.nr-sb-filters input {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--vf-rule-strong);
  background: var(--vf-surface);
  color: var(--vf-ink);
  font: inherit;
  font-size: .95rem;
}
.nr-sb-filters input:focus-visible { outline: 3px solid var(--nr-blue, var(--vf-blue)); outline-offset: 2px; }

.nr-sb-stats { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 22px; }
.nr-sb-stats p { margin: 0; }
.nr-sb-stats strong { font-size: 1.5rem; }

.nr-sb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nr-sb-card a {
  display: grid;
  gap: 4px;
  min-height: 44px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid var(--nr-line, var(--vf-rule));
  background: var(--nr-panel, var(--vf-surface));
  color: var(--vf-ink);
  text-decoration: none;
}
.nr-sb-card a:hover strong { text-decoration: underline; }
.nr-sb-card small, .nr-sb-list small { color: var(--nr-muted, var(--vf-ink-2)); }
.nr-sb-card.is-walled a { border-style: dashed; }

.nr-sb-count { margin: 0 0 14px; }
.nr-sb-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nr-line, var(--vf-rule)); }
.nr-sb-list a {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 4px 16px;
  padding: 14px 4px;
  border-bottom: 1px solid var(--nr-line, var(--vf-rule));
  color: var(--vf-ink);
  text-decoration: none;
}
.nr-sb-list a:hover .nr-sb-title { text-decoration: underline; }
.nr-sb-num { font-weight: 700; color: var(--nr-blue, var(--vf-blue-text)); overflow-wrap: anywhere; }
.nr-sb-list small { grid-column: 2; }
.nr-sb-history, .nr-sb-history-note { margin: -6px 4px 12px calc(7.5rem + 20px); font-size: .86rem; }
.nr-sb-history summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--nr-blue, var(--vf-blue-text)); }
.nr-sb-history ol { margin: 4px 0 8px; padding: 0; list-style: none; border-left: 2px solid var(--nr-line, var(--vf-rule)); }
.nr-sb-history li { padding: 4px 0 4px 12px; }
.nr-sb-history time { display: block; font-weight: 700; font-size: .78rem; color: var(--nr-muted, var(--vf-ink-2)); }
@media (max-width: 640px) { .nr-sb-history, .nr-sb-history-note { margin-left: 4px; } }
.nr-sb-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 20px; font-weight: 600; }
.nr-sb-pager a { color: var(--nr-blue, var(--vf-blue-text)); }

.nr-sb-bill { margin-bottom: 28px; padding: 18px; border: 1px solid var(--nr-line, var(--vf-rule)); background: var(--nr-panel, var(--vf-surface)); }
.nr-sb-bill dl { display: grid; gap: 10px; margin: 16px 0; }
.nr-sb-bill dl div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 12px; }
.nr-sb-bill dt { font-weight: 700; }
.nr-sb-bill dd { margin: 0; overflow-wrap: anywhere; }
.nr-sb-links { display: flex; flex-wrap: wrap; gap: 10px 22px; font-weight: 600; }

@media (max-width: 640px) {
  .nr-sb-filters, .nr-sen-filters { grid-template-columns: 1fr; }
  .nr-sb-list a { grid-template-columns: 1fr; }
  .nr-sb-list small { grid-column: 1; }
  .nr-sb-bill dl div { grid-template-columns: 1fr; gap: 2px; }
}
.nr-sv { margin: 0 0 28px; }
.nr-sv-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 12px; }
.nr-sv-roll { padding: 14px 16px; border: 1px solid var(--nr-line, var(--vf-rule)); background: var(--nr-panel, var(--vf-surface)); }
.nr-sv-roll p { margin: 0; overflow-wrap: anywhere; }
.nr-sv-meta { margin-top: 4px !important; color: var(--nr-muted, var(--vf-ink-soft)); font-size: .92rem; }
.nr-sv-roll details { margin-top: 10px; }
.nr-sv-roll details p { margin-top: 8px; }
.nr-sv-roll summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.nr-cm-unmatched { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 4px 16px; padding: 14px 4px; border-bottom: 1px solid var(--nr-line, var(--vf-rule)); color: var(--nr-muted, var(--vf-ink-2)); }
